18 this->setCx(SkSVGAttributeParser::parse<SkSVGLength>(
"cx", n, v)) ||
19 this->setCy(SkSVGAttributeParser::parse<SkSVGLength>(
"cy", n, v)) ||
20 this->setRx(SkSVGAttributeParser::parse<SkSVGLength>(
"rx", n, v)) ||
21 this->setRy(SkSVGAttributeParser::parse<SkSVGLength>(
"ry", n, v));
36 return (rx > 0 && ry > 0)
#define INHERITED(method,...)
std::tuple< float, float > ResolveOptionalRadii(const SkTLazy< SkSVGLength > &opt_rx, const SkTLazy< SkSVGLength > &opt_ry, const SkSVGLengthContext &lctx)
void drawOval(const SkRect &oval, const SkPaint &paint)
static SkPath Oval(const SkRect &, SkPathDirection=SkPathDirection::kCW)
bool parseAndSetAttribute(const char *, const char *) override
void onDraw(SkCanvas *, const SkSVGLengthContext &, const SkPaint &, SkPathFillType) const override
SkPath onAsPath(const SkSVGRenderContext &) const override
SkScalar resolve(const SkSVGLength &, LengthType) const
virtual bool parseAndSetAttribute(const char *name, const char *value)
const SkSVGLengthContext & lengthContext() const
static constexpr SkRect MakeXYWH(float x, float y, float w, float h)