Photoshop's remaining blend modes in its groups (12.7a); v1.2.2 kernels for 12.7b

This commit is contained in:
雷电芽衣 committed 2026-09-27 12:50:33 -04:00
1 parent 29eab10edc
commit 7d47cc367a
26 files changed
+348 -56

No files matched your search

+5 -4
View File
@@ -287,8 +287,9 @@ void LayerAppearanceTests::theBlendModeCyclesBothWaysAndWraps()
const QUuid below = session.activeLayerID().value();
session.insert(asset(0.8));
const int count = session.history.undoCount();
// Photoshop's order: the first darkening mode follows Normal.
session.cycleBlendMode(true);
QCOMPARE(session.activeLayer().value().blendMode, LayerBlendMode::multiply);
QCOMPARE(session.activeLayer().value().blendMode, LayerBlendMode::darken);
// The mode is the active layer's alone.
QCOMPARE(layerWith(session, below).blendMode, LayerBlendMode::normal);
session.cycleBlendMode(false);
@@ -302,7 +303,7 @@ void LayerAppearanceTests::theBlendModeCyclesBothWaysAndWraps()
session.setLayerBlendMode(LayerBlendMode::screen);
session.previewBlendMode(LayerBlendMode::hue, top);
session.cycleBlendMode(true);
QCOMPARE(session.activeLayer().value().blendMode, LayerBlendMode::overlay);
QCOMPARE(session.activeLayer().value().blendMode, LayerBlendMode::colorDodge);
QVERIFY(!session.blendPreview().has_value());
// A refused cycle leaves a preview where it was.
session.previewBlendMode(LayerBlendMode::hue, top);
@@ -311,8 +312,8 @@ void LayerAppearanceTests::theBlendModeCyclesBothWaysAndWraps()
session.cycleBlendMode(true);
QCOMPARE(session.blendPreview(), std::optional(EditorSession::BlendPreview{top, LayerBlendMode::hue}));
QCOMPARE(int(changes.count()), 0);
QCOMPARE(session.activeLayer().value().blendMode, LayerBlendMode::overlay);
QCOMPARE(int(allLayerBlendModes.size()), 14);
QCOMPARE(session.activeLayer().value().blendMode, LayerBlendMode::colorDodge);
QCOMPARE(int(allLayerBlendModes.size()), 24);
for (size_t index = 0; index < allLayerBlendModes.size(); ++index)
QCOMPARE(int(allLayerBlendModes[index]), int(index));
}