Flutter Engine
 
Loading...
Searching...
No Matches
impeller::interop::PathBuilder Class Referencefinal

#include <path_builder.h>

Inheritance diagram for impeller::interop::PathBuilder:
impeller::interop::Object< PathBuilder, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerPathBuilder)> impeller::interop::ObjectBase

Public Member Functions

 PathBuilder ()
 
 ~PathBuilder ()
 
 PathBuilder (const PathBuilder &)=delete
 
PathBuilderoperator= (const PathBuilder &)=delete
 
void MoveTo (const Point &point)
 
void LineTo (const Point &location)
 
void QuadraticCurveTo (const Point &control_point, const Point &end_point)
 
void CubicCurveTo (const Point &control_point_1, const Point &control_point_2, const Point &end_point)
 
void AddRect (const Rect &rect)
 
void AddArc (const Rect &oval_bounds, Degrees start_angle, Degrees end_angle)
 
void AddOval (const Rect &oval_bounds)
 
void AddRoundedRect (const Rect &rect, const RoundingRadii &radii)
 
void Close ()
 
ScopedObject< PathTakePath (FillType fill)
 
ScopedObject< PathCopyPath (FillType fill)
 
- Public Member Functions inherited from impeller::interop::ObjectBase
 ObjectBase ()=default
 
virtual ~ObjectBase ()=default
 
 ObjectBase (const ObjectBase &)=delete
 
 ObjectBase (ObjectBase &&)=delete
 
ObjectBaseoperator= (const ObjectBase &)=delete
 
ObjectBaseoperator= (ObjectBase &&)=delete
 
void Retain ()
 
void Release ()
 
uint64_t GetRefCountForTests () const
 

Additional Inherited Members

- Public Types inherited from impeller::interop::Object< PathBuilder, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerPathBuilder)>
using InteropClass = PathBuilder
 
using InteropCSibling = IMPELLER_INTERNAL_HANDLE_NAME(ImpellerPathBuilder)
 
- Static Public Member Functions inherited from impeller::interop::ObjectBase
static void SafeRetain (void *ptr)
 
static void SafeRelease (void *ptr)
 

Detailed Description

Definition at line 19 of file path_builder.h.

Constructor & Destructor Documentation

◆ PathBuilder() [1/2]

impeller::interop::PathBuilder::PathBuilder ( )
default

◆ ~PathBuilder()

impeller::interop::PathBuilder::~PathBuilder ( )
default

◆ PathBuilder() [2/2]

impeller::interop::PathBuilder::PathBuilder ( const PathBuilder )
delete

Member Function Documentation

◆ AddArc()

void impeller::interop::PathBuilder::AddArc ( const Rect oval_bounds,
Degrees  start_angle,
Degrees  end_angle 
)

Definition at line 41 of file path_builder.cc.

43 {
44 builder_.addArc(ToSkiaType(oval_bounds), //
45 start_angle.degrees, //
46 end_angle.degrees - start_angle.degrees // sweep
47 );
48}
constexpr std::optional< SkRect > ToSkiaType(const ImpellerRect *rect)
Definition formats.h:30

References impeller::Degrees::degrees, and impeller::interop::ToSkiaType().

◆ AddOval()

void impeller::interop::PathBuilder::AddOval ( const Rect oval_bounds)

Definition at line 50 of file path_builder.cc.

50 {
51 builder_.addOval(ToSkiaType(oval_bounds));
52}

References impeller::interop::ToSkiaType().

◆ AddRect()

void impeller::interop::PathBuilder::AddRect ( const Rect rect)

Definition at line 37 of file path_builder.cc.

37 {
38 builder_.addRect(ToSkiaType(rect));
39}

References impeller::interop::ToSkiaType().

◆ AddRoundedRect()

void impeller::interop::PathBuilder::AddRoundedRect ( const Rect rect,
const RoundingRadii radii 
)

Definition at line 54 of file path_builder.cc.

54 {
55 builder_.addRRect(ToSkiaType(rect, radii));
56}

References impeller::interop::ToSkiaType().

◆ Close()

void impeller::interop::PathBuilder::Close ( )

Definition at line 58 of file path_builder.cc.

58 {
59 builder_.close();
60}

◆ CopyPath()

ScopedObject< Path > impeller::interop::PathBuilder::CopyPath ( FillType  fill)

Definition at line 67 of file path_builder.cc.

67 {
68 builder_.setFillType(ToSkiaType(fill));
69 return Create<Path>(builder_.snapshot());
70}

References impeller::interop::ToSkiaType().

◆ CubicCurveTo()

void impeller::interop::PathBuilder::CubicCurveTo ( const Point control_point_1,
const Point control_point_2,
const Point end_point 
)

Definition at line 28 of file path_builder.cc.

30 {
31 builder_.cubicTo(ToSkiaType(control_point_1), //
32 ToSkiaType(control_point_2), //
33 ToSkiaType(end_point) //
34 );
35}

References impeller::interop::ToSkiaType().

◆ LineTo()

void impeller::interop::PathBuilder::LineTo ( const Point location)

Definition at line 19 of file path_builder.cc.

19 {
20 builder_.lineTo(ToSkiaType(location));
21}

References impeller::interop::ToSkiaType().

◆ MoveTo()

void impeller::interop::PathBuilder::MoveTo ( const Point point)

Definition at line 15 of file path_builder.cc.

15 {
16 builder_.moveTo(ToSkiaType(point));
17}

References impeller::interop::ToSkiaType().

◆ operator=()

PathBuilder & impeller::interop::PathBuilder::operator= ( const PathBuilder )
delete

◆ QuadraticCurveTo()

void impeller::interop::PathBuilder::QuadraticCurveTo ( const Point control_point,
const Point end_point 
)

Definition at line 23 of file path_builder.cc.

24 {
25 builder_.quadTo(ToSkiaType(control_point), ToSkiaType(end_point));
26}

References impeller::interop::ToSkiaType().

◆ TakePath()

ScopedObject< Path > impeller::interop::PathBuilder::TakePath ( FillType  fill)

Definition at line 62 of file path_builder.cc.

62 {
63 builder_.setFillType(ToSkiaType(fill));
64 return Create<Path>(builder_.detach());
65}

References impeller::interop::ToSkiaType().


The documentation for this class was generated from the following files: