5#ifndef FLUTTER_IMPELLER_GEOMETRY_PATH_SOURCE_H_
6#define FLUTTER_IMPELLER_GEOMETRY_PATH_SOURCE_H_
45 virtual void MoveTo(
const Point& p2,
bool will_be_closed) = 0;
118 : receiver_(receiver), matrix_(matrix) {}
121 receiver_.
MoveTo(matrix_ * p2, will_be_closed);
127 receiver_.
QuadTo(matrix_ * cp, matrix_ * p2);
131 return receiver_.
ConicTo(matrix_ * cp, matrix_ * p2, weight);
135 receiver_.
CubicTo(matrix_ * cp1, matrix_ * cp2, matrix_ * p2);
A PathSource object that provides path iteration for any ellipse inscribed within a Rect bounds.
void Dispatch(PathReceiver &receiver) const override
bool IsConvex() const override
Rect GetBounds() const override
FillType GetFillType() const override
Collection of functions to receive path segments from the underlying path representation via the DlPa...
virtual ~PathReceiver()=default
virtual void CubicTo(const Point &cp1, const Point &cp2, const Point &p2)=0
virtual void LineTo(const Point &p2)=0
virtual void QuadTo(const Point &cp, const Point &p2)=0
virtual void MoveTo(const Point &p2, bool will_be_closed)=0
virtual bool ConicTo(const Point &cp, const Point &p2, Scalar weight)
virtual Rect GetBounds() const =0
virtual ~PathSource()=default
virtual FillType GetFillType() const =0
virtual void Dispatch(PathReceiver &receiver) const =0
virtual bool IsConvex() const =0
A PathSource object that provides path iteration for any TRect.
FillType GetFillType() const override
RectPathSource(const TRect< T > &r)
bool IsConvex() const override
Rect GetBounds() const override
void Dispatch(PathReceiver &receiver) const override
A 4x4 matrix using column-major storage.