Skip to content

Commit 9daa735

Browse files
committed
PAINTROID-396 Multiline tool with movable intermediate points
fix redo clearing after moving line
1 parent e7718af commit 9daa735

File tree

2 files changed

+17
-18
lines changed

2 files changed

+17
-18
lines changed

Paintroid/src/androidTest/java/org/catrobat/paintroid/test/espresso/tools/DynamicLineToolIntegrationTest.kt

+10-11
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ class DynamicLineToolIntegrationTest {
6868

6969
private val IMAGE_NAME = "fileName"
7070
private val colorStringIndex0 = "#FF0074CD"
71+
private val colorStringIndex1 = "#FF00B4F1"
7172
private val colorStringIndex2 = "#FF078707"
7273
private val colorStringBlack = "#FF000000"
7374
private val colorStringTransparent = "#00000000"
@@ -389,7 +390,7 @@ class DynamicLineToolIntegrationTest {
389390
}
390391

391392
@Test
392-
fun testColorChangesAndQuittingConnectedLineMode() {
393+
fun testColorChangesChangeLineColor() {
393394
ToolPropertiesInteraction.onToolProperties().setColor(Color.BLACK)
394395
touchAt(DrawingSurfaceLocationProvider.HALFWAY_LEFT_MIDDLE)
395396
touchAt(DrawingSurfaceLocationProvider.HALFWAY_RIGHT_MIDDLE)
@@ -399,26 +400,24 @@ class DynamicLineToolIntegrationTest {
399400
touchAt(DrawingSurfaceLocationProvider.HALFWAY_BOTTOM_RIGHT)
400401

401402
TestUtils.selectColorInDialog(0)
402-
403403
checkPixelColor(colorStringIndex0, BitmapLocationProvider.HALFWAY_BOTTOM_RIGHT)
404404

405405
TestUtils.selectColorInDialog(1)
406-
TestUtils.selectColorInDialog(2)
406+
checkPixelColor(colorStringIndex1, BitmapLocationProvider.HALFWAY_BOTTOM_RIGHT)
407407

408+
TestUtils.selectColorInDialog(2)
408409
checkPixelColor(colorStringIndex2, BitmapLocationProvider.HALFWAY_BOTTOM_RIGHT)
409410

410-
TopBarViewInteraction.onTopBarView().performUndo()
411411
TopBarViewInteraction.onTopBarView().performUndo()
412412

413-
checkPixelColor(colorStringIndex0, BitmapLocationProvider.HALFWAY_BOTTOM_RIGHT)
414-
415-
touchAt(DrawingSurfaceLocationProvider.HALFWAY_BOTTOM_LEFT)
416-
checkPixelColor(colorStringIndex0, BitmapLocationProvider.HALFWAY_BOTTOM_LEFT)
413+
TestUtils.selectColorInDialog(0)
414+
checkPixelColor(colorStringIndex0, BitmapLocationProvider.HALFWAY_RIGHT_MIDDLE)
417415

418-
touchAt(DrawingSurfaceLocationProvider.HALFWAY_BOTTOM_RIGHT)
419-
checkPixelColor(colorStringIndex0, BitmapLocationProvider.HALFWAY_BOTTOM_RIGHT)
416+
TestUtils.selectColorInDialog(1)
417+
checkPixelColor(colorStringIndex1, BitmapLocationProvider.HALFWAY_RIGHT_MIDDLE)
420418

421-
TopBarViewInteraction.onTopBarView().performClickCheckmark()
419+
TestUtils.selectColorInDialog(2)
420+
checkPixelColor(colorStringIndex2, BitmapLocationProvider.HALFWAY_RIGHT_MIDDLE)
422421
}
423422

424423
@Test

Paintroid/src/main/java/org/catrobat/paintroid/tools/implementation/DynamicLineTool.kt

+7-7
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,6 @@ class DynamicLineTool(
187187
addNewPath = false
188188
return true
189189
}
190-
clearRedoIfPathWasAdjusted()
191190
return true
192191
}
193192

@@ -204,19 +203,19 @@ class DynamicLineTool(
204203

205204
override fun handleMove(coordinate: PointF?): Boolean {
206205
coordinate ?: return false
207-
updateMovingGhostVertices(coordinate)
208-
clearRedoIfPathWasAdjusted()
209206
hideToolOptions()
210207
super.handleMove(coordinate)
208+
updateMovingGhostVertices(coordinate)
209+
clearRedoIfPathWasAdjusted()
211210
return true
212211
}
213212

214213
override fun handleUp(coordinate: PointF?): Boolean {
215214
coordinate ?: return false
216-
super.handleUp(coordinate)
217215
showToolOptions()
216+
super.handleUp(coordinate)
218217
updateMovingVertices(coordinate)
219-
commandManager.executeAllCommands()
218+
clearRedoIfPathWasAdjusted()
220219
resetGhostPathCoordinates()
221220
showPlusButton()
222221
return true
@@ -318,6 +317,7 @@ class DynamicLineTool(
318317
var endPoint = successorVertex?.vertexCenter?.let { center -> copyPointF(center) }
319318
updatePathCommand(startPoint, endPoint, movingVertex?.outgoingPathCommand)
320319
}
320+
commandManager.executeAllCommands()
321321
}
322322
}
323323

@@ -368,7 +368,7 @@ class DynamicLineTool(
368368
}
369369
}
370370

371-
fun hideToolOptions() {
371+
private fun hideToolOptions() {
372372
if (toolOptionsViewController.isVisible) {
373373
if (brushToolOptionsView.getTopToolOptions().visibility == View.VISIBLE) {
374374
toolOptionsViewController.slideUp(
@@ -388,7 +388,7 @@ class DynamicLineTool(
388388
}
389389
}
390390

391-
fun showToolOptions() {
391+
private fun showToolOptions() {
392392
if (!toolOptionsViewController.isVisible) {
393393
if (brushToolOptionsView.getBottomToolOptions().visibility == View.INVISIBLE) {
394394
toolOptionsViewController.slideDown(

0 commit comments

Comments
 (0)