+ Point SnapPointToGrid(Point);
+ Point SnapPointToAngle(Point);
+ void RenderObjects(Painter *, VPVector &, int, bool ignoreLayer = false);
+ void AddHoveredToSelection(void);
+ VPVector GetSelection(void);
+ VPVector GetHovered(void);
+ void ToolHandler(int, Point);
+ void ToolDraw(Painter *);
+ void LineHandler(int, Point);
+ void CircleHandler(int, Point);
+ void ArcHandler(int, Point);
+ void RotateHandler(int, Point);
+ void MirrorHandler(int, Point);
+ void DimensionHandler(int, Point);
+ void TriangulateHandler(int, Point);
+ void TrimHandler(int, Point);
+ void ParallelHandler(int, Point);
+ Rect GetObjectExtents(Object *);
+ void CheckObjectBounds(void);
+ bool HitTestObjects(Point);
+ bool HitTest(Object *, Point);
+ bool HandleObjectClicked(void);
+ void HandleObjectMovement(Point);
+ void AddDimensionTo(void * obj);