From ccda91c8dfaaa8cc7cb6ce15876f96a5ed97175c Mon Sep 17 00:00:00 2001 From: Alex Afanasenko Date: Fri, 24 Mar 2023 14:25:24 +0100 Subject: [PATCH] fix: mask render on android (#1981) It seems that the bug comes from the fact that on iOS we are making a Rect from those values, which takes its starting positions and than width and height as argument, whereas on Android the arguments are strictly 4 bounds, therefore we need to add the starting points to the right and bottom argument. --- android/src/main/java/com/horcrux/svg/RenderableView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/main/java/com/horcrux/svg/RenderableView.java b/android/src/main/java/com/horcrux/svg/RenderableView.java index 3cb4df9c..a0b18564 100644 --- a/android/src/main/java/com/horcrux/svg/RenderableView.java +++ b/android/src/main/java/com/horcrux/svg/RenderableView.java @@ -366,7 +366,7 @@ public abstract class RenderableView extends VirtualView implements ReactHitSlop float maskY = (float) relativeOnHeight(mask.mY); float maskWidth = (float) relativeOnWidth(mask.mW); float maskHeight = (float) relativeOnHeight(mask.mH); - maskCanvas.clipRect(maskX, maskY, maskWidth, maskHeight); + maskCanvas.clipRect(maskX, maskY, maskWidth + maskX, maskHeight + maskY); Paint maskPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mask.draw(maskCanvas, maskPaint, 1);