Skip to content

Commit 6123a37

Browse files
author
therealbluepandabear
committed
Fixed bug where tapping outside the canvas bounds with the picker/fill tool would cause the app to crash.
1 parent 64c4314 commit 6123a37

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package com.therealbluepandabear.pixapencil.activities.canvas.onpixeltapped
22

33
import com.therealbluepandabear.pixapencil.activities.canvas.CanvasActivity
4+
import com.therealbluepandabear.pixapencil.activities.canvas.canvascommands.coordinatesInCanvasBounds
45
import com.therealbluepandabear.pixapencil.activities.canvas.setPixelColor
6+
import com.therealbluepandabear.pixapencil.enums.Tool
57
import com.therealbluepandabear.pixapencil.extensions.getPixel
68
import com.therealbluepandabear.pixapencil.models.Coordinates
79

810
fun CanvasActivity.colorPickerToolOnPixelTapped(coordinatesTapped: Coordinates) {
9-
val color = binding.activityCanvasPixelGridView.pixelGridViewBitmap.getPixel(coordinatesTapped)
10-
11-
setPixelColor(color)
11+
if (canvasCommandsHelperInstance.coordinatesInCanvasBounds(coordinatesTapped, Tool.ColorPickerTool)) {
12+
val color = binding.activityCanvasPixelGridView.pixelGridViewBitmap.getPixel(coordinatesTapped)
13+
setPixelColor(color)
14+
}
1215
}
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
package com.therealbluepandabear.pixapencil.activities.canvas.onpixeltapped
22

33
import com.therealbluepandabear.pixapencil.activities.canvas.CanvasActivity
4+
import com.therealbluepandabear.pixapencil.activities.canvas.canvascommands.coordinatesInCanvasBounds
45
import com.therealbluepandabear.pixapencil.algorithms.FloodFillAlgorithm
6+
import com.therealbluepandabear.pixapencil.enums.Tool
57
import com.therealbluepandabear.pixapencil.models.Coordinates
68

79
fun CanvasActivity.fillToolOnPixelTapped(coordinatesTapped: Coordinates) {
8-
val floodFillAlgorithmInstance = FloodFillAlgorithm(primaryAlgorithmInfoParameter)
9-
floodFillAlgorithmInstance.compute(Coordinates(coordinatesTapped.x, coordinatesTapped.y))
10+
if (canvasCommandsHelperInstance.coordinatesInCanvasBounds(coordinatesTapped, Tool.FillTool)) {
11+
val floodFillAlgorithmInstance = FloodFillAlgorithm(primaryAlgorithmInfoParameter)
12+
floodFillAlgorithmInstance.compute(Coordinates(coordinatesTapped.x, coordinatesTapped.y))
13+
}
1014
}

0 commit comments

Comments
 (0)