Flutter Engine
The Flutter Engine
SkSVGLine.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 SkSVGLine_DEFINED
9#define SkSVGLine_DEFINED
10
13
14struct SkPoint;
15
16class SK_API SkSVGLine final : public SkSVGShape {
17public:
18 static sk_sp<SkSVGLine> Make() { return sk_sp<SkSVGLine>(new SkSVGLine()); }
19
24
25protected:
26 bool parseAndSetAttribute(const char*, const char*) override;
27
28 void onDraw(SkCanvas*, const SkSVGLengthContext&, const SkPaint&,
29 SkPathFillType) const override;
30
31 SkPath onAsPath(const SkSVGRenderContext&) const override;
32
33private:
34 SkSVGLine();
35
36 // resolve and return the two endpoints
37 std::tuple<SkPoint, SkPoint> resolve(const SkSVGLengthContext&) const;
38
39 using INHERITED = SkSVGShape;
40};
41
42#endif // SkSVGLine_DEFINED
#define SK_API
Definition: SkAPI.h:35
SkPathFillType
Definition: SkPathTypes.h:11
#define INHERITED(method,...)
Definition: SkRecorder.cpp:128
#define SVG_ATTR(attr_name, attr_type, attr_default)
Definition: SkSVGNode.h:210
Definition: SkPath.h:59
static sk_sp< SkSVGLine > Make()
Definition: SkSVGLine.h:18
Definition: ref_ptr.h:256