From 3bf4298ae07ee6660faa90b91c474acb2eeb313f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ignacy=20=C5=81=C4=85tka?= Date: Wed, 15 Jan 2025 11:27:35 +0100 Subject: [PATCH] feat: make `svgView` getter public (#2583) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Summary This PR reverts #2555, as `RenderableView.hitTest()` can be replaced by `SvgView.reactTagForTouch()`, which is already `public`. This PR also changes the `package-private` `getSvgView()` method of `VirtualView` to `public`. This change has been made to handle hit detection of transformed `VirtualView`s, as `RenderableView`'s `hitTest()` doesn't take transformations into account, while `SvgView`'s `reactTagForTouch()` does. Making `getSvgView()` public is necessary for integrating RNSVG support into RNGH. More details [here](https://github.com/software-mansion/react-native-gesture-handler/pull/3242/). ## Test Plan Run the example from the RNGH - RNSVG [integration PR](https://github.com/software-mansion/react-native-gesture-handler/pull/3242/). ## Compatibility | OS | Implemented | | ------- | :---------: | | Android | ✅ | --- android/src/main/java/com/horcrux/svg/ClipPathView.java | 2 +- android/src/main/java/com/horcrux/svg/GroupView.java | 2 +- android/src/main/java/com/horcrux/svg/RenderableView.java | 2 +- android/src/main/java/com/horcrux/svg/TSpanView.java | 2 +- android/src/main/java/com/horcrux/svg/UseView.java | 2 +- android/src/main/java/com/horcrux/svg/VirtualView.java | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/src/main/java/com/horcrux/svg/ClipPathView.java b/android/src/main/java/com/horcrux/svg/ClipPathView.java index b1618b76..a8189167 100644 --- a/android/src/main/java/com/horcrux/svg/ClipPathView.java +++ b/android/src/main/java/com/horcrux/svg/ClipPathView.java @@ -40,7 +40,7 @@ class ClipPathView extends GroupView { } @Override - public int hitTest(float[] src) { + int hitTest(float[] src) { return -1; } diff --git a/android/src/main/java/com/horcrux/svg/GroupView.java b/android/src/main/java/com/horcrux/svg/GroupView.java index 6a6b22d4..d5df75bc 100644 --- a/android/src/main/java/com/horcrux/svg/GroupView.java +++ b/android/src/main/java/com/horcrux/svg/GroupView.java @@ -254,7 +254,7 @@ class GroupView extends RenderableView { } @Override - public int hitTest(final float[] src) { + int hitTest(final float[] src) { if (!mInvertible) { return -1; } diff --git a/android/src/main/java/com/horcrux/svg/RenderableView.java b/android/src/main/java/com/horcrux/svg/RenderableView.java index 7a256c0c..0e7dad7b 100644 --- a/android/src/main/java/com/horcrux/svg/RenderableView.java +++ b/android/src/main/java/com/horcrux/svg/RenderableView.java @@ -676,7 +676,7 @@ public abstract class RenderableView extends VirtualView implements ReactHitSlop abstract Path getPath(Canvas canvas, Paint paint); @Override - public int hitTest(final float[] src) { + int hitTest(final float[] src) { if (mPath == null || !mInvertible) { return -1; } diff --git a/android/src/main/java/com/horcrux/svg/TSpanView.java b/android/src/main/java/com/horcrux/svg/TSpanView.java index fbee3e12..708f17fc 100644 --- a/android/src/main/java/com/horcrux/svg/TSpanView.java +++ b/android/src/main/java/com/horcrux/svg/TSpanView.java @@ -1208,7 +1208,7 @@ class TSpanView extends TextView { } @Override - public int hitTest(final float[] src) { + int hitTest(final float[] src) { if (mContent == null) { return super.hitTest(src); } diff --git a/android/src/main/java/com/horcrux/svg/UseView.java b/android/src/main/java/com/horcrux/svg/UseView.java index 5e8a2973..7e49f8c4 100644 --- a/android/src/main/java/com/horcrux/svg/UseView.java +++ b/android/src/main/java/com/horcrux/svg/UseView.java @@ -100,7 +100,7 @@ class UseView extends RenderableView { } @Override - public int hitTest(float[] src) { + int hitTest(float[] src) { if (!mInvertible) { return -1; } diff --git a/android/src/main/java/com/horcrux/svg/VirtualView.java b/android/src/main/java/com/horcrux/svg/VirtualView.java index 80bbf0cd..d5160101 100644 --- a/android/src/main/java/com/horcrux/svg/VirtualView.java +++ b/android/src/main/java/com/horcrux/svg/VirtualView.java @@ -393,7 +393,7 @@ public abstract class VirtualView extends ReactViewGroup { abstract Path getPath(Canvas canvas, Paint paint); @Nullable - SvgView getSvgView() { + public SvgView getSvgView() { if (svgView != null) { return svgView; }