From 840d36f1d3126d8146164e347c9b5d16ad5d4ad3 Mon Sep 17 00:00:00 2001 From: Mario Kaurin Date: Wed, 20 Sep 2023 15:27:59 +0200 Subject: [PATCH] PAINTROID-396 Multiline tool with movable intermediate points CR --- .../paintroid/presenter/MainActivityPresenter.kt | 2 ++ .../paintroid/tools/implementation/DynamicLineTool.kt | 9 +++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Paintroid/src/main/java/org/catrobat/paintroid/presenter/MainActivityPresenter.kt b/Paintroid/src/main/java/org/catrobat/paintroid/presenter/MainActivityPresenter.kt index 49f68e9d24..15697a96b7 100644 --- a/Paintroid/src/main/java/org/catrobat/paintroid/presenter/MainActivityPresenter.kt +++ b/Paintroid/src/main/java/org/catrobat/paintroid/presenter/MainActivityPresenter.kt @@ -600,6 +600,8 @@ open class MainActivityPresenter( idlingResource.increment() if (view.isKeyboardShown) { view.hideKeyboard() + } else if (toolController.currentTool is DynamicLineTool) { + commandManager.undo() } else { if (commandManager.isLastColorCommandOnTop() || commandManager.getColorCommandCount() == 0) { toolController.currentTool?.changePaintColor(Color.BLACK) diff --git a/Paintroid/src/main/java/org/catrobat/paintroid/tools/implementation/DynamicLineTool.kt b/Paintroid/src/main/java/org/catrobat/paintroid/tools/implementation/DynamicLineTool.kt index 877dac3c12..b88eecda42 100644 --- a/Paintroid/src/main/java/org/catrobat/paintroid/tools/implementation/DynamicLineTool.kt +++ b/Paintroid/src/main/java/org/catrobat/paintroid/tools/implementation/DynamicLineTool.kt @@ -5,6 +5,7 @@ import android.graphics.Color import android.graphics.Paint import android.graphics.PointF import android.view.View +import androidx.annotation.ColorInt import androidx.test.espresso.idling.CountingIdlingResource import org.catrobat.paintroid.command.CommandManager import org.catrobat.paintroid.command.implementation.DynamicPathCommand @@ -142,7 +143,7 @@ class DynamicLineTool( } fun setToolPaint(command: DynamicPathCommand) { - super.changePaintColor(command.paint.color) + super.changePaintColor(command.paint.color, false) super.changePaintStrokeCap(command.paint.strokeCap) super.changePaintStrokeWidth(command.paint.strokeWidth.toInt()) } @@ -324,8 +325,8 @@ class DynamicLineTool( } } - override fun changePaintColor(color: Int) { - super.changePaintColor(color) + override fun changePaintColor(@ColorInt color: Int, invalidate: Boolean) { + super.changePaintColor(color, false) if (vertexStack.isEmpty()) return vertexStack.last.ingoingPathCommand?.setPaintColor(toolPaint.color) commandManager.executeAllCommands() @@ -417,7 +418,7 @@ class DynamicLineTool( paint.run { style = Paint.Style.FILL color = originalPaint.color - alpha = 128 + alpha = GHOST_PAINT_ALPHA strokeWidth = originalPaint.strokeWidth strokeCap = originalPaint.strokeCap }