Flutter Impeller
impeller::PathTessellator::SegmentReceiver Class Referenceabstract

An interface for receiving pruned path segments. More...

#include <path_tessellator.h>

Inheritance diagram for impeller::PathTessellator::SegmentReceiver:
impeller::PathAndArcSegmentReceiver impeller::testing::MockSegmentReceiver impeller::StrokePathSegmentReceiver

Public Member Functions

virtual void BeginContour (Point origin, bool will_be_closed)=0
 
virtual void RecordLine (Point p1, Point p2)=0
 
virtual void RecordQuad (Point p1, Point cp, Point p2)=0
 
virtual void RecordConic (Point p1, Point cp, Point p2, Scalar weight)=0
 
virtual void RecordCubic (Point p1, Point cp1, Point cp2, Point p2)=0
 
virtual void EndContour (Point origin, bool with_close)=0
 

Detailed Description

An interface for receiving pruned path segments.

Definition at line 28 of file path_tessellator.h.

Member Function Documentation

◆ BeginContour()

virtual void impeller::PathTessellator::SegmentReceiver::BeginContour ( Point  origin,
bool  will_be_closed 
)
pure virtual

Every set of path segments will be surrounded by a Begin/EndContour pair with the same origin point.

Implemented in impeller::StrokePathSegmentReceiver.

Referenced by impeller::ArcStrokeGeometry::Dispatch().

◆ EndContour()

virtual void impeller::PathTessellator::SegmentReceiver::EndContour ( Point  origin,
bool  with_close 
)
pure virtual

Every set of path segments will be surrounded by a Begin/EndContour pair with the same origin point. The boolean indicates if the path was closed as the result of an explicit PathReceiver::Close invocation which tells a stroking sub-class whether to use end caps or a "join to first segment". Contours which are closed by a MoveTo will supply "false".

Implemented in impeller::StrokePathSegmentReceiver.

Referenced by impeller::ArcStrokeGeometry::Dispatch().

◆ RecordConic()

virtual void impeller::PathTessellator::SegmentReceiver::RecordConic ( Point  p1,
Point  cp,
Point  p2,
Scalar  weight 
)
pure virtual

Guaranteed to be non-degenerate (not a quad or line) p1 will always be the last recorded point.

Implemented in impeller::StrokePathSegmentReceiver.

◆ RecordCubic()

virtual void impeller::PathTessellator::SegmentReceiver::RecordCubic ( Point  p1,
Point  cp1,
Point  cp2,
Point  p2 
)
pure virtual

Guaranteed to be trivially non-degenerate (not all 4 points the same). p1 will always be the last recorded point.

Implemented in impeller::StrokePathSegmentReceiver.

◆ RecordLine()

virtual void impeller::PathTessellator::SegmentReceiver::RecordLine ( Point  p1,
Point  p2 
)
pure virtual

Guaranteed to be non-degenerate except in the single case of stroking where we have a MoveTo followed by any number of degenerate (single point, going nowhere) path segments. p1 will always be the last recorded point.

Implemented in impeller::StrokePathSegmentReceiver.

Referenced by impeller::ArcStrokeGeometry::Dispatch().

◆ RecordQuad()

virtual void impeller::PathTessellator::SegmentReceiver::RecordQuad ( Point  p1,
Point  cp,
Point  p2 
)
pure virtual

Guaranteed to be non-degenerate (not a line). p1 will always be the last recorded point.

Implemented in impeller::StrokePathSegmentReceiver.


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