mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2025-02-18 18:17:49 +01:00
DroidFish: Added support for rounded rectangles in SVG files.
This commit is contained in:
parent
936925dcc4
commit
a857fbc2cd
|
@ -1063,14 +1063,33 @@ public class SVGParser {
|
||||||
}
|
}
|
||||||
Float width = getFloatAttr("width", atts);
|
Float width = getFloatAttr("width", atts);
|
||||||
Float height = getFloatAttr("height", atts);
|
Float height = getFloatAttr("height", atts);
|
||||||
|
Float rx = getFloatAttr("rx", atts);
|
||||||
|
Float ry = getFloatAttr("ry", atts);
|
||||||
|
if (rx == null) {
|
||||||
|
if (ry == null)
|
||||||
|
rx = ry = 0f;
|
||||||
|
else
|
||||||
|
rx = ry;
|
||||||
|
} else {
|
||||||
|
if (ry == null)
|
||||||
|
ry = rx;
|
||||||
|
}
|
||||||
|
if (rx > width / 2) rx = width * 0.5f;
|
||||||
|
if (ry > height / 2) ry = height * 0.5f;
|
||||||
pushTransform(atts);
|
pushTransform(atts);
|
||||||
Properties props = new Properties(atts);
|
Properties props = new Properties(atts);
|
||||||
if (doFill(props, gradientMap)) {
|
if (doFill(props, gradientMap)) {
|
||||||
doLimits(x, y, width, height);
|
doLimits(x, y, width, height);
|
||||||
canvas.drawRect(x, y, x + width, y + height, paint);
|
if (rx > 0 && ry > 0)
|
||||||
|
canvas.drawRoundRect(new RectF(x, y, x + width, y + height), rx, ry, paint);
|
||||||
|
else
|
||||||
|
canvas.drawRect(x, y, x + width, y + height, paint);
|
||||||
}
|
}
|
||||||
if (doStroke(props)) {
|
if (doStroke(props)) {
|
||||||
canvas.drawRect(x, y, x + width, y + height, paint);
|
if (rx > 0 && ry > 0)
|
||||||
|
canvas.drawRoundRect(new RectF(x, y, x + width, y + height), rx, ry, paint);
|
||||||
|
else
|
||||||
|
canvas.drawRect(x, y, x + width, y + height, paint);
|
||||||
}
|
}
|
||||||
popTransform();
|
popTransform();
|
||||||
} else if (!hidden && localName.equals("line")) {
|
} else if (!hidden && localName.equals("line")) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user