Files
OmaPhoto/src/Document/LayerEffects+Renderer.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

22 lines
894 B
C++

#pragma once
#include "Document/LayerEffects.h"
#include "Document/LayerTransform.h"
#include <QImage>
#include <optional>
// Swift's LayerEffectsRenderer: a layer with its effects round it.
namespace LayerEffectsRenderer {
// Swift's tuple: the grown image, the room round the pixels.
struct Rendered {
QImage image;
double inset;
};
// Reused for the same pixels, mask and effects; eight kept.
std::optional<Rendered> cached(const QImage &image, const std::optional<QImage> &mask, const std::optional<LayerEffects> &effects);
// The transform grown by the margin, the image in place.
LayerTransform placed(const LayerTransform &transform, const QImage &image, double inset);
double margin(const LayerEffects &effects);
// `mask` hides pixels first, so effects follow what shows.
Rendered render(const QImage &image, const std::optional<QImage> &mask, const LayerEffects &effects);
}