24#ifndef PREVIEW_ITEMS_MULTISTEP_GEOMETRY_MANAGER_H
25#define PREVIEW_ITEMS_MULTISTEP_GEOMETRY_MANAGER_H
171 m_step += aForward ? 1 : -1;
A geometry manager that works by accepting a sequence of points and advancing though stages of geomet...
int m_step
The current manager step, from 0 to some highest number that depends on the manager.
bool HasGeometryChanged() const
VECTOR2I GetLastPoint() const
Get the last point added (locked in or not).
void AddPoint(const VECTOR2I &aPt, bool aLockIn)
Add a point to the construction manager.
void RemoveLastPoint()
Undo the last point, and move the manager back to the previous step.
void setGeometryChanged()
< Mark the geometry as changed for clients to notice
bool m_changed
The last (raw) point added, which is usually the cursor position.
virtual bool acceptPoint(const VECTOR2I &aPt)=0
< Function that accepts a point for a stage, or rejects it to return to the previous stage
void ClearGeometryChanged()
Clear the geometry changed flag, call after the client code has updated everything as needed.
void performStep(bool aForward)
Has the geometry changed such that a client should redraw?
virtual int getMaxStep() const =0
The highest step this manager has - used to recognize completion and to clamp the step as it advances...
virtual ~MULTISTEP_GEOM_MANAGER()
void Reset()
Reset the manager to the initial state.
The Cairo implementation of the graphics abstraction layer.