diff --git a/android/src/main/java/com/horcrux/svg/TSpanView.java b/android/src/main/java/com/horcrux/svg/TSpanView.java index 61262fe4..7f6eb2af 100644 --- a/android/src/main/java/com/horcrux/svg/TSpanView.java +++ b/android/src/main/java/com/horcrux/svg/TSpanView.java @@ -44,7 +44,6 @@ class TSpanView extends TextView { private static final String OTF = ".otf"; private static final String TTF = ".ttf"; - private Path mCache; @Nullable String mContent; private TextPathView textPath; @@ -68,29 +67,24 @@ class TSpanView extends TextView { } } - @Override - void releaseCachedPath() { - mCache = null; - mPath = null; - } - @Override Path getPath(Canvas canvas, Paint paint) { - if (mCache != null) { - return mCache; + if (mPath != null) { + return mPath; } if (mContent == null) { - return getGroupPath(canvas, paint); + mPath = getGroupPath(canvas, paint); + return mPath; } setupTextPath(); pushGlyphContext(); - mCache = getLinePath(mContent, paint, canvas); + mPath = getLinePath(mContent, paint, canvas); popGlyphContext(); - return mCache; + return mPath; } @SuppressWarnings("ConstantConditions") diff --git a/android/src/main/java/com/horcrux/svg/TextView.java b/android/src/main/java/com/horcrux/svg/TextView.java index 099dbba6..4d0b6c92 100644 --- a/android/src/main/java/com/horcrux/svg/TextView.java +++ b/android/src/main/java/com/horcrux/svg/TextView.java @@ -137,6 +137,9 @@ class TextView extends GroupView { @Override Path getPath(Canvas canvas, Paint paint) { + if (mPath != null) { + return mPath; + } setupGlyphContext(canvas); return getGroupPath(canvas, paint); } @@ -186,11 +189,14 @@ class TextView extends GroupView { } Path getGroupPath(Canvas canvas, Paint paint) { + if (mPath != null) { + return mPath; + } pushGlyphContext(); - Path groupPath = super.getPath(canvas, paint); + mPath = super.getPath(canvas, paint); popGlyphContext(); - return groupPath; + return mPath; } @Override diff --git a/elements/Svg.js b/elements/Svg.js index c833ba18..f45d244a 100644 --- a/elements/Svg.js +++ b/elements/Svg.js @@ -124,8 +124,9 @@ class Svg extends Shape { ]} > - {children} - + /> ); }