]> Shamusworld >> Repos - architektonas/blobdiff - src/drawingview.h
Added ability to manipulate Lines by click & drag.
[architektonas] / src / drawingview.h
index 5cbd53b8952411808ec7ebb9622d72251613df17..f6c68b725e191920eec60d18558c0340e6bd3a10 100644 (file)
@@ -3,10 +3,10 @@
 
 #include <QtWidgets>
 #include <stdint.h>
-//#include "action.h"
-//#include "container.h"
 #include "structs.h"
 
+class Painter;
+
 class DrawingView: public QWidget
 {
        Q_OBJECT
@@ -15,10 +15,20 @@ class DrawingView: public QWidget
                DrawingView(QWidget * parent = NULL);
 
        public:
-//             void SetToolActive(Action * action);
                void SetGridSize(uint32_t);
                void UpdateGridBackground(void);
                Point SnapPointToGrid(Point);
+               void RenderObjects(Painter *, Container *);
+               void DeleteSelectedItems(void);
+               void ClearSelection(void);
+               void AddHoveredToSelection(void);
+               void GetSelection(std::vector<void *> &);
+               void GetHovered(std::vector<void *> &);
+               void ToolMouse(int, Point);
+               void ToolDraw(Painter *);
+               void LineHandler(int, Point);
+               void CheckObjectBounds(void);
+               bool HitTestObjects(Point);
 
        public slots:
                void AddNewObjectToDocument(Object *);
@@ -41,6 +51,10 @@ class DrawingView: public QWidget
 
        public:
                bool useAntialiasing;
+               uint32_t numSelected;
+               uint32_t numHovered;
+               bool shiftDown;
+               bool ctrlDown;
 
        private:
                QPixmap gridBackground;
@@ -55,7 +69,9 @@ class DrawingView: public QWidget
                Vector oldPoint;
 
        public:
-//             Action * toolAction;
+               std::vector<void *> select;
+               std::vector<void *> hover;
+               Point toolPoint[32];
 
 //     public:
 //             static Container document;