40template <
typename ManagerT,
typename AssistantT>
43 static_assert( std::is_base_of_v<EDA_ITEM, AssistantT>,
"AssistantT must derive from EDA_ITEM" );
void RemoveLastPoint() override
Undo the last locked-in point.
void Reset() override
Reset the behaviour to its initial state for chained object creation loops.
bool IsComplete() const override
True when all points have been locked in.
void SetCursorPosition(const VECTOR2I &aP) override
Preview the cursor position without advancing state.
AssistantT & GetAssistant() override
Return the visual assistant overlay item.
void ClearGeometryChanged() override
Reset the geometry-changed flag (call after updating the preview).
bool HasGeometryChanged() const override
True if the geometry changed since the last call to ClearGeometryChanged().
int GetStep() const override
Return the current construction step (0-based, shape-specific meaning).
void SetUnits(EDA_UNITS aUnits) override
Forward a units change to the assistant overlay.
MANAGED_DRAW_BEHAVIOR(const EDA_IU_SCALE &aIuScale, EDA_UNITS aUnits)
void AddPoint(const VECTOR2I &aP) override
Lock in a point and advance the construction state.
Abstract interface for interactive shape-drawing behaviours.
VECTOR2< int32_t > VECTOR2I