12.2a: folders duplicate with their contents, folder opacity, format version 8, View > Snap (Compositor 1.1.5–1.1.6)

This commit is contained in:
雷电芽衣 committed 2026-09-26 18:17:14 -04:00
1 parent ee34c338d4
commit f1b2c65c1e
52 files changed
+909 -239

No files matched your search

+2 -2
View File
@@ -75,7 +75,7 @@ try {
const std::optional<LayerMask> mask = snapshot.mask(layer);
const std::optional<QImage> shown =
mask ? mask->clipImage(mask->placement, layer.transform, pixels.width(), pixels.height()) : std::nullopt;
const double opacity = layer.opacity.value_or(1);
const double opacity = layer.effectiveOpacity(records);
const LayerBlendMode mode = layer.blendMode.value_or(LayerBlendMode::normal);
// With effects the mask is in their image already.
if (const auto effects = LayerEffectsRenderer::cached(pixels, shown, layer.effects)) {
@@ -87,7 +87,7 @@ try {
{.opacity = opacity, .blendMode = mode, .mask = shown.value_or(QImage()), .clip = clip});
});
live.adjustment = [&](QUuid id) { return records.contains(id) ? records.at(id).adjustment : std::nullopt; };
live.adjustmentOpacity = [&](QUuid id) { return records.at(id).opacity.value_or(1); };
live.adjustmentOpacity = [&](QUuid id) { return records.at(id).effectiveOpacity(records); };
live.adjustmentClip = [&](QUuid id, const QPainter &context, QImage &coverage) {
const ProjectLayerRecord &layer = records.at(id);
const std::optional<LayerMask> mask = snapshot.mask(layer);