From 1505e4f104eca66c2394f11304f1b14315628b97 Mon Sep 17 00:00:00 2001 From: Horcrux Date: Thu, 5 Jan 2017 13:25:51 +0800 Subject: [PATCH] Rename java file names --- ...eShadowNode.java => CircleShadowNode.java} | 2 +- ...hadowNode.java => ClipPathShadowNode.java} | 6 +- ...dowNode.java => DefinitionShadowNode.java} | 6 +- ...efsShadowNode.java => DefsShadowNode.java} | 6 +- ...ShadowNode.java => EllipseShadowNode.java} | 2 +- ...upShadowNode.java => GroupShadowNode.java} | 22 +- ...geShadowNode.java => ImageShadowNode.java} | 4 +- ...ineShadowNode.java => LineShadowNode.java} | 2 +- ...ode.java => LinearGradientShadowNode.java} | 2 +- ...athShadowNode.java => PathShadowNode.java} | 6 +- .../svg/RNSVGRenderableViewManager.java | 189 ------------------ .../java/com/horcrux/svg/RNSvgPackage.java | 54 ----- ...ode.java => RadialGradientShadowNode.java} | 2 +- ...ectShadowNode.java => RectShadowNode.java} | 2 +- .../horcrux/svg/RenderableViewManager.java | 189 ++++++++++++++++++ .../main/java/com/horcrux/svg/SvgPackage.java | 54 +++++ .../svg/{RNSVGSvgView.java => SvgView.java} | 10 +- ...vgViewManager.java => SvgViewManager.java} | 22 +- ...ShadowNode.java => SvgViewShadowNode.java} | 28 ++- ...extShadowNode.java => TextShadowNode.java} | 2 +- ...GUseShadowNode.java => UseShadowNode.java} | 4 +- ...ShadowNode.java => ViewBoxShadowNode.java} | 10 +- ...RNSVGVirtualNode.java => VirtualNode.java} | 24 +-- 23 files changed, 323 insertions(+), 325 deletions(-) rename android/src/main/java/com/horcrux/svg/{RNSVGCircleShadowNode.java => CircleShadowNode.java} (96%) rename android/src/main/java/com/horcrux/svg/{RNSVGClipPathShadowNode.java => ClipPathShadowNode.java} (81%) rename android/src/main/java/com/horcrux/svg/{RNSVGDefinitionShadowNode.java => DefinitionShadowNode.java} (78%) rename android/src/main/java/com/horcrux/svg/{RNSVGDefsShadowNode.java => DefsShadowNode.java} (82%) rename android/src/main/java/com/horcrux/svg/{RNSVGEllipseShadowNode.java => EllipseShadowNode.java} (96%) rename android/src/main/java/com/horcrux/svg/{RNSVGGroupShadowNode.java => GroupShadowNode.java} (81%) rename android/src/main/java/com/horcrux/svg/{RNSVGImageShadowNode.java => ImageShadowNode.java} (98%) rename android/src/main/java/com/horcrux/svg/{RNSVGLineShadowNode.java => LineShadowNode.java} (96%) rename android/src/main/java/com/horcrux/svg/{RNSVGLinearGradientShadowNode.java => LinearGradientShadowNode.java} (95%) rename android/src/main/java/com/horcrux/svg/{RNSVGPathShadowNode.java => PathShadowNode.java} (98%) delete mode 100644 android/src/main/java/com/horcrux/svg/RNSVGRenderableViewManager.java delete mode 100644 android/src/main/java/com/horcrux/svg/RNSvgPackage.java rename android/src/main/java/com/horcrux/svg/{RNSVGRadialGradientShadowNode.java => RadialGradientShadowNode.java} (96%) rename android/src/main/java/com/horcrux/svg/{RNSVGRectShadowNode.java => RectShadowNode.java} (97%) create mode 100644 android/src/main/java/com/horcrux/svg/RenderableViewManager.java create mode 100644 android/src/main/java/com/horcrux/svg/SvgPackage.java rename android/src/main/java/com/horcrux/svg/{RNSVGSvgView.java => SvgView.java} (95%) rename android/src/main/java/com/horcrux/svg/{RNSVGSvgViewManager.java => SvgViewManager.java} (77%) rename android/src/main/java/com/horcrux/svg/{RNSVGSvgViewShadowNode.java => SvgViewShadowNode.java} (78%) rename android/src/main/java/com/horcrux/svg/{RNSVGTextShadowNode.java => TextShadowNode.java} (99%) rename android/src/main/java/com/horcrux/svg/{RNSVGUseShadowNode.java => UseShadowNode.java} (92%) rename android/src/main/java/com/horcrux/svg/{RNSVGViewBoxShadowNode.java => ViewBoxShadowNode.java} (94%) rename android/src/main/java/com/horcrux/svg/{RNSVGVirtualNode.java => VirtualNode.java} (92%) diff --git a/android/src/main/java/com/horcrux/svg/RNSVGCircleShadowNode.java b/android/src/main/java/com/horcrux/svg/CircleShadowNode.java similarity index 96% rename from android/src/main/java/com/horcrux/svg/RNSVGCircleShadowNode.java rename to android/src/main/java/com/horcrux/svg/CircleShadowNode.java index 4e56f84f..a7e536a9 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGCircleShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/CircleShadowNode.java @@ -19,7 +19,7 @@ import com.facebook.react.uimanager.annotations.ReactProp; /** * Shadow node for virtual RNSVGPath view */ -public class RNSVGCircleShadowNode extends RNSVGPathShadowNode { +public class CircleShadowNode extends PathShadowNode { private String mCx; private String mCy; diff --git a/android/src/main/java/com/horcrux/svg/RNSVGClipPathShadowNode.java b/android/src/main/java/com/horcrux/svg/ClipPathShadowNode.java similarity index 81% rename from android/src/main/java/com/horcrux/svg/RNSVGClipPathShadowNode.java rename to android/src/main/java/com/horcrux/svg/ClipPathShadowNode.java index 4bb502ee..45348348 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGClipPathShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/ClipPathShadowNode.java @@ -21,7 +21,7 @@ import com.facebook.react.common.ReactConstants; /** * Shadow node for virtual RNSVGClipPath view */ -public class RNSVGClipPathShadowNode extends RNSVGGroupShadowNode { +public class ClipPathShadowNode extends GroupShadowNode { @Override public void draw(Canvas canvas, Paint paint, float opacity) { @@ -44,10 +44,10 @@ public class RNSVGClipPathShadowNode extends RNSVGGroupShadowNode { } @Override - public void mergeProperties(RNSVGVirtualNode target, ReadableArray mergeList, boolean inherited) {} + public void mergeProperties(VirtualNode target, ReadableArray mergeList, boolean inherited) {} @Override - public void mergeProperties(RNSVGVirtualNode target, ReadableArray mergeList) {} + public void mergeProperties(VirtualNode target, ReadableArray mergeList) {} @Override public void resetProperties() {} diff --git a/android/src/main/java/com/horcrux/svg/RNSVGDefinitionShadowNode.java b/android/src/main/java/com/horcrux/svg/DefinitionShadowNode.java similarity index 78% rename from android/src/main/java/com/horcrux/svg/RNSVGDefinitionShadowNode.java rename to android/src/main/java/com/horcrux/svg/DefinitionShadowNode.java index 846ed0ed..42227170 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGDefinitionShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/DefinitionShadowNode.java @@ -20,7 +20,7 @@ import com.facebook.react.bridge.ReadableArray; /** * Shadow node for virtual Definition type views */ -public class RNSVGDefinitionShadowNode extends RNSVGVirtualNode { +public class DefinitionShadowNode extends VirtualNode { public void draw(Canvas canvas, Paint paint, float opacity) {} @@ -40,10 +40,10 @@ public class RNSVGDefinitionShadowNode extends RNSVGVirtualNode { } @Override - public void mergeProperties(RNSVGVirtualNode target, ReadableArray mergeList, boolean inherited) {} + public void mergeProperties(VirtualNode target, ReadableArray mergeList, boolean inherited) {} @Override - public void mergeProperties(RNSVGVirtualNode target, ReadableArray mergeList) {} + public void mergeProperties(VirtualNode target, ReadableArray mergeList) {} @Override public void resetProperties() {} diff --git a/android/src/main/java/com/horcrux/svg/RNSVGDefsShadowNode.java b/android/src/main/java/com/horcrux/svg/DefsShadowNode.java similarity index 82% rename from android/src/main/java/com/horcrux/svg/RNSVGDefsShadowNode.java rename to android/src/main/java/com/horcrux/svg/DefsShadowNode.java index 5c5de04b..0a1fc331 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGDefsShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/DefsShadowNode.java @@ -15,18 +15,18 @@ import android.graphics.Paint; /** * Shadow node for virtual RNSVGPath view */ -public class RNSVGDefsShadowNode extends RNSVGDefinitionShadowNode { +public class DefsShadowNode extends DefinitionShadowNode { @Override public void draw(Canvas canvas, Paint paint, float opacity) { traverseChildren(new NodeRunnable() { - public boolean run(RNSVGVirtualNode node) { + public boolean run(VirtualNode node) { node.saveDefinition(); return true; } }); NodeRunnable markUpdateSeenRecursive = new NodeRunnable() { - public boolean run(RNSVGVirtualNode node) { + public boolean run(VirtualNode node) { node.markUpdateSeen(); node.traverseChildren(this); return true; diff --git a/android/src/main/java/com/horcrux/svg/RNSVGEllipseShadowNode.java b/android/src/main/java/com/horcrux/svg/EllipseShadowNode.java similarity index 96% rename from android/src/main/java/com/horcrux/svg/RNSVGEllipseShadowNode.java rename to android/src/main/java/com/horcrux/svg/EllipseShadowNode.java index e4734fe5..43aecded 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGEllipseShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/EllipseShadowNode.java @@ -19,7 +19,7 @@ import com.facebook.react.uimanager.annotations.ReactProp; /** * Shadow node for virtual RNSVGPath view */ -public class RNSVGEllipseShadowNode extends RNSVGPathShadowNode { +public class EllipseShadowNode extends PathShadowNode { private String mCx; private String mCy; diff --git a/android/src/main/java/com/horcrux/svg/RNSVGGroupShadowNode.java b/android/src/main/java/com/horcrux/svg/GroupShadowNode.java similarity index 81% rename from android/src/main/java/com/horcrux/svg/RNSVGGroupShadowNode.java rename to android/src/main/java/com/horcrux/svg/GroupShadowNode.java index f9abab09..0ef4ae11 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGGroupShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/GroupShadowNode.java @@ -24,18 +24,18 @@ import javax.annotation.Nullable; /** * Shadow node for virtual RNSVGGroup view */ -public class RNSVGGroupShadowNode extends RNSVGPathShadowNode { +public class GroupShadowNode extends PathShadowNode { public void draw(final Canvas canvas, final Paint paint, final float opacity) { - final RNSVGSvgViewShadowNode svg = getSvgShadowNode(); - final RNSVGVirtualNode self = this; + final SvgViewShadowNode svg = getSvgShadowNode(); + final VirtualNode self = this; if (opacity > MIN_OPACITY_FOR_DRAW) { int count = saveAndSetupCanvas(canvas); clip(canvas, paint); traverseChildren(new NodeRunnable() { - public boolean run(RNSVGVirtualNode node) { + public boolean run(VirtualNode node) { node.setupDimensions(canvas); node.mergeProperties(self, mOwnedPropList, true); @@ -58,7 +58,7 @@ public class RNSVGGroupShadowNode extends RNSVGPathShadowNode { final Path path = new Path(); traverseChildren(new NodeRunnable() { - public boolean run(RNSVGVirtualNode node) { + public boolean run(VirtualNode node) { node.setupDimensions(canvas); path.addPath(node.getPath(canvas, paint)); return true; @@ -80,11 +80,11 @@ public class RNSVGGroupShadowNode extends RNSVGPathShadowNode { for (int i = getChildCount() - 1; i >= 0; i--) { ReactShadowNode child = getChildAt(i); - if (!(child instanceof RNSVGVirtualNode)) { + if (!(child instanceof VirtualNode)) { continue; } - RNSVGVirtualNode node = (RNSVGVirtualNode) child; + VirtualNode node = (VirtualNode) child; int viewTag = node.hitTest(point, combinedMatrix); if (viewTag != -1) { @@ -101,7 +101,7 @@ public class RNSVGGroupShadowNode extends RNSVGPathShadowNode { } traverseChildren(new NodeRunnable() { - public boolean run(RNSVGVirtualNode node) { + public boolean run(VirtualNode node) { node.saveDefinition(); return true; } @@ -109,9 +109,9 @@ public class RNSVGGroupShadowNode extends RNSVGPathShadowNode { } @Override - public void mergeProperties(final RNSVGVirtualNode target, final ReadableArray mergeList) { + public void mergeProperties(final VirtualNode target, final ReadableArray mergeList) { traverseChildren(new NodeRunnable() { - public boolean run(RNSVGVirtualNode node) { + public boolean run(VirtualNode node) { node.mergeProperties(target, mergeList); return true; } @@ -121,7 +121,7 @@ public class RNSVGGroupShadowNode extends RNSVGPathShadowNode { @Override public void resetProperties() { traverseChildren(new NodeRunnable() { - public boolean run(RNSVGVirtualNode node) { + public boolean run(VirtualNode node) { node.resetProperties(); return true; } diff --git a/android/src/main/java/com/horcrux/svg/RNSVGImageShadowNode.java b/android/src/main/java/com/horcrux/svg/ImageShadowNode.java similarity index 98% rename from android/src/main/java/com/horcrux/svg/RNSVGImageShadowNode.java rename to android/src/main/java/com/horcrux/svg/ImageShadowNode.java index 47f57252..cf841579 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGImageShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/ImageShadowNode.java @@ -41,7 +41,7 @@ import javax.annotation.Nullable; /** * Shadow node for virtual RNSVGPath view */ -public class RNSVGImageShadowNode extends RNSVGPathShadowNode { +public class ImageShadowNode extends PathShadowNode { private String mX; private String mY; @@ -178,7 +178,7 @@ public class RNSVGImageShadowNode extends RNSVGPathShadowNode { renderRect = new RectF(0, 0, (int)rectWidth, (int)(rectWidth / mImageRatio)); } - RNSVGViewBoxShadowNode viewBox = new RNSVGViewBoxShadowNode(); + ViewBoxShadowNode viewBox = new ViewBoxShadowNode(); viewBox.setMinX("0"); viewBox.setMinY("0"); viewBox.setVbWidth(renderRect.width() / mScale + ""); diff --git a/android/src/main/java/com/horcrux/svg/RNSVGLineShadowNode.java b/android/src/main/java/com/horcrux/svg/LineShadowNode.java similarity index 96% rename from android/src/main/java/com/horcrux/svg/RNSVGLineShadowNode.java rename to android/src/main/java/com/horcrux/svg/LineShadowNode.java index 92899eaf..b633692e 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGLineShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/LineShadowNode.java @@ -17,7 +17,7 @@ import com.facebook.react.uimanager.annotations.ReactProp; /** * Shadow node for virtual RNSVGPath view */ -public class RNSVGLineShadowNode extends RNSVGPathShadowNode { +public class LineShadowNode extends PathShadowNode { private String mX1; private String mY1; diff --git a/android/src/main/java/com/horcrux/svg/RNSVGLinearGradientShadowNode.java b/android/src/main/java/com/horcrux/svg/LinearGradientShadowNode.java similarity index 95% rename from android/src/main/java/com/horcrux/svg/RNSVGLinearGradientShadowNode.java rename to android/src/main/java/com/horcrux/svg/LinearGradientShadowNode.java index 314e435a..241c6d73 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGLinearGradientShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/LinearGradientShadowNode.java @@ -17,7 +17,7 @@ import com.facebook.react.uimanager.annotations.ReactProp; /** * Shadow node for virtual LinearGradient definition view */ -public class RNSVGLinearGradientShadowNode extends RNSVGDefinitionShadowNode { +public class LinearGradientShadowNode extends DefinitionShadowNode { private String mX1; private String mY1; diff --git a/android/src/main/java/com/horcrux/svg/RNSVGPathShadowNode.java b/android/src/main/java/com/horcrux/svg/PathShadowNode.java similarity index 98% rename from android/src/main/java/com/horcrux/svg/RNSVGPathShadowNode.java rename to android/src/main/java/com/horcrux/svg/PathShadowNode.java index 72a135b1..66cce64f 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGPathShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/PathShadowNode.java @@ -38,7 +38,7 @@ import java.util.regex.Pattern; /** * Shadow node for virtual RNSVGPath view */ -public class RNSVGPathShadowNode extends RNSVGVirtualNode { +public class PathShadowNode extends VirtualNode { private static final int CAP_BUTT = 0; private static final int CAP_ROUND = 1; @@ -389,7 +389,7 @@ public class RNSVGPathShadowNode extends RNSVGVirtualNode { } @Override - public void mergeProperties(RNSVGVirtualNode target, ReadableArray mergeList, boolean inherited) { + public void mergeProperties(VirtualNode target, ReadableArray mergeList, boolean inherited) { if (mergeList.size() == 0) { return; } @@ -428,7 +428,7 @@ public class RNSVGPathShadowNode extends RNSVGVirtualNode { } @Override - public void mergeProperties(RNSVGVirtualNode target, ReadableArray mergeList) { + public void mergeProperties(VirtualNode target, ReadableArray mergeList) { mergeProperties(target, mergeList, false); } diff --git a/android/src/main/java/com/horcrux/svg/RNSVGRenderableViewManager.java b/android/src/main/java/com/horcrux/svg/RNSVGRenderableViewManager.java deleted file mode 100644 index 2a075b64..00000000 --- a/android/src/main/java/com/horcrux/svg/RNSVGRenderableViewManager.java +++ /dev/null @@ -1,189 +0,0 @@ -/** - * Copyright (c) 2015-present, Horcrux. - * All rights reserved. - * - * This source code is licensed under the MIT-style license found in the - * LICENSE file in the root directory of this source tree. - */ - - -package com.horcrux.svg; - -import android.view.View; - -import com.facebook.react.uimanager.LayoutShadowNode; -import com.facebook.react.uimanager.ThemedReactContext; -import com.facebook.react.uimanager.ViewManager; - -/** - * ViewManager for all shadowed RNSVG views: Group, Path and Text. Since these never get rendered - * into native views and don't need any logic (all the logic is in {@link RNSVGSvgView}), this - * "stubbed" ViewManager is used for all of them. - */ -public class RNSVGRenderableViewManager extends ViewManager { - - /* package */ static final String CLASS_GROUP = "RNSVGGroup"; - /* package */ static final String CLASS_PATH = "RNSVGPath"; - /* package */ static final String CLASS_TEXT = "RNSVGText"; - /* package */ static final String CLASS_IMAGE = "RNSVGImage"; - /* package */ static final String CLASS_CIRCLE = "RNSVGCircle"; - /* package */ static final String CLASS_ELLIPSE = "RNSVGEllipse"; - /* package */ static final String CLASS_LINE = "RNSVGLine"; - /* package */ static final String CLASS_RECT = "RNSVGRect"; - /* package */ static final String CLASS_CLIP_PATH = "RNSVGClipPath"; - /* package */ static final String CLASS_DEFS = "RNSVGDefs"; - /* package */ static final String CLASS_USE = "RNSVGUse"; - /* package */ static final String CLASS_VIEW_BOX = "RNSVGViewBox"; - /* package */ static final String CLASS_LINEAR_GRADIENT = "RNSVGLinearGradient"; - /* package */ static final String CLASS_RADIAL_GRADIENT = "RNSVGRadialGradient"; - - private final String mClassName; - - - public static RNSVGRenderableViewManager createRNSVGGroupViewManager() { - return new RNSVGRenderableViewManager(CLASS_GROUP); - } - - public static RNSVGRenderableViewManager createRNSVGPathViewManager() { - return new RNSVGRenderableViewManager(CLASS_PATH); - } - - public static RNSVGRenderableViewManager createRNSVGTextViewManager() { - return new RNSVGRenderableViewManager(CLASS_TEXT); - } - - public static RNSVGRenderableViewManager createRNSVGImageViewManager() { - return new RNSVGRenderableViewManager(CLASS_IMAGE); - } - - public static RNSVGRenderableViewManager createRNSVGCircleViewManager() { - return new RNSVGRenderableViewManager(CLASS_CIRCLE); - } - - public static RNSVGRenderableViewManager createRNSVGEllipseViewManager() { - return new RNSVGRenderableViewManager(CLASS_ELLIPSE); - } - - public static RNSVGRenderableViewManager createRNSVGLineViewManager() { - return new RNSVGRenderableViewManager(CLASS_LINE); - } - - public static RNSVGRenderableViewManager createRNSVGRectViewManager() { - return new RNSVGRenderableViewManager(CLASS_RECT); - } - - public static RNSVGRenderableViewManager createRNSVGClipPathViewManager() { - return new RNSVGRenderableViewManager(CLASS_CLIP_PATH); - } - - public static RNSVGRenderableViewManager createRNSVGDefsViewManager() { - return new RNSVGRenderableViewManager(CLASS_DEFS); - } - - public static RNSVGRenderableViewManager createRNSVGUseViewManager() { - return new RNSVGRenderableViewManager(CLASS_USE); - } - - public static RNSVGRenderableViewManager createRNSVGViewBoxViewManager() { - return new RNSVGRenderableViewManager(CLASS_VIEW_BOX); - } - - public static RNSVGRenderableViewManager createRNSVGLinearGradientManager() { - return new RNSVGRenderableViewManager(CLASS_LINEAR_GRADIENT); - } - - public static RNSVGRenderableViewManager createRNSVGRadialGradientManager() { - return new RNSVGRenderableViewManager(CLASS_RADIAL_GRADIENT); - } - - private RNSVGRenderableViewManager(String className) { - mClassName = className; - } - - @Override - public String getName() { - return mClassName; - } - - @Override - public LayoutShadowNode createShadowNodeInstance() { - switch (mClassName) { - case CLASS_GROUP: - return new RNSVGGroupShadowNode(); - case CLASS_PATH: - return new RNSVGPathShadowNode(); - case CLASS_CIRCLE: - return new RNSVGCircleShadowNode(); - case CLASS_ELLIPSE: - return new RNSVGEllipseShadowNode(); - case CLASS_LINE: - return new RNSVGLineShadowNode(); - case CLASS_RECT: - return new RNSVGRectShadowNode(); - case CLASS_TEXT: - return new RNSVGTextShadowNode(); - case CLASS_IMAGE: - return new RNSVGImageShadowNode(); - case CLASS_CLIP_PATH: - return new RNSVGClipPathShadowNode(); - case CLASS_DEFS: - return new RNSVGDefsShadowNode(); - case CLASS_USE: - return new RNSVGUseShadowNode(); - case CLASS_VIEW_BOX: - return new RNSVGViewBoxShadowNode(); - case CLASS_LINEAR_GRADIENT: - return new RNSVGLinearGradientShadowNode(); - case CLASS_RADIAL_GRADIENT: - return new RNSVGRadialGradientShadowNode(); - default: - throw new IllegalStateException("Unexpected type " + mClassName); - } - } - - @Override - public Class getShadowNodeClass() { - switch (mClassName) { - case CLASS_GROUP: - return RNSVGGroupShadowNode.class; - case CLASS_PATH: - return RNSVGPathShadowNode.class; - case CLASS_CIRCLE: - return RNSVGCircleShadowNode.class; - case CLASS_ELLIPSE: - return RNSVGEllipseShadowNode.class; - case CLASS_LINE: - return RNSVGLineShadowNode.class; - case CLASS_RECT: - return RNSVGRectShadowNode.class; - case CLASS_TEXT: - return RNSVGTextShadowNode.class; - case CLASS_IMAGE: - return RNSVGImageShadowNode.class; - case CLASS_CLIP_PATH: - return RNSVGClipPathShadowNode.class; - case CLASS_DEFS: - return RNSVGDefsShadowNode.class; - case CLASS_USE: - return RNSVGUseShadowNode.class; - case CLASS_VIEW_BOX: - return RNSVGViewBoxShadowNode.class; - case CLASS_LINEAR_GRADIENT: - return RNSVGLinearGradientShadowNode.class; - case CLASS_RADIAL_GRADIENT: - return RNSVGRadialGradientShadowNode.class; - default: - throw new IllegalStateException("Unexpected type " + mClassName); - } - } - - @Override - protected View createViewInstance(ThemedReactContext reactContext) { - throw new IllegalStateException("SVG elements does not map into a native view"); - } - - @Override - public void updateExtraData(View root, Object extraData) { - throw new IllegalStateException("SVG elements does not map into a native view"); - } -} diff --git a/android/src/main/java/com/horcrux/svg/RNSvgPackage.java b/android/src/main/java/com/horcrux/svg/RNSvgPackage.java deleted file mode 100644 index 45d76eb1..00000000 --- a/android/src/main/java/com/horcrux/svg/RNSvgPackage.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright (c) 2015-present, Horcrux. - * All rights reserved. - * - * This source code is licensed under the MIT-style license found in the - * LICENSE file in the root directory of this source tree. - */ - - -package com.horcrux.svg; - -import com.facebook.react.ReactPackage; -import com.facebook.react.bridge.JavaScriptModule; -import com.facebook.react.bridge.NativeModule; -import com.facebook.react.bridge.ReactApplicationContext; -import com.facebook.react.uimanager.ViewManager; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - - -public class RNSvgPackage implements ReactPackage { - - @Override - public List createViewManagers(ReactApplicationContext reactContext) { - return Arrays.asList( - RNSVGRenderableViewManager.createRNSVGGroupViewManager(), - RNSVGRenderableViewManager.createRNSVGPathViewManager(), - RNSVGRenderableViewManager.createRNSVGCircleViewManager(), - RNSVGRenderableViewManager.createRNSVGEllipseViewManager(), - RNSVGRenderableViewManager.createRNSVGLineViewManager(), - RNSVGRenderableViewManager.createRNSVGRectViewManager(), - RNSVGRenderableViewManager.createRNSVGTextViewManager(), - RNSVGRenderableViewManager.createRNSVGImageViewManager(), - RNSVGRenderableViewManager.createRNSVGClipPathViewManager(), - RNSVGRenderableViewManager.createRNSVGDefsViewManager(), - RNSVGRenderableViewManager.createRNSVGUseViewManager(), - RNSVGRenderableViewManager.createRNSVGViewBoxViewManager(), - RNSVGRenderableViewManager.createRNSVGLinearGradientManager(), - RNSVGRenderableViewManager.createRNSVGRadialGradientManager(), - new RNSVGSvgViewManager()); - } - - @Override - public List> createJSModules() { - return Collections.emptyList(); - } - - @Override - public List createNativeModules(ReactApplicationContext reactContext) { - return Collections.emptyList(); - } -} diff --git a/android/src/main/java/com/horcrux/svg/RNSVGRadialGradientShadowNode.java b/android/src/main/java/com/horcrux/svg/RadialGradientShadowNode.java similarity index 96% rename from android/src/main/java/com/horcrux/svg/RNSVGRadialGradientShadowNode.java rename to android/src/main/java/com/horcrux/svg/RadialGradientShadowNode.java index ea168aea..966414c0 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGRadialGradientShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/RadialGradientShadowNode.java @@ -17,7 +17,7 @@ import com.facebook.react.uimanager.annotations.ReactProp; /** * Shadow node for virtual LinearGradient definition view */ -public class RNSVGRadialGradientShadowNode extends RNSVGDefinitionShadowNode { +public class RadialGradientShadowNode extends DefinitionShadowNode { private String mFx; private String mFy; private String mRx; diff --git a/android/src/main/java/com/horcrux/svg/RNSVGRectShadowNode.java b/android/src/main/java/com/horcrux/svg/RectShadowNode.java similarity index 97% rename from android/src/main/java/com/horcrux/svg/RNSVGRectShadowNode.java rename to android/src/main/java/com/horcrux/svg/RectShadowNode.java index 397a5542..16da0543 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGRectShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/RectShadowNode.java @@ -18,7 +18,7 @@ import com.facebook.react.uimanager.annotations.ReactProp; /** * Shadow node for virtual RNSVGPath view */ -public class RNSVGRectShadowNode extends RNSVGPathShadowNode { +public class RectShadowNode extends PathShadowNode { private String mX; private String mY; diff --git a/android/src/main/java/com/horcrux/svg/RenderableViewManager.java b/android/src/main/java/com/horcrux/svg/RenderableViewManager.java new file mode 100644 index 00000000..2da96e32 --- /dev/null +++ b/android/src/main/java/com/horcrux/svg/RenderableViewManager.java @@ -0,0 +1,189 @@ +/** + * Copyright (c) 2015-present, Horcrux. + * All rights reserved. + * + * This source code is licensed under the MIT-style license found in the + * LICENSE file in the root directory of this source tree. + */ + + +package com.horcrux.svg; + +import android.view.View; + +import com.facebook.react.uimanager.LayoutShadowNode; +import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.ViewManager; + +/** + * ViewManager for all shadowed RNSVG views: Group, Path and Text. Since these never get rendered + * into native views and don't need any logic (all the logic is in {@link SvgView}), this + * "stubbed" ViewManager is used for all of them. + */ +public class RenderableViewManager extends ViewManager { + + /* package */ static final String CLASS_GROUP = "RNSVGGroup"; + /* package */ static final String CLASS_PATH = "RNSVGPath"; + /* package */ static final String CLASS_TEXT = "RNSVGText"; + /* package */ static final String CLASS_IMAGE = "RNSVGImage"; + /* package */ static final String CLASS_CIRCLE = "RNSVGCircle"; + /* package */ static final String CLASS_ELLIPSE = "RNSVGEllipse"; + /* package */ static final String CLASS_LINE = "RNSVGLine"; + /* package */ static final String CLASS_RECT = "RNSVGRect"; + /* package */ static final String CLASS_CLIP_PATH = "RNSVGClipPath"; + /* package */ static final String CLASS_DEFS = "RNSVGDefs"; + /* package */ static final String CLASS_USE = "RNSVGUse"; + /* package */ static final String CLASS_VIEW_BOX = "RNSVGViewBox"; + /* package */ static final String CLASS_LINEAR_GRADIENT = "RNSVGLinearGradient"; + /* package */ static final String CLASS_RADIAL_GRADIENT = "RNSVGRadialGradient"; + + private final String mClassName; + + + public static RenderableViewManager createRNSVGGroupViewManager() { + return new RenderableViewManager(CLASS_GROUP); + } + + public static RenderableViewManager createRNSVGPathViewManager() { + return new RenderableViewManager(CLASS_PATH); + } + + public static RenderableViewManager createRNSVGTextViewManager() { + return new RenderableViewManager(CLASS_TEXT); + } + + public static RenderableViewManager createRNSVGImageViewManager() { + return new RenderableViewManager(CLASS_IMAGE); + } + + public static RenderableViewManager createRNSVGCircleViewManager() { + return new RenderableViewManager(CLASS_CIRCLE); + } + + public static RenderableViewManager createRNSVGEllipseViewManager() { + return new RenderableViewManager(CLASS_ELLIPSE); + } + + public static RenderableViewManager createRNSVGLineViewManager() { + return new RenderableViewManager(CLASS_LINE); + } + + public static RenderableViewManager createRNSVGRectViewManager() { + return new RenderableViewManager(CLASS_RECT); + } + + public static RenderableViewManager createRNSVGClipPathViewManager() { + return new RenderableViewManager(CLASS_CLIP_PATH); + } + + public static RenderableViewManager createRNSVGDefsViewManager() { + return new RenderableViewManager(CLASS_DEFS); + } + + public static RenderableViewManager createRNSVGUseViewManager() { + return new RenderableViewManager(CLASS_USE); + } + + public static RenderableViewManager createRNSVGViewBoxViewManager() { + return new RenderableViewManager(CLASS_VIEW_BOX); + } + + public static RenderableViewManager createRNSVGLinearGradientManager() { + return new RenderableViewManager(CLASS_LINEAR_GRADIENT); + } + + public static RenderableViewManager createRNSVGRadialGradientManager() { + return new RenderableViewManager(CLASS_RADIAL_GRADIENT); + } + + private RenderableViewManager(String className) { + mClassName = className; + } + + @Override + public String getName() { + return mClassName; + } + + @Override + public LayoutShadowNode createShadowNodeInstance() { + switch (mClassName) { + case CLASS_GROUP: + return new GroupShadowNode(); + case CLASS_PATH: + return new PathShadowNode(); + case CLASS_CIRCLE: + return new CircleShadowNode(); + case CLASS_ELLIPSE: + return new EllipseShadowNode(); + case CLASS_LINE: + return new LineShadowNode(); + case CLASS_RECT: + return new RectShadowNode(); + case CLASS_TEXT: + return new TextShadowNode(); + case CLASS_IMAGE: + return new ImageShadowNode(); + case CLASS_CLIP_PATH: + return new ClipPathShadowNode(); + case CLASS_DEFS: + return new DefsShadowNode(); + case CLASS_USE: + return new UseShadowNode(); + case CLASS_VIEW_BOX: + return new ViewBoxShadowNode(); + case CLASS_LINEAR_GRADIENT: + return new LinearGradientShadowNode(); + case CLASS_RADIAL_GRADIENT: + return new RadialGradientShadowNode(); + default: + throw new IllegalStateException("Unexpected type " + mClassName); + } + } + + @Override + public Class getShadowNodeClass() { + switch (mClassName) { + case CLASS_GROUP: + return GroupShadowNode.class; + case CLASS_PATH: + return PathShadowNode.class; + case CLASS_CIRCLE: + return CircleShadowNode.class; + case CLASS_ELLIPSE: + return EllipseShadowNode.class; + case CLASS_LINE: + return LineShadowNode.class; + case CLASS_RECT: + return RectShadowNode.class; + case CLASS_TEXT: + return TextShadowNode.class; + case CLASS_IMAGE: + return ImageShadowNode.class; + case CLASS_CLIP_PATH: + return ClipPathShadowNode.class; + case CLASS_DEFS: + return DefsShadowNode.class; + case CLASS_USE: + return UseShadowNode.class; + case CLASS_VIEW_BOX: + return ViewBoxShadowNode.class; + case CLASS_LINEAR_GRADIENT: + return LinearGradientShadowNode.class; + case CLASS_RADIAL_GRADIENT: + return RadialGradientShadowNode.class; + default: + throw new IllegalStateException("Unexpected type " + mClassName); + } + } + + @Override + protected View createViewInstance(ThemedReactContext reactContext) { + throw new IllegalStateException("SVG elements does not map into a native view"); + } + + @Override + public void updateExtraData(View root, Object extraData) { + throw new IllegalStateException("SVG elements does not map into a native view"); + } +} diff --git a/android/src/main/java/com/horcrux/svg/SvgPackage.java b/android/src/main/java/com/horcrux/svg/SvgPackage.java new file mode 100644 index 00000000..54e7dbcc --- /dev/null +++ b/android/src/main/java/com/horcrux/svg/SvgPackage.java @@ -0,0 +1,54 @@ +/** + * Copyright (c) 2015-present, Horcrux. + * All rights reserved. + * + * This source code is licensed under the MIT-style license found in the + * LICENSE file in the root directory of this source tree. + */ + + +package com.horcrux.svg; + +import com.facebook.react.ReactPackage; +import com.facebook.react.bridge.JavaScriptModule; +import com.facebook.react.bridge.NativeModule; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.uimanager.ViewManager; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + + +public class SvgPackage implements ReactPackage { + + @Override + public List createViewManagers(ReactApplicationContext reactContext) { + return Arrays.asList( + RenderableViewManager.createRNSVGGroupViewManager(), + RenderableViewManager.createRNSVGPathViewManager(), + RenderableViewManager.createRNSVGCircleViewManager(), + RenderableViewManager.createRNSVGEllipseViewManager(), + RenderableViewManager.createRNSVGLineViewManager(), + RenderableViewManager.createRNSVGRectViewManager(), + RenderableViewManager.createRNSVGTextViewManager(), + RenderableViewManager.createRNSVGImageViewManager(), + RenderableViewManager.createRNSVGClipPathViewManager(), + RenderableViewManager.createRNSVGDefsViewManager(), + RenderableViewManager.createRNSVGUseViewManager(), + RenderableViewManager.createRNSVGViewBoxViewManager(), + RenderableViewManager.createRNSVGLinearGradientManager(), + RenderableViewManager.createRNSVGRadialGradientManager(), + new SvgViewManager()); + } + + @Override + public List> createJSModules() { + return Collections.emptyList(); + } + + @Override + public List createNativeModules(ReactApplicationContext reactContext) { + return Collections.emptyList(); + } +} diff --git a/android/src/main/java/com/horcrux/svg/RNSVGSvgView.java b/android/src/main/java/com/horcrux/svg/SvgView.java similarity index 95% rename from android/src/main/java/com/horcrux/svg/RNSVGSvgView.java rename to android/src/main/java/com/horcrux/svg/SvgView.java index af34ce85..4423d682 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGSvgView.java +++ b/android/src/main/java/com/horcrux/svg/SvgView.java @@ -32,7 +32,7 @@ import javax.annotation.Nullable; /** * Custom {@link View} implementation that draws an RNSVGSvg React view and its \children. */ -public class RNSVGSvgView extends View { +public class SvgView extends View { public enum Events { EVENT_DATA_URL("onDataURL"); @@ -56,14 +56,14 @@ public class RNSVGSvgView extends View { private final TouchEventCoalescingKeyHelper mTouchEventCoalescingKeyHelper = new TouchEventCoalescingKeyHelper(); - public RNSVGSvgView(ReactContext reactContext) { + public SvgView(ReactContext reactContext) { super(reactContext); mEventEmitter = reactContext.getJSModule(RCTEventEmitter.class); mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); } - private RNSVGSvgViewShadowNode getShadowNode() { - return RNSVGSvgViewShadowNode.getShadowNodeByTag(getId()); + private SvgViewShadowNode getShadowNode() { + return SvgViewShadowNode.getShadowNodeByTag(getId()); } public void setBitmap(Bitmap bitmap) { @@ -84,7 +84,7 @@ public class RNSVGSvgView extends View { @Override public boolean dispatchTouchEvent(MotionEvent ev) { - RNSVGSvgViewShadowNode svg = getShadowNode(); + SvgViewShadowNode svg = getShadowNode(); if (svg != null) { mTargetTag = getShadowNode().hitTest(new Point((int) ev.getX(), (int) ev.getY())); diff --git a/android/src/main/java/com/horcrux/svg/RNSVGSvgViewManager.java b/android/src/main/java/com/horcrux/svg/SvgViewManager.java similarity index 77% rename from android/src/main/java/com/horcrux/svg/RNSVGSvgViewManager.java rename to android/src/main/java/com/horcrux/svg/SvgViewManager.java index 356fbaf6..14241d3c 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGSvgViewManager.java +++ b/android/src/main/java/com/horcrux/svg/SvgViewManager.java @@ -25,10 +25,10 @@ import java.util.Map; import javax.annotation.Nullable; /** - * ViewManager for RNSVGSvgView React views. Renders as a {@link RNSVGSvgView} and handles + * ViewManager for RNSVGSvgView React views. Renders as a {@link SvgView} and handles * invalidating the native view on shadow view updates happening in the underlying tree. */ -public class RNSVGSvgViewManager extends BaseViewManager { +public class SvgViewManager extends BaseViewManager { private static final String REACT_CLASS = "RNSVGSvgView"; private static final int COMMAND_TO_DATA_URL = 100; @@ -50,24 +50,24 @@ public class RNSVGSvgViewManager extends BaseViewManager getShadowNodeClass() { - return RNSVGSvgViewShadowNode.class; + public Class getShadowNodeClass() { + return SvgViewShadowNode.class; } @Override - public RNSVGSvgViewShadowNode createShadowNodeInstance() { - RNSVGSvgViewShadowNode node = new RNSVGSvgViewShadowNode(); + public SvgViewShadowNode createShadowNodeInstance() { + SvgViewShadowNode node = new SvgViewShadowNode(); node.setMeasureFunction(MEASURE_FUNCTION); return node; } @Override - protected RNSVGSvgView createViewInstance(ThemedReactContext reactContext) { - return new RNSVGSvgView(reactContext); + protected SvgView createViewInstance(ThemedReactContext reactContext) { + return new SvgView(reactContext); } @Override - public void updateExtraData(RNSVGSvgView root, Object extraData) { + public void updateExtraData(SvgView root, Object extraData) { root.setBitmap((Bitmap) extraData); } @@ -87,14 +87,14 @@ public class RNSVGSvgViewManager extends BaseViewManager getExportedCustomDirectEventTypeConstants() { MapBuilder.Builder builder = MapBuilder.builder(); - for (RNSVGSvgView.Events event : RNSVGSvgView.Events.values()) { + for (SvgView.Events event : SvgView.Events.values()) { builder.put(event.toString(), MapBuilder.of("registrationName", event.toString())); } return builder.build(); } @Override - public void receiveCommand(RNSVGSvgView root, int commandId, @Nullable ReadableArray args) { + public void receiveCommand(SvgView root, int commandId, @Nullable ReadableArray args) { super.receiveCommand(root, commandId, args); switch (commandId) { diff --git a/android/src/main/java/com/horcrux/svg/RNSVGSvgViewShadowNode.java b/android/src/main/java/com/horcrux/svg/SvgViewShadowNode.java similarity index 78% rename from android/src/main/java/com/horcrux/svg/RNSVGSvgViewShadowNode.java rename to android/src/main/java/com/horcrux/svg/SvgViewShadowNode.java index d68259e3..f44a8bc8 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGSvgViewShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/SvgViewShadowNode.java @@ -16,12 +16,10 @@ import android.graphics.Point; import android.util.Base64; import android.util.SparseArray; import android.graphics.Color; -import android.view.Surface; import android.graphics.PorterDuff; import com.facebook.react.uimanager.LayoutShadowNode; import com.facebook.react.uimanager.UIViewOperationQueue; -import javax.annotation.Nullable; import java.io.ByteArrayOutputStream; import java.util.HashMap; import java.util.Map; @@ -29,17 +27,17 @@ import java.util.Map; /** * Shadow node for RNSVG virtual tree root - RNSVGSvgView */ -public class RNSVGSvgViewShadowNode extends LayoutShadowNode { +public class SvgViewShadowNode extends LayoutShadowNode { - private static final SparseArray mTagToShadowNode = new SparseArray<>(); + private static final SparseArray mTagToShadowNode = new SparseArray<>(); - public static RNSVGSvgViewShadowNode getShadowNodeByTag(int tag) { + public static SvgViewShadowNode getShadowNodeByTag(int tag) { return mTagToShadowNode.get(tag); } private boolean mResponsible = false; - private static final Map mDefinedClipPaths = new HashMap<>(); - private static final Map mDefinedTemplates = new HashMap<>(); + private static final Map mDefinedClipPaths = new HashMap<>(); + private static final Map mDefinedTemplates = new HashMap<>(); private static final Map mDefinedBrushes = new HashMap<>(); @Override @@ -81,11 +79,11 @@ public class RNSVGSvgViewShadowNode extends LayoutShadowNode { Paint paint = new Paint(); for (int i = 0; i < getChildCount(); i++) { - if (!(getChildAt(i) instanceof RNSVGVirtualNode)) { + if (!(getChildAt(i) instanceof VirtualNode)) { continue; } - RNSVGVirtualNode child = (RNSVGVirtualNode) getChildAt(i); + VirtualNode child = (VirtualNode) getChildAt(i); child.setupDimensions(canvas); child.saveDefinition(); child.draw(canvas, paint, 1f); @@ -125,11 +123,11 @@ public class RNSVGSvgViewShadowNode extends LayoutShadowNode { int count = getChildCount(); int viewTag = -1; for (int i = count - 1; i >= 0; i--) { - if (!(getChildAt(i) instanceof RNSVGVirtualNode)) { + if (!(getChildAt(i) instanceof VirtualNode)) { continue; } - viewTag = ((RNSVGVirtualNode) getChildAt(i)).hitTest(point); + viewTag = ((VirtualNode) getChildAt(i)).hitTest(point); if (viewTag != -1) { break; } @@ -138,19 +136,19 @@ public class RNSVGSvgViewShadowNode extends LayoutShadowNode { return viewTag; } - public void defineClipPath(RNSVGVirtualNode clipPath, String clipPathRef) { + public void defineClipPath(VirtualNode clipPath, String clipPathRef) { mDefinedClipPaths.put(clipPathRef, clipPath); } - public RNSVGVirtualNode getDefinedClipPath(String clipPathRef) { + public VirtualNode getDefinedClipPath(String clipPathRef) { return mDefinedClipPaths.get(clipPathRef); } - public void defineTemplate(RNSVGVirtualNode template, String templateRef) { + public void defineTemplate(VirtualNode template, String templateRef) { mDefinedTemplates.put(templateRef, template); } - public RNSVGVirtualNode getDefinedTemplate(String templateRef) { + public VirtualNode getDefinedTemplate(String templateRef) { return mDefinedTemplates.get(templateRef); } diff --git a/android/src/main/java/com/horcrux/svg/RNSVGTextShadowNode.java b/android/src/main/java/com/horcrux/svg/TextShadowNode.java similarity index 99% rename from android/src/main/java/com/horcrux/svg/RNSVGTextShadowNode.java rename to android/src/main/java/com/horcrux/svg/TextShadowNode.java index 7d8258a0..c1bdb193 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGTextShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/TextShadowNode.java @@ -29,7 +29,7 @@ import com.facebook.react.uimanager.annotations.ReactProp; /** * Shadow node for virtual RNSVGText view */ -public class RNSVGTextShadowNode extends RNSVGPathShadowNode { +public class TextShadowNode extends PathShadowNode { private static final String PROP_LINES = "lines"; diff --git a/android/src/main/java/com/horcrux/svg/RNSVGUseShadowNode.java b/android/src/main/java/com/horcrux/svg/UseShadowNode.java similarity index 92% rename from android/src/main/java/com/horcrux/svg/RNSVGUseShadowNode.java rename to android/src/main/java/com/horcrux/svg/UseShadowNode.java index 21e61eaf..a0ab7a7c 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGUseShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/UseShadowNode.java @@ -19,7 +19,7 @@ import com.facebook.react.uimanager.annotations.ReactProp; /** * Shadow node for virtual RNSVGPath view */ -public class RNSVGUseShadowNode extends RNSVGPathShadowNode { +public class UseShadowNode extends PathShadowNode { private String mHref; private String mWidth; @@ -53,7 +53,7 @@ public class RNSVGUseShadowNode extends RNSVGPathShadowNode { @Override public void draw(Canvas canvas, Paint paint, float opacity) { - RNSVGVirtualNode template = getSvgShadowNode().getDefinedTemplate(mHref); + VirtualNode template = getSvgShadowNode().getDefinedTemplate(mHref); if (template != null) { int count = saveAndSetupCanvas(canvas); diff --git a/android/src/main/java/com/horcrux/svg/RNSVGViewBoxShadowNode.java b/android/src/main/java/com/horcrux/svg/ViewBoxShadowNode.java similarity index 94% rename from android/src/main/java/com/horcrux/svg/RNSVGViewBoxShadowNode.java rename to android/src/main/java/com/horcrux/svg/ViewBoxShadowNode.java index 1c344f40..aa0762d2 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGViewBoxShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/ViewBoxShadowNode.java @@ -19,7 +19,7 @@ import com.facebook.react.uimanager.annotations.ReactProp; /** * Shadow node for virtual RNSVGPath view */ -public class RNSVGViewBoxShadowNode extends RNSVGGroupShadowNode { +public class ViewBoxShadowNode extends GroupShadowNode { private static final int MOS_MEET = 0; private static final int MOS_SLICE = 1; @@ -174,11 +174,11 @@ public class RNSVGViewBoxShadowNode extends RNSVGGroupShadowNode { } @Override - public void mergeProperties(RNSVGVirtualNode target, ReadableArray mergeList) { - if (target instanceof RNSVGUseShadowNode) { + public void mergeProperties(VirtualNode target, ReadableArray mergeList) { + if (target instanceof UseShadowNode) { mFromSymbol = true; - mBoxWidth = ((RNSVGUseShadowNode)target).getWidth(); - mBoxHeight = ((RNSVGUseShadowNode)target).getHeight(); + mBoxWidth = ((UseShadowNode)target).getWidth(); + mBoxHeight = ((UseShadowNode)target).getHeight(); } } diff --git a/android/src/main/java/com/horcrux/svg/RNSVGVirtualNode.java b/android/src/main/java/com/horcrux/svg/VirtualNode.java similarity index 92% rename from android/src/main/java/com/horcrux/svg/RNSVGVirtualNode.java rename to android/src/main/java/com/horcrux/svg/VirtualNode.java index a61db3a2..8de108f7 100644 --- a/android/src/main/java/com/horcrux/svg/RNSVGVirtualNode.java +++ b/android/src/main/java/com/horcrux/svg/VirtualNode.java @@ -26,7 +26,7 @@ import com.facebook.react.uimanager.annotations.ReactProp; import javax.annotation.Nullable; -public abstract class RNSVGVirtualNode extends LayoutShadowNode { +public abstract class VirtualNode extends LayoutShadowNode { protected static final float MIN_OPACITY_FOR_DRAW = 0.01f; @@ -58,9 +58,9 @@ public abstract class RNSVGVirtualNode extends LayoutShadowNode { protected int mCanvasHeight; protected String mName; - private RNSVGSvgViewShadowNode mSvgShadowNode; + private SvgViewShadowNode mSvgShadowNode; - public RNSVGVirtualNode() { + public VirtualNode() { mScale = DisplayMetricsHolder.getScreenDisplayMetrics().density; } @@ -228,7 +228,7 @@ public abstract class RNSVGVirtualNode extends LayoutShadowNode { protected @Nullable Path getClipPath(Canvas canvas, Paint paint) { Path clip = mClipPath; if (clip == null && mClipPathRef != null) { - RNSVGVirtualNode node = getSvgShadowNode().getDefinedClipPath(mClipPathRef); + VirtualNode node = getSvgShadowNode().getDefinedClipPath(mClipPathRef); clip = node.getPath(canvas, paint); } @@ -255,21 +255,21 @@ public abstract class RNSVGVirtualNode extends LayoutShadowNode { abstract protected Path getPath(Canvas canvas, Paint paint); - protected RNSVGSvgViewShadowNode getSvgShadowNode() { + protected SvgViewShadowNode getSvgShadowNode() { if (mSvgShadowNode != null) { return mSvgShadowNode; } ReactShadowNode parent = getParent(); - while (!(parent instanceof RNSVGSvgViewShadowNode)) { + while (!(parent instanceof SvgViewShadowNode)) { if (parent == null) { return null; } else { parent = parent.getParent(); } } - mSvgShadowNode = (RNSVGSvgViewShadowNode) parent; + mSvgShadowNode = (SvgViewShadowNode) parent; return mSvgShadowNode; } @@ -290,24 +290,24 @@ public abstract class RNSVGVirtualNode extends LayoutShadowNode { } } - abstract public void mergeProperties(RNSVGVirtualNode target, ReadableArray mergeList, boolean inherited); + abstract public void mergeProperties(VirtualNode target, ReadableArray mergeList, boolean inherited); - abstract public void mergeProperties(RNSVGVirtualNode target, ReadableArray mergeList); + abstract public void mergeProperties(VirtualNode target, ReadableArray mergeList); abstract public void resetProperties(); protected interface NodeRunnable { - boolean run(RNSVGVirtualNode node); + boolean run(VirtualNode node); } protected void traverseChildren(NodeRunnable runner) { for (int i = 0; i < getChildCount(); i++) { ReactShadowNode child = getChildAt(i); - if (!(child instanceof RNSVGVirtualNode)) { + if (!(child instanceof VirtualNode)) { continue; } - if (!runner.run((RNSVGVirtualNode) child)) { + if (!runner.run((VirtualNode) child)) { break; } }