Flutter Impeller
impeller::PathTessellator Class Reference

#include <path_tessellator.h>

Classes

struct  Conic
 
struct  Cubic
 
struct  Quad
 
class  SegmentReceiver
 An interface for receiving pruned path segments. More...
 
class  VertexWriter
 An interface for generating a multi contour polyline as a triangle strip. More...
 

Static Public Member Functions

static void PathToFilledSegments (const PathSource &source, SegmentReceiver &receiver)
 
static void PathToStrokedSegments (const PathSource &source, SegmentReceiver &receiver)
 
static std::pair< size_t, size_t > CountFillStorage (const PathSource &source, Scalar scale)
 
static void PathToFilledVertices (const PathSource &source, VertexWriter &writer, Scalar scale)
 

Detailed Description

Definition at line 17 of file path_tessellator.h.

Member Function Documentation

◆ CountFillStorage()

std::pair< size_t, size_t > impeller::PathTessellator::CountFillStorage ( const PathSource source,
Scalar  scale 
)
static

Definition at line 297 of file path_tessellator.cc.

299  {
300  StorageCounter counter(scale);
301  PathPruner pruner(counter, false);
302  source.Dispatch(pruner);
303  pruner.PathEnd();
304  return {counter.GetPointCount(), counter.GetContourCount()};
305 }

References impeller::PathSource::Dispatch().

Referenced by impeller::Tessellator::TessellateConvex(), and impeller::testing::TEST().

◆ PathToFilledSegments()

void impeller::PathTessellator::PathToFilledSegments ( const PathSource source,
SegmentReceiver receiver 
)
static

Definition at line 283 of file path_tessellator.cc.

284  {
285  PathPruner pruner(receiver, false);
286  source.Dispatch(pruner);
287  pruner.PathEnd();
288 }

References impeller::PathSource::Dispatch().

Referenced by impeller::testing::TEST().

◆ PathToFilledVertices()

void impeller::PathTessellator::PathToFilledVertices ( const PathSource source,
VertexWriter writer,
Scalar  scale 
)
static

Definition at line 307 of file path_tessellator.cc.

309  {
310  PathFillWriter path_writer(writer, scale);
311  PathPruner pruner(path_writer, false);
312  source.Dispatch(pruner);
313  pruner.PathEnd();
314 }

References impeller::PathSource::Dispatch().

Referenced by impeller::TessellatorLibtess::Tessellate(), impeller::Tessellator::TessellateConvex(), impeller::Tessellator::TessellateConvexInternal(), and impeller::testing::TEST().

◆ PathToStrokedSegments()

void impeller::PathTessellator::PathToStrokedSegments ( const PathSource source,
SegmentReceiver receiver 
)
static

Definition at line 290 of file path_tessellator.cc.

291  {
292  PathPruner pruner(receiver, true);
293  source.Dispatch(pruner);
294  pruner.PathEnd();
295 }

References impeller::PathSource::Dispatch().

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


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