Flutter Impeller
path_builder.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_IMPELLER_TOOLKIT_INTEROP_PATH_BUILDER_H_
6 #define FLUTTER_IMPELLER_TOOLKIT_INTEROP_PATH_BUILDER_H_
7 
8 #include "flutter/third_party/skia/include/core/SkPath.h"
14 
15 namespace impeller::interop {
16 
17 class PathBuilder final
18  : public Object<PathBuilder,
19  IMPELLER_INTERNAL_HANDLE_NAME(ImpellerPathBuilder)> {
20  public:
22 
24 
25  PathBuilder(const PathBuilder&) = delete;
26 
27  PathBuilder& operator=(const PathBuilder&) = delete;
28 
29  void MoveTo(const Point& point);
30 
31  void LineTo(const Point& location);
32 
33  void QuadraticCurveTo(const Point& control_point, const Point& end_point);
34 
35  void CubicCurveTo(const Point& control_point_1,
36  const Point& control_point_2,
37  const Point& end_point);
38 
39  void AddRect(const Rect& rect);
40 
41  void AddArc(const Rect& oval_bounds, Degrees start_angle, Degrees end_angle);
42 
43  void AddOval(const Rect& oval_bounds);
44 
45  void AddRoundedRect(const Rect& rect, const RoundingRadii& radii);
46 
47  void Close();
48 
50 
52 
53  private:
54  SkPath builder_;
55 };
56 
57 } // namespace impeller::interop
58 
59 #endif // FLUTTER_IMPELLER_TOOLKIT_INTEROP_PATH_BUILDER_H_
ScopedObject< Path > CopyPath(FillType fill)
Definition: path_builder.cc:67
void AddArc(const Rect &oval_bounds, Degrees start_angle, Degrees end_angle)
Definition: path_builder.cc:41
void MoveTo(const Point &point)
Definition: path_builder.cc:15
void LineTo(const Point &location)
Definition: path_builder.cc:19
void AddOval(const Rect &oval_bounds)
Definition: path_builder.cc:50
void AddRoundedRect(const Rect &rect, const RoundingRadii &radii)
Definition: path_builder.cc:54
PathBuilder & operator=(const PathBuilder &)=delete
void QuadraticCurveTo(const Point &control_point, const Point &end_point)
Definition: path_builder.cc:23
void CubicCurveTo(const Point &control_point_1, const Point &control_point_2, const Point &end_point)
Definition: path_builder.cc:28
ScopedObject< Path > TakePath(FillType fill)
Definition: path_builder.cc:62
PathBuilder(const PathBuilder &)=delete
void AddRect(const Rect &rect)
Definition: path_builder.cc:37
FillType
Definition: path.h:32