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