]> Shamusworld >> Repos - architektonas/blobdiff - src/drawingview.h
Add pen toolbar widget.
[architektonas] / src / drawingview.h
index 1af3a7776506a98fe1de0fbeec85a699ab90e88b..29a47a7083e7c2f801d5deda81e6c1f3d543fd03 100644 (file)
@@ -21,6 +21,7 @@ class DrawingView: public QWidget
                void SetGridSize(uint32_t);
                void UpdateGridBackground(void);
                Point SnapPointToGrid(Point);
+               Point SnapPointToAngle(Point);
                void RenderObjects(Painter *, std::vector<void *> &, int, bool ignoreLayer = false);
                void AddHoveredToSelection(void);
                void GetSelection(std::vector<void *> &);
@@ -36,15 +37,20 @@ class DrawingView: public QWidget
                void CheckObjectBounds(void);
                bool HitTestObjects(Point);
                bool HitTest(Object *, Point);
+               bool HandleObjectClicked(void);
                void HandleObjectMovement(Point);
 
        public slots:
                void DeleteCurrentLayer(int);
                void HandleLayerToggle(void);
                void HandleLayerSwap(int, int);
+               void HandlePenWidth(float);
+               void HandlePenStyle(int);
+               void HandlePenColor(uint32_t);
 
        signals:
                void ObjectHovered(Object *);
+               void ObjectSelected(Object *);
 
        protected:
                void paintEvent(QPaintEvent * event);
@@ -87,9 +93,12 @@ class DrawingView: public QWidget
                std::vector<Object> toolScratch;
                Point toolPoint[32];
                Point intersectionPoint;
+               Point hoverPoint;
+               bool hoverPointValid;
                bool hoveringIntersection;
                Object * dragged;
                bool draggingObject;
+               bool angleSnap;
 };
 
 #endif // __DRAWINGVIEW_H__