From 81f817eca321cbbb5b4275a3858ce3f0927af306 Mon Sep 17 00:00:00 2001 From: Mikael Sand Date: Sun, 9 Jun 2019 14:30:21 +0300 Subject: [PATCH] Fix linting --- README.md | 2 +- android/src/main/AndroidManifest.xml | 3 +- .../src/main/java/com/horcrux/svg/Brush.java | 3 +- .../main/java/com/horcrux/svg/FontData.java | 2 -- .../main/java/com/horcrux/svg/GroupView.java | 2 +- .../main/java/com/horcrux/svg/ImageView.java | 1 + .../main/java/com/horcrux/svg/PropHelper.java | 11 ++++---- .../java/com/horcrux/svg/RenderableView.java | 28 +++++++++---------- .../horcrux/svg/RenderableViewManager.java | 19 ++++++------- .../main/java/com/horcrux/svg/SVGLength.java | 4 +-- .../main/java/com/horcrux/svg/SvgPackage.java | 8 ++++-- .../main/java/com/horcrux/svg/SvgView.java | 6 ++-- .../java/com/horcrux/svg/SvgViewManager.java | 5 +++- .../java/com/horcrux/svg/SvgViewModule.java | 8 ++++-- .../main/java/com/horcrux/svg/TSpanView.java | 8 +++--- .../java/com/horcrux/svg/TextPathView.java | 2 +- .../java/com/horcrux/svg/TextProperties.java | 5 ++++ .../main/java/com/horcrux/svg/TextView.java | 14 +++++----- .../java/com/horcrux/svg/VirtualView.java | 7 ++--- ios/Brushes/RNSVGBrush.h | 4 +-- ios/RNSVGNode.h | 2 +- 21 files changed, 77 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index df10776c..87776366 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ The latest version of react-native-svg should always work in a clean react-nativ Or, include [this PR](https://github.com/facebook/react-native/pull/17842) manually for v7+ stability on android for older RN ( [included in 0.57-stable](https://github.com/facebook/react-native/commit/d9f5319cf0d9828b29d0e350284b22ce29985042) and newer). -The latest version of v6, v7, v8 and v9 should all work in the latest react-native version. +The latest version of v6, v7, v8 and v9 should all work in the latest react-native version. v7 and newer requires the patch for making android thread safe, to get native animation support. diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index ab5e09d9..d85bd62e 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,3 +1,2 @@ - + diff --git a/android/src/main/java/com/horcrux/svg/Brush.java b/android/src/main/java/com/horcrux/svg/Brush.java index 4ca247d8..49fce0f9 100644 --- a/android/src/main/java/com/horcrux/svg/Brush.java +++ b/android/src/main/java/com/horcrux/svg/Brush.java @@ -12,7 +12,6 @@ package com.horcrux.svg; import android.graphics.Bitmap; import android.graphics.BitmapShader; import android.graphics.Canvas; -import android.graphics.Color; import android.graphics.LinearGradient; import android.graphics.Matrix; import android.graphics.Paint; @@ -32,7 +31,7 @@ class Brush { private final boolean mUseObjectBoundingBox; // TODO implement pattern units - @SuppressWarnings({"FieldCanBeLocal", "unused"}) + @SuppressWarnings({"unused"}) private boolean mUseContentObjectBoundingBoxUnits; private Matrix mMatrix; diff --git a/android/src/main/java/com/horcrux/svg/FontData.java b/android/src/main/java/com/horcrux/svg/FontData.java index 81869ee6..1be1d401 100644 --- a/android/src/main/java/com/horcrux/svg/FontData.java +++ b/android/src/main/java/com/horcrux/svg/FontData.java @@ -66,7 +66,6 @@ class FontData { return PropHelper.fromRelative( string, 0, - 0, scale, fontSize ); @@ -84,7 +83,6 @@ class FontData { fontSize = PropHelper.fromRelative( string, parentFontSize, - 0, 1, parentFontSize ); diff --git a/android/src/main/java/com/horcrux/svg/GroupView.java b/android/src/main/java/com/horcrux/svg/GroupView.java index 12addd65..b2dec8b6 100644 --- a/android/src/main/java/com/horcrux/svg/GroupView.java +++ b/android/src/main/java/com/horcrux/svg/GroupView.java @@ -29,7 +29,7 @@ import javax.annotation.Nullable; @SuppressLint("ViewConstructor") class GroupView extends RenderableView { @Nullable ReadableMap mFont; - GlyphContext mGlyphContext; + private GlyphContext mGlyphContext; public GroupView(ReactContext reactContext) { super(reactContext); diff --git a/android/src/main/java/com/horcrux/svg/ImageView.java b/android/src/main/java/com/horcrux/svg/ImageView.java index 69399949..8c0377fd 100644 --- a/android/src/main/java/com/horcrux/svg/ImageView.java +++ b/android/src/main/java/com/horcrux/svg/ImageView.java @@ -203,6 +203,7 @@ class ImageView extends RenderableView { Paint alphaPaint = new Paint(); alphaPaint.setAlpha((int) (opacity * 255)); canvas.drawBitmap(bitmap, null, vbRect, alphaPaint); + //noinspection deprecation canvas.getMatrix().mapRect(vbRect); this.setClientRect(vbRect); } diff --git a/android/src/main/java/com/horcrux/svg/PropHelper.java b/android/src/main/java/com/horcrux/svg/PropHelper.java index 14643947..ab313463 100644 --- a/android/src/main/java/com/horcrux/svg/PropHelper.java +++ b/android/src/main/java/com/horcrux/svg/PropHelper.java @@ -62,12 +62,11 @@ class PropHelper { * * @param length length string * @param relative relative size for percentages - * @param offset offset for all units * @param scale scaling parameter * @param fontSize current font size * @return value in the current user coordinate system */ - static double fromRelative(String length, double relative, double offset, double scale, double fontSize) { + static double fromRelative(String length, double relative, double scale, double fontSize) { /* TODO list @@ -94,9 +93,9 @@ class PropHelper { int stringLength = length.length(); int percentIndex = stringLength - 1; if (stringLength == 0 || length.equals("normal")) { - return offset; + return 0d; } else if (length.codePointAt(percentIndex) == '%') { - return Double.valueOf(length.substring(0, percentIndex)) / 100 * relative + offset; + return Double.valueOf(length.substring(0, percentIndex)) / 100 * relative; } else { int twoLetterUnitIndex = stringLength - 2; if (twoLetterUnitIndex > 0) { @@ -144,9 +143,9 @@ class PropHelper { end = stringLength; } - return Double.valueOf(length.substring(0, end)) * unit * scale + offset; + return Double.valueOf(length.substring(0, end)) * unit * scale; } else { - return Double.valueOf(length) * scale + offset; + return Double.valueOf(length) * scale; } } } diff --git a/android/src/main/java/com/horcrux/svg/RenderableView.java b/android/src/main/java/com/horcrux/svg/RenderableView.java index 84c29d08..9df36d51 100644 --- a/android/src/main/java/com/horcrux/svg/RenderableView.java +++ b/android/src/main/java/com/horcrux/svg/RenderableView.java @@ -36,6 +36,7 @@ import java.util.regex.Pattern; import javax.annotation.Nullable; +@SuppressWarnings({"WeakerAccess", "RedundantSuppression"}) abstract public class RenderableView extends VirtualView { RenderableView(ReactContext reactContext) { @@ -57,17 +58,16 @@ abstract public class RenderableView extends VirtualView { static final int FILL_RULE_NONZERO = 1; // vectorEffect - static final int VECTOR_EFFECT_DEFAULT = 0; - static final int VECTOR_EFFECT_NON_SCALING_STROKE = 1; - static final int VECTOR_EFFECT_INHERIT = 2; - static final int VECTOR_EFFECT_URI = 3; - - public int vectorEffect = VECTOR_EFFECT_DEFAULT; + private static final int VECTOR_EFFECT_DEFAULT = 0; + private static final int VECTOR_EFFECT_NON_SCALING_STROKE = 1; + //static final int VECTOR_EFFECT_INHERIT = 2; + //static final int VECTOR_EFFECT_URI = 3; /* Used in mergeProperties, keep public */ + public int vectorEffect = VECTOR_EFFECT_DEFAULT; public @Nullable ReadableArray stroke; public @Nullable SVGLength[] strokeDasharray; @@ -86,15 +86,14 @@ abstract public class RenderableView extends VirtualView { /* End merged properties */ - - @Nullable ArrayList mLastMergedList; - @Nullable ArrayList mOriginProperties; - @Nullable ArrayList mPropList; - @Nullable ArrayList mAttributeList; + private @Nullable ArrayList mLastMergedList; + private @Nullable ArrayList mOriginProperties; + private @Nullable ArrayList mPropList; + private @Nullable ArrayList mAttributeList; private static final Pattern regex = Pattern.compile("[0-9.-]+"); - @ReactProp(name = "vectorEffect", defaultInt = VECTOR_EFFECT_DEFAULT) + @ReactProp(name = "vectorEffect") public void setVectorEffect(int vectorEffect) { this.vectorEffect = vectorEffect; invalidate(); @@ -116,7 +115,7 @@ abstract public class RenderableView extends VirtualView { Matcher m = regex.matcher(fill.asString()); int i = 0; while (m.find()) { - Double parsed = Double.parseDouble(m.group()); + double parsed = Double.parseDouble(m.group()); arr.pushDouble(i++ < 3 ? parsed / 255 : parsed); } this.fill = arr; @@ -161,7 +160,7 @@ abstract public class RenderableView extends VirtualView { arr.pushInt(0); Matcher m = regex.matcher(strokeColors.asString()); while (m.find()) { - Double parsed = Double.parseDouble(m.group()); + double parsed = Double.parseDouble(m.group()); arr.pushDouble(parsed); } stroke = arr; @@ -340,6 +339,7 @@ abstract public class RenderableView extends VirtualView { Path path = mPath; if (nonScalingStroke) { Path scaled = new Path(); + //noinspection deprecation mPath.transform(canvas.getMatrix(), scaled); canvas.setMatrix(null); path = scaled; diff --git a/android/src/main/java/com/horcrux/svg/RenderableViewManager.java b/android/src/main/java/com/horcrux/svg/RenderableViewManager.java index c69810ac..5128e1f4 100644 --- a/android/src/main/java/com/horcrux/svg/RenderableViewManager.java +++ b/android/src/main/java/com/horcrux/svg/RenderableViewManager.java @@ -28,6 +28,7 @@ import com.facebook.react.uimanager.ViewGroupManager; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.annotations.ReactPropGroup; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import static com.facebook.react.uimanager.MatrixMathHelper.determinant; @@ -44,7 +45,6 @@ import static com.facebook.react.uimanager.ViewProps.*; import static com.horcrux.svg.RenderableView.CAP_ROUND; import static com.horcrux.svg.RenderableView.FILL_RULE_NONZERO; import static com.horcrux.svg.RenderableView.JOIN_ROUND; -import static com.horcrux.svg.RenderableView.VECTOR_EFFECT_DEFAULT; /** * ViewManager for all RNSVG views @@ -74,7 +74,7 @@ class RenderableViewManager extends ViewGroupManager { class RenderableShadowNode extends LayoutShadowNode { - @SuppressWarnings("unused") + @SuppressWarnings({"unused", "EmptyMethod"}) @ReactPropGroup( names = { ALIGN_SELF, @@ -178,9 +178,6 @@ class RenderableViewManager extends ViewGroupManager { } private static void decomposeMatrix() { - if (sTransformDecompositionArray.length != 16) { - throw new AssertionError(); - } // output values final double[] perspective = sMatrixDecompositionContext.perspective; @@ -934,6 +931,7 @@ class RenderableViewManager extends ViewGroupManager { mClassName = svgclass.toString(); } + @Nonnull @Override public String getName() { return mClassName; @@ -955,7 +953,7 @@ class RenderableViewManager extends ViewGroupManager { } @ReactProp(name = "opacity", defaultFloat = 1f) - public void setOpacity(VirtualView node, float opacity) { + public void setOpacity(@Nonnull VirtualView node, float opacity) { node.setOpacity(opacity); } @@ -1015,7 +1013,7 @@ class RenderableViewManager extends ViewGroupManager { node.setStrokeLinejoin(strokeLinejoin); } - @ReactProp(name = "vectorEffect", defaultInt = VECTOR_EFFECT_DEFAULT) + @ReactProp(name = "vectorEffect") public void setVectorEffect(RenderableView node, int vectorEffect) { node.setVectorEffect(vectorEffect); } @@ -1067,7 +1065,7 @@ class RenderableViewManager extends ViewGroupManager { } @Override - protected void addEventEmitters(ThemedReactContext reactContext, VirtualView view) { + protected void addEventEmitters(@Nonnull ThemedReactContext reactContext, @Nonnull VirtualView view) { super.addEventEmitters(reactContext, view); view.setOnHierarchyChangeListener(new ViewGroup.OnHierarchyChangeListener() { @Override @@ -1093,13 +1091,14 @@ class RenderableViewManager extends ViewGroupManager { * the parent class of the ViewManager may rely on callback being executed. */ @Override - protected void onAfterUpdateTransaction(VirtualView node) { + protected void onAfterUpdateTransaction(@Nonnull VirtualView node) { super.onAfterUpdateTransaction(node); invalidateSvgView(node); } + @Nonnull @Override - protected VirtualView createViewInstance(ThemedReactContext reactContext) { + protected VirtualView createViewInstance(@Nonnull ThemedReactContext reactContext) { switch (svgClass) { case RNSVGGroup: return new GroupView(reactContext); diff --git a/android/src/main/java/com/horcrux/svg/SVGLength.java b/android/src/main/java/com/horcrux/svg/SVGLength.java index b3022549..01db76f2 100644 --- a/android/src/main/java/com/horcrux/svg/SVGLength.java +++ b/android/src/main/java/com/horcrux/svg/SVGLength.java @@ -23,7 +23,7 @@ enum SVGLengthUnitType { class SVGLength { final double value; final SVGLengthUnitType unit; - SVGLength() { + private SVGLength() { value = 0; unit = SVGLengthUnitType.SVG_LENGTHTYPE_UNKNOWN; } @@ -31,7 +31,7 @@ class SVGLength { value = number; unit = SVGLengthUnitType.SVG_LENGTHTYPE_NUMBER; } - SVGLength(String length) { + private SVGLength(String length) { length = length.trim(); int stringLength = length.length(); int percentIndex = stringLength - 1; diff --git a/android/src/main/java/com/horcrux/svg/SvgPackage.java b/android/src/main/java/com/horcrux/svg/SvgPackage.java index d89c1475..64a2ee17 100644 --- a/android/src/main/java/com/horcrux/svg/SvgPackage.java +++ b/android/src/main/java/com/horcrux/svg/SvgPackage.java @@ -19,12 +19,15 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import javax.annotation.Nonnull; + import static com.horcrux.svg.RenderableViewManager.*; public class SvgPackage implements ReactPackage { + @Nonnull @Override - public List createViewManagers(ReactApplicationContext reactContext) { + public List createViewManagers(@Nonnull ReactApplicationContext reactContext) { return Arrays.asList( new GroupViewManager(), new PathViewManager(), @@ -47,8 +50,9 @@ public class SvgPackage implements ReactPackage { new SvgViewManager()); } + @Nonnull @Override - public List createNativeModules(ReactApplicationContext reactContext) { + public List createNativeModules(@Nonnull ReactApplicationContext reactContext) { return Collections.singletonList(new SvgViewModule(reactContext)); } diff --git a/android/src/main/java/com/horcrux/svg/SvgView.java b/android/src/main/java/com/horcrux/svg/SvgView.java index 74c97d3c..7b708642 100644 --- a/android/src/main/java/com/horcrux/svg/SvgView.java +++ b/android/src/main/java/com/horcrux/svg/SvgView.java @@ -33,6 +33,7 @@ import java.io.ByteArrayOutputStream; import java.util.HashMap; import java.util.Map; +import javax.annotation.Nonnull; import javax.annotation.Nullable; /** @@ -56,6 +57,7 @@ public class SvgView extends ReactViewGroup implements ReactCompoundView, ReactC mName = name; } + @Nonnull public String toString() { return mName; } @@ -149,8 +151,8 @@ public class SvgView extends ReactViewGroup implements ReactCompoundView, ReactC private boolean mRendered = false; int mTintColor = 0; - boolean isRendered() { - return mRendered; + boolean notRendered() { + return !mRendered; } private void clearChildCache() { diff --git a/android/src/main/java/com/horcrux/svg/SvgViewManager.java b/android/src/main/java/com/horcrux/svg/SvgViewManager.java index 862e22dd..52d53897 100644 --- a/android/src/main/java/com/horcrux/svg/SvgViewManager.java +++ b/android/src/main/java/com/horcrux/svg/SvgViewManager.java @@ -17,6 +17,7 @@ import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.views.view.ReactViewGroup; import com.facebook.react.views.view.ReactViewManager; +import javax.annotation.Nonnull; import javax.annotation.Nullable; /** @@ -47,11 +48,13 @@ class SvgViewManager extends ReactViewManager { return mTagToSvgView.get(tag); } + @Nonnull @Override public String getName() { return REACT_CLASS; } + @Nonnull @Override public SvgView createViewInstance(ThemedReactContext reactContext) { return new SvgView(reactContext); @@ -64,7 +67,7 @@ class SvgViewManager extends ReactViewManager { } @Override - public void onDropViewInstance(ReactViewGroup view) { + public void onDropViewInstance(@Nonnull ReactViewGroup view) { super.onDropViewInstance(view); mTagToSvgView.remove(view.getId()); } diff --git a/android/src/main/java/com/horcrux/svg/SvgViewModule.java b/android/src/main/java/com/horcrux/svg/SvgViewModule.java index 42e749e7..f1e3b66b 100644 --- a/android/src/main/java/com/horcrux/svg/SvgViewModule.java +++ b/android/src/main/java/com/horcrux/svg/SvgViewModule.java @@ -16,17 +16,20 @@ import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.UiThreadUtil; +import javax.annotation.Nonnull; + class SvgViewModule extends ReactContextBaseJavaModule { SvgViewModule(ReactApplicationContext reactContext) { super(reactContext); } + @Nonnull @Override public String getName() { return "RNSVGSvgViewManager"; } - static public void toDataURL(final int tag, final ReadableMap options, final Callback successCallback, final int attempt) { + private static void toDataURL(final int tag, final ReadableMap options, final Callback successCallback, final int attempt) { UiThreadUtil.runOnUiThread( new Runnable() { @Override @@ -49,7 +52,7 @@ class SvgViewModule extends ReactContextBaseJavaModule { }); } }); - } else if (!svg.isRendered()) { + } else if (svg.notRendered()) { svg.setToDataUrlTask(new Runnable() { @Override public void run() { @@ -73,6 +76,7 @@ class SvgViewModule extends ReactContextBaseJavaModule { ); } + @SuppressWarnings("unused") @ReactMethod public void toDataURL(int tag, ReadableMap options, Callback successCallback) { toDataURL(tag, options, successCallback, 0); diff --git a/android/src/main/java/com/horcrux/svg/TSpanView.java b/android/src/main/java/com/horcrux/svg/TSpanView.java index 6aff115f..4985583f 100644 --- a/android/src/main/java/com/horcrux/svg/TSpanView.java +++ b/android/src/main/java/com/horcrux/svg/TSpanView.java @@ -51,8 +51,8 @@ class TSpanView extends TextView { private Path mCachedPath; @Nullable String mContent; private TextPathView textPath; - ArrayList emoji = new ArrayList<>(); - ArrayList emojiTransforms = new ArrayList<>(); + private final ArrayList emoji = new ArrayList<>(); + private final ArrayList emojiTransforms = new ArrayList<>(); public TSpanView(ReactContext reactContext) { super(reactContext); @@ -746,7 +746,7 @@ class TSpanView extends TextView { break; default: - baselineShift -= PropHelper.fromRelative(baselineShiftString, mScale * fontSize, 0, mScale, fontSize); + baselineShift -= PropHelper.fromRelative(baselineShiftString, mScale * fontSize, mScale, fontSize); } break; } @@ -781,7 +781,7 @@ class TSpanView extends TextView { if (nextWidth > 0) { break; } - String nextLigature = current + String.valueOf(chars[nextIndex]); + String nextLigature = current + chars[nextIndex]; ligature[nextIndex] = true; current = nextLigature; hasLigature = true; diff --git a/android/src/main/java/com/horcrux/svg/TextPathView.java b/android/src/main/java/com/horcrux/svg/TextPathView.java index 7e5e9fa5..34c9d282 100644 --- a/android/src/main/java/com/horcrux/svg/TextPathView.java +++ b/android/src/main/java/com/horcrux/svg/TextPathView.java @@ -103,7 +103,7 @@ class TextPathView extends TextView { SvgView svg = getSvgView(); VirtualView template = svg.getDefinedTemplate(mHref); - if (template == null || !(template instanceof RenderableView)) { + if (!(template instanceof RenderableView)) { // warning about this. return null; } diff --git a/android/src/main/java/com/horcrux/svg/TextProperties.java b/android/src/main/java/com/horcrux/svg/TextProperties.java index 488d0189..3f4f1f14 100644 --- a/android/src/main/java/com/horcrux/svg/TextProperties.java +++ b/android/src/main/java/com/horcrux/svg/TextProperties.java @@ -3,6 +3,8 @@ package com.horcrux.svg; import java.util.HashMap; import java.util.Map; +import javax.annotation.Nonnull; + class TextProperties { /* @@ -67,6 +69,7 @@ class TextProperties { } } + @Nonnull @Override public String toString() { return alignment; @@ -125,6 +128,7 @@ class TextProperties { } } + @Nonnull @Override public String toString() { return weight; @@ -165,6 +169,7 @@ class TextProperties { } } + @Nonnull @Override public String toString() { return decoration; diff --git a/android/src/main/java/com/horcrux/svg/TextView.java b/android/src/main/java/com/horcrux/svg/TextView.java index 0fa37376..95a5e832 100644 --- a/android/src/main/java/com/horcrux/svg/TextView.java +++ b/android/src/main/java/com/horcrux/svg/TextView.java @@ -31,14 +31,14 @@ import static com.horcrux.svg.TextProperties.TextLengthAdjust; @SuppressLint("ViewConstructor") class TextView extends GroupView { SVGLength mTextLength = null; - String mBaselineShift = null; + private String mBaselineShift = null; TextLengthAdjust mLengthAdjust = TextLengthAdjust.spacing; - AlignmentBaseline mAlignmentBaseline; - @Nullable ArrayList mPositionX; - @Nullable ArrayList mPositionY; - @Nullable ArrayList mRotate; - @Nullable ArrayList mDeltaX; - @Nullable ArrayList mDeltaY; + private AlignmentBaseline mAlignmentBaseline; + @Nullable private ArrayList mPositionX; + @Nullable private ArrayList mPositionY; + @Nullable private ArrayList mRotate; + @Nullable private ArrayList mDeltaX; + @Nullable private ArrayList mDeltaY; double cachedAdvance = Double.NaN; public TextView(ReactContext reactContext) { diff --git a/android/src/main/java/com/horcrux/svg/VirtualView.java b/android/src/main/java/com/horcrux/svg/VirtualView.java index 933ab5ad..f7fce76a 100644 --- a/android/src/main/java/com/horcrux/svg/VirtualView.java +++ b/android/src/main/java/com/horcrux/svg/VirtualView.java @@ -13,7 +13,6 @@ import android.view.ViewParent; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.Dynamic; import com.facebook.react.bridge.ReactContext; -import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableType; import com.facebook.react.common.ReactConstants; import com.facebook.react.uimanager.DisplayMetricsHolder; @@ -23,8 +22,6 @@ import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.EventDispatcher; import com.facebook.react.views.view.ReactViewGroup; -import java.util.ArrayList; - import javax.annotation.Nullable; import static com.horcrux.svg.FontData.DEFAULT_FONT_SIZE; @@ -57,7 +54,7 @@ abstract public class VirtualView extends ReactViewGroup { Matrix mMatrix = new Matrix(); Matrix mTransform = new Matrix(); Matrix mInvMatrix = new Matrix(); - Matrix mInvTransform = new Matrix(); + final Matrix mInvTransform = new Matrix(); boolean mInvertible = true; boolean mTransformInvertible = true; private RectF mClientRect; @@ -384,7 +381,7 @@ abstract public class VirtualView extends ReactViewGroup { * @param length length string * @return value in the current user coordinate system */ - double fromRelativeFast(SVGLength length) { + private double fromRelativeFast(SVGLength length) { double unit; switch (length.unit) { case SVG_LENGTHTYPE_EMS: diff --git a/ios/Brushes/RNSVGBrush.h b/ios/Brushes/RNSVGBrush.h index 28269eb7..87471453 100644 --- a/ios/Brushes/RNSVGBrush.h +++ b/ios/Brushes/RNSVGBrush.h @@ -19,21 +19,21 @@ - (instancetype)initWithArray:(NSArray *)data NS_DESIGNATED_INITIALIZER; /** + * @abstract * For certain brushes we can fast path a combined fill and stroke. * For those brushes we override applyFillColor which sets the fill * color to be used by those batch paints. Those return YES. * We can't batch gradient painting in CoreGraphics, so those will * return NO and paint gets called instead. - * @abstract */ - (BOOL)applyFillColor:(CGContextRef)context opacity:(CGFloat)opacity; - (BOOL)applyStrokeColor:(CGContextRef)context opacity:(CGFloat)opacity; /** + * @abstract * paint fills the context with a brush. The context is assumed to * be clipped. - * @abstract */ - (void)paint:(CGContextRef)context opacity:(CGFloat)opacity painter:(RNSVGPainter *)painter bounds:(CGRect)bounds; diff --git a/ios/RNSVGNode.h b/ios/RNSVGNode.h index 83dde07e..d992478b 100644 --- a/ios/RNSVGNode.h +++ b/ios/RNSVGNode.h @@ -59,9 +59,9 @@ extern CGFloat const RNSVG_DEFAULT_FONT_SIZE; - (void)renderTo:(CGContextRef)context rect:(CGRect)rect; /** + * @abstract * renderTo will take opacity into account and draw renderLayerTo off-screen if there is opacity * specified, then composite that onto the context. renderLayerTo always draws at opacity=1. - * @abstract */ - (void)renderLayerTo:(CGContextRef)context rect:(CGRect)rect;