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>
24 lines
639 B
C++
24 lines
639 B
C++
#pragma once
|
|
#include "Document/EditorSession+Model.h"
|
|
#include "Document/LayerTransform.h"
|
|
#include <QImage>
|
|
|
|
// Ctrl+T with a selection: the pixels float, then merge back.
|
|
struct FloatingTransform {
|
|
QUuid sourceID;
|
|
CanvasDocument before;
|
|
std::optional<QUuid> beforeActive;
|
|
LayerTransform original;
|
|
QSizeF pixelSize;
|
|
};
|
|
|
|
// Floating pixels drawn back onto their layer, grown as needed.
|
|
namespace FloatingMerge {
|
|
struct Merged {
|
|
ImportedImage asset;
|
|
LayerTransform transform;
|
|
std::optional<LayerMask> mask;
|
|
};
|
|
Merged merge(const QImage &pixels, const LayerTransform &transform, const ImageLayer &source);
|
|
}
|