Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
SkSVGPoly.h
Go to the documentation of this file.
1/*
2 * Copyright 2016 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef SkSVGPoly_DEFINED
9#define SkSVGPoly_DEFINED
10
11#include "include/core/SkPath.h"
13
14// Handles <polygon> and <polyline> elements.
15class SK_API SkSVGPoly final : public SkSVGShape {
16public:
20
24
26
27protected:
28 bool parseAndSetAttribute(const char*, const char*) override;
29
30 void onDraw(SkCanvas*, const SkSVGLengthContext&, const SkPaint&,
31 SkPathFillType) const override;
32
33 SkPath onAsPath(const SkSVGRenderContext&) const override;
34
35 SkRect onObjectBoundingBox(const SkSVGRenderContext&) const override;
36
37private:
39
40 mutable SkPath fPath; // mutated in onDraw(), to apply inherited fill types.
41
42 using INHERITED = SkSVGShape;
43};
44
45#endif // SkSVGPoly_DEFINED
SkPath fPath
#define SK_API
Definition SkAPI.h:35
SkPathFillType
Definition SkPathTypes.h:11
#define INHERITED(method,...)
SkSVGTag
Definition SkSVGNode.h:23
#define SVG_ATTR(attr_name, attr_type, attr_default)
Definition SkSVGNode.h:203
std::vector< SkPoint > SkSVGPointsType
Definition SkSVGTypes.h:31
static sk_sp< SkSVGPoly > MakePolygon()
Definition SkSVGPoly.h:17
static sk_sp< SkSVGPoly > MakePolyline()
Definition SkSVGPoly.h:21