mirror of
https://github.com/zoriya/react-native-svg.git
synced 2026-05-31 21:58:01 +00:00
Fix fontSize propagation and getFontSizeFromContext
This commit is contained in:
@@ -174,6 +174,7 @@ class GlyphContext {
|
||||
}
|
||||
|
||||
FontData data = new FontData(font, parent, mScale);
|
||||
mFontSize = data.fontSize;
|
||||
mFontContext.add(data);
|
||||
topFont = data;
|
||||
|
||||
|
||||
@@ -44,7 +44,6 @@ abstract class VirtualNode extends LayoutShadowNode {
|
||||
0, 0, 1
|
||||
};
|
||||
float mOpacity = 1f;
|
||||
private double mFontSize = -1;
|
||||
Matrix mMatrix = new Matrix();
|
||||
|
||||
private int mClipRule;
|
||||
@@ -63,6 +62,7 @@ abstract class VirtualNode extends LayoutShadowNode {
|
||||
private GroupShadowNode mTextRoot;
|
||||
private float canvasHeight = -1;
|
||||
private float canvasWidth = -1;
|
||||
private GlyphContext glyphContext;
|
||||
|
||||
VirtualNode() {
|
||||
mScale = DisplayMetricsHolder.getScreenDisplayMetrics().density;
|
||||
@@ -136,16 +136,16 @@ abstract class VirtualNode extends LayoutShadowNode {
|
||||
}
|
||||
|
||||
private double getFontSizeFromContext() {
|
||||
if (mFontSize != -1) {
|
||||
return mFontSize;
|
||||
}
|
||||
GroupShadowNode root = getTextRoot();
|
||||
if (root == null) {
|
||||
mFontSize = DEFAULT_FONT_SIZE;
|
||||
} else {
|
||||
mFontSize = root.getGlyphContext().getFontSize();
|
||||
return DEFAULT_FONT_SIZE;
|
||||
}
|
||||
return mFontSize;
|
||||
|
||||
if (glyphContext == null) {
|
||||
glyphContext = root.getGlyphContext();
|
||||
}
|
||||
|
||||
return glyphContext.getFontSize();
|
||||
}
|
||||
|
||||
public abstract void draw(Canvas canvas, Paint paint, float opacity);
|
||||
|
||||
Reference in New Issue
Block a user