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>
This commit is contained in:
commit
c864304695
564 files changed
+100804
No files matched your search
@@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
#include "Document/ShapeTool.h"
|
||||
#include "UI/ToolHeaderStyle.h"
|
||||
#include <array>
|
||||
|
||||
class EditorSession;
|
||||
class QButtonGroup;
|
||||
class QSlider;
|
||||
class QToolButton;
|
||||
class SelectionAmountField;
|
||||
class SwatchButton;
|
||||
|
||||
// Swift's ShapeControls: the kind, a line's width, a rectangle's radius.
|
||||
class ShapeControls : public ToolHeaderBar {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ShapeControls(EditorSession &session, QWidget *parent = nullptr);
|
||||
|
||||
private:
|
||||
QToolButton *kind(ShapeKind value);
|
||||
// A label, slider, field and "px", as Swift's HStack.
|
||||
QWidget *amount(const QString &name, QSlider *slider, SelectionAmountField *field);
|
||||
void synchronize();
|
||||
|
||||
EditorSession &m_session;
|
||||
QButtonGroup *const m_kinds;
|
||||
const std::array<QToolButton *, 3> m_kindButtons;
|
||||
QSlider *const m_widthSlider;
|
||||
SelectionAmountField *const m_widthField;
|
||||
QWidget *const m_width;
|
||||
QSlider *const m_radiusSlider;
|
||||
SelectionAmountField *const m_radiusField;
|
||||
QWidget *const m_radius;
|
||||
// Shapes fill with the foreground colour.
|
||||
SwatchButton *const m_fill;
|
||||
};
|
||||
Reference in new issue
Block a user