OmaPhoto 1.0.0: the Linux port of Compositor
Release / deb (push) Canceled after 0s
Release / rpm (push) Canceled after 0s
Release / arch (push) Canceled after 0s
Release / publish (push) Canceled after 0s

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:
雷电芽衣andClaude committed 2026-09-26 00:44:52 -04:00
commit c864304695
564 files changed
+100804

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
// Swift's ShapeTool extension: shapes dragged out as new layers.
public:
// Pixels one shape layer may hold, an import's budget.
static constexpr qint64 maxShapePixels = 100'000'000;
ShapeKind shapeKind() const { return m_shapeKind; }
void setShapeKind(ShapeKind kind);
// A rectangle's corner radius, in pixels; 0 keeps corners square.
double shapeCornerRadius() const { return m_shapeCornerRadius; }
void setShapeCornerRadius(double radius);
// A line's thickness, in document pixels.
double shapeLineWidth() const { return m_shapeLineWidth; }
void setShapeLineWidth(double width);
const std::optional<ShapeDraft> &shapeDraft() const { return m_shapeDraft; }
void beginShape(QPointF point);
// The line being dragged, from its start to the pointer.
std::optional<std::pair<QPointF, QPointF>> shapeLineEnds() const;
// Shift squares or snaps a line; Alt grows from centre.
void dragShape(QPointF point, bool square, bool fromCenter);
void cancelShape();
// Shift-U and Tab: Rectangle, Ellipse, Line.
void toggleShapeKind();
// The draft becomes a layer above the active one.
void finishShape();
// "Rectangle 1", "Ellipse 2", skipping names already used.
QString nextShapeName(ShapeKind kind) const;
// A resized shape layer draws its shape again.
void redrawShape(int index);
// A rounded rectangle at its dragged size, 2048 at most.
QImage shapeTransformPreview(const ImageLayer &layer, const LayerTransform &transform) const;
static QImage shapeImage(ShapeKind kind, QSizeF size, const PaletteColor &color, double cornerRadius = 0, double lineWidth = 0,
std::optional<QPointF> start = std::nullopt, std::optional<QPointF> end = std::nullopt);