47 using DRAWABLE = std::variant<SEG, LINE, HALF_LINE, CIRCLE, SHAPE_ARC, VECTOR2I>;
51 wxString
GetClass()
const override {
return wxT(
"CONSTRUCTION_GEOM" ); }
A base class for most all the KiCad significant classes used in schematics and boards.
A color representation with 4 components: red, green, blue, alpha.
Shows construction geometry for things like line extensions, arc centers, etc.
std::optional< SEG > m_snapLine
const BOX2I ViewBBox() const override
Return the bounding box of the item covering all its layers.
void SetColor(const COLOR4D &aColor)
void SetPersistentColor(const COLOR4D &aColor)
COLOR4D m_persistentColor
std::vector< DRAWABLE_INFO > m_drawables
void AddDrawable(const DRAWABLE &aItem, bool aIsPersistent)
std::variant< SEG, LINE, HALF_LINE, CIRCLE, SHAPE_ARC, VECTOR2I > DRAWABLE
std::vector< int > ViewGetLayers() const override
Return the all the layers within the VIEW the object is painted on.
void SetSnapLine(const SEG &aLine)
wxString GetClass() const override
Return the class name.
void ViewDraw(int aLayer, VIEW *aView) const override
Draw the parts of the object belonging to layer aLayer.
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
The Cairo implementation of the graphics abstraction layer.