Shapes
Concrete shape drawer implementations for the ShapesDrawer system. Each file contains a sealed drawer class (extending ShapeDrawer<TShape>) and a nested readonly struct defining the shape's data. Some files also define Paragon-specific enums that wrap the Shapes library's enum values.
Pattern
Every shape follows the same pattern:
Readonly struct — Nested struct (e.g.,
LineDrawer.Line) holding all draw parameters asreadonlyfields.Sealed drawer class — Extends
ShapeDrawer<TShape>, provides anAdd(...)method to enqueue shapes and aDraw()override that iterates the queue and calls the Shapes library.Optional enum — Wraps Shapes library enums (e.g.,
LineEndCap,ArcEndCap) with Paragon-friendly naming.
Classes
RingDrawer
Ring
Draws ring (circle outline) with thickness
PieDrawer
Pie
Draws filled pie/wedge shapes
SphereDrawer
Sphere
Draws solid spheres
WireSphereDrawer
WireSphere
Draws wireframe spheres
WireCubeDrawer
WireCube
Draws wireframe cuboids
Enums
LineEndCap
NONE, SQUARE, ROUND
Shapes.LineEndCap
ArcEndCap
NONE, ROUND
Shapes.ArcEndCap
See Also
ShapeDrawer<TShape> — the base class all drawers extend
ShapesDrawer — the singleton that owns the drawers and provides the static API
ShapesDrawer System — system overview
Last updated