Flutter Engine
The Flutter Engine
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:
19 }
20
23 }
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,...)
Definition: SkRecorder.cpp:128
SkSVGTag
Definition: SkSVGNode.h:23
#define SVG_ATTR(attr_name, attr_type, attr_default)
Definition: SkSVGNode.h:210
std::vector< SkPoint > SkSVGPointsType
Definition: SkSVGTypes.h:31
Definition: SkPath.h:59
static sk_sp< SkSVGPoly > MakePolygon()
Definition: SkSVGPoly.h:17
static sk_sp< SkSVGPoly > MakePolyline()
Definition: SkSVGPoly.h:21