+ void SetGridSize(uint32_t);
+ void UpdateGridBackground(void);
+ Point SnapPointToGrid(Point);
+ void RenderObjects(Painter *, std::vector<void *> &);
+ void AddHoveredToSelection(void);
+ void GetSelection(std::vector<void *> &);
+ void GetHovered(std::vector<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 CheckObjectBounds(void);
+ bool HitTestObjects(Point);
+ void HandleObjectMovement(Point);