Files
OmaPhoto/src/Document/SelectionEdits+Session.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

24 lines
1.1 KiB
C++

// Swift's SelectionEdits extension: fills, clears, moves and inverts.
public:
// The outline the canvas draws.
std::optional<DocumentSelection> displayedSelection() const;
enum class FillSource { foreground, background };
bool canEditPixels() const;
void fillSelection(FillSource source, std::function<void()> done = {});
void clearSelectedPixels(std::function<void()> done = {});
void deleteKeyPressed();
// Swift's PixelMove: Ctrl-drag and Ctrl-arrow move selected pixels.
bool beginPixelMove(bool duplicate = false);
void movePixels(QSizeF offset);
void finishPixelMove(std::function<void()> done = {});
void cancelPixelMove();
void nudgePixels(double dx, double dy, std::function<void()> done = {});
void deleteLayerOrMask();
bool canInvert() const;
// Off the UI thread; `done` follows the step or refusal.
void invertPixels(std::function<void()> done = {});
private:
void finishInvert();
void applyPixelEdit(const ImageLayer &layer, const QString &name, const std::function<void(BrushStroke &)> &paint, std::function<void()> done);