KiCad PCB EDA Suite
Loading...
Searching...
No Matches
KICAD_DIFF::GEOMETRY_SINK Struct Referenceabstract

Sink for the shared DOCUMENT_GEOMETRY walk. More...

#include <diff_scene.h>

Public Member Functions

virtual ~GEOMETRY_SINK ()=default
 
virtual void FillPolygon (const DOCUMENT_POLYGON &aPoly)=0
 
virtual void StrokePolygon (const DOCUMENT_POLYGON &aPoly)=0
 
virtual void DrawSegment (const DOCUMENT_SEGMENT &aSegment)=0
 
virtual void DrawCircle (const DOCUMENT_CIRCLE &aCircle)=0
 

Detailed Description

Sink for the shared DOCUMENT_GEOMETRY walk.

The walk (IterateDocumentGeometry) owns the iteration order common to every renderer; each sink owns the API-specific draw calls and per-primitive guards.

Polygons are visited in two passes (every fill, then every stroke) so a filled-and-stroked outline gets both and a later filled polygon does not cover an earlier outline. A renderer that draws each polygon in a single call (e.g. the plotter, whose PlotPoly either fills or strokes) does its work in FillPolygon and leaves StrokePolygon empty.

Definition at line 183 of file diff_scene.h.

Constructor & Destructor Documentation

◆ ~GEOMETRY_SINK()

virtual KICAD_DIFF::GEOMETRY_SINK::~GEOMETRY_SINK ( )
virtualdefault

Member Function Documentation

◆ DrawCircle()

virtual void KICAD_DIFF::GEOMETRY_SINK::DrawCircle ( const DOCUMENT_CIRCLE & aCircle)
pure virtual

◆ DrawSegment()

virtual void KICAD_DIFF::GEOMETRY_SINK::DrawSegment ( const DOCUMENT_SEGMENT & aSegment)
pure virtual

◆ FillPolygon()

virtual void KICAD_DIFF::GEOMETRY_SINK::FillPolygon ( const DOCUMENT_POLYGON & aPoly)
pure virtual

◆ StrokePolygon()

virtual void KICAD_DIFF::GEOMETRY_SINK::StrokePolygon ( const DOCUMENT_POLYGON & aPoly)
pure virtual

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