Say why a brush cannot paint; paint at the layer's own resolution; Cancel and Apply only when an edit waits, scaled layers' scale (13.11)
This commit is contained in:
1 parent
51e373af4c
commit
cc9bf95722
24 files changed
+820
-129
No files matched your search
@@ -196,8 +196,7 @@ void EditorSession::beginWarp(QPointF point)
|
||||
{
|
||||
const std::optional<ImageLayer> layer = activeLayer();
|
||||
if (!canPaint() || m_isMaskSelected || !layer || !layer->asset || !m_document) {
|
||||
if (m_isMaskSelected)
|
||||
setBrushError(QStringLiteral("Smudge and Liquify work on a layer's pixels, not its mask."));
|
||||
setBrushError(m_isMaskSelected ? std::optional(QStringLiteral("Smudge and Liquify work on a layer's pixels, not its mask.")) : paintRefusal());
|
||||
return;
|
||||
}
|
||||
finishOpacityEdit();
|
||||
@@ -235,7 +234,7 @@ void EditorSession::finishWarp()
|
||||
settings.hardness = 1;
|
||||
settings.opacity = 1;
|
||||
const std::unique_ptr<BrushStroke> stroke = makeRasterEdit(current, settings);
|
||||
stroke->clone = BrushStroke::Clone{warp->image(), QSizeF(0, 0)};
|
||||
stroke->clone = BrushStroke::Clone{warp->image(), QRectF(QPointF(0, 0), warp->image().size()), false};
|
||||
stroke->replacesWithClone = true;
|
||||
stroke->editName = rawValue(warp->mode);
|
||||
for (const QPointF step : warp->points())
|
||||
|
||||
Reference in new issue
Block a user