Files
OmaPhoto/src/UI/GradientControls.h
T
雷电芽衣andClaude c864304695
Release / deb (push) Canceled after 0s
Release / rpm (push) Canceled after 0s
Release / arch (push) Canceled after 0s
Release / publish (push) Canceled after 0s
OmaPhoto 1.0.0: the Linux port of Compositor
A layered image editor for Linux and Omarchy, ported from Compositor
(github.com/robbietilton/Compositor), whose Swift source is its
specification. It reads and writes Compositor's .comp projects.

Packages for Ubuntu, Fedora and Arch come from the release workflow;
scripts/install/ holds one install script per distribution family,
and flake.nix serves NixOS.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-26 00:44:52 -04:00

50 lines
1.3 KiB
C++

#pragma once
#include "UI/ToolHeaderStyle.h"
#include <functional>
class EditorSession;
class QButtonGroup;
class QCheckBox;
class QComboBox;
class QPushButton;
class QSlider;
class QToolButton;
class SelectionAmountField;
// Swift's gradient swatch: the colours over a checkerboard.
class GradientSwatch : public QWidget {
public:
GradientSwatch(const EditorSession &session, QWidget *parent);
protected:
void paintEvent(QPaintEvent *event) override;
private:
const EditorSession &m_session;
};
// Swift's GradientControls: shape, colours, reverse, opacity, apply.
class GradientControls : public ToolHeaderBar {
Q_OBJECT
public:
explicit GradientControls(EditorSession &session, QWidget *parent = nullptr);
private:
QToolButton *shape(const QString &name, const QString &text, bool radial);
void synchronize();
EditorSession &m_session;
QButtonGroup *const m_shapes;
QToolButton *const m_linear;
QToolButton *const m_radial;
GradientSwatch *const m_swatch;
QComboBox *const m_style;
QCheckBox *const m_reverse;
// The slider steps in thousandths, the field in whole percents.
QSlider *const m_opacitySlider;
SelectionAmountField *const m_opacity;
QLabel *const m_mask;
QPushButton *const m_cancel;
QPushButton *const m_apply;
};