17 this->setCx(SkSVGAttributeParser::parse<SkSVGLength>(
"cx", n, v)) ||
18 this->setCy(SkSVGAttributeParser::parse<SkSVGLength>(
"cy", n, v)) ||
19 this->setR(SkSVGAttributeParser::parse<SkSVGLength>(
"r", n, v));
22std::tuple<SkPoint, SkScalar> SkSVGCircle::resolve(
const SkSVGLengthContext& lctx)
const {
33 std::tie(
pos, r) = this->resolve(lctx);
#define INHERITED(method,...)
void drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint &paint)
static SkPath Circle(SkScalar center_x, SkScalar center_y, SkScalar radius, SkPathDirection dir=SkPathDirection::kCW)
void onDraw(SkCanvas *, const SkSVGLengthContext &, const SkPaint &, SkPathFillType) const override
SkRect onObjectBoundingBox(const SkSVGRenderContext &) const override
SkPath onAsPath(const SkSVGRenderContext &) const override
bool parseAndSetAttribute(const char *, const char *) override
SkScalar resolve(const SkSVGLength &, LengthType) const
virtual bool parseAndSetAttribute(const char *name, const char *value)
const SkSVGLengthContext & lengthContext() const
static constexpr SkPoint Make(float x, float y)
constexpr float y() const
constexpr float x() const
static constexpr SkRect MakeXYWH(float x, float y, float w, float h)