Flutter Engine
The Flutter Engine
SkSVGRect.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 SkSVGRect_DEFINED
9#define SkSVGRect_DEFINED
10
13
14class SkRRect;
15
16class SK_API SkSVGRect final : public SkSVGShape {
17public:
18 static sk_sp<SkSVGRect> Make() { return sk_sp<SkSVGRect>(new SkSVGRect()); }
19
24
27
28protected:
29 bool parseAndSetAttribute(const char*, const char*) override;
30
31 void onDraw(SkCanvas*, const SkSVGLengthContext&, const SkPaint&,
32 SkPathFillType) const override;
33
34 SkPath onAsPath(const SkSVGRenderContext&) const override;
35
36 SkRect onObjectBoundingBox(const SkSVGRenderContext&) const override;
37
38private:
39 SkSVGRect();
40
41 SkRRect resolve(const SkSVGLengthContext&) const;
42
43 using INHERITED = SkSVGShape;
44};
45
46#endif // SkSVGRect_DEFINED
#define SK_API
Definition: SkAPI.h:35
SkPathFillType
Definition: SkPathTypes.h:11
#define INHERITED(method,...)
Definition: SkRecorder.cpp:128
#define SVG_OPTIONAL_ATTR(attr_name, attr_type)
Definition: SkSVGNode.h:220
#define SVG_ATTR(attr_name, attr_type, attr_default)
Definition: SkSVGNode.h:210
static const SkScalar Y
Definition: StrokeBench.cpp:55
static const SkScalar X
Definition: StrokeBench.cpp:54
Definition: SkPath.h:59
static sk_sp< SkSVGRect > Make()
Definition: SkSVGRect.h:18