]> Shamusworld >> Repos - architektonas/blobdiff - src/drawingview.h
Added base units & display style to drawing.
[architektonas] / src / drawingview.h
index 441b7a8eb61cecfd2b080bc636b11b00000faee8..0d483926f049e62787b45bce2c7fa6a8a1a164c0 100644 (file)
@@ -19,16 +19,13 @@ class DrawingView: public QWidget
 
        public:
                void DrawBackground(Painter *);
-               void SetGridSize(uint32_t);
-               void SetGridSize(double);
-               void UpdateGridBackground(void);
-               void UpdateGridBackgroundF(void);
                Point SnapPointToGrid(Point);
                Point SnapPointToAngle(Point);
                void RenderObjects(Painter *, VPVector &, int, bool ignoreLayer = false);
-               void AddHoveredToSelection(void);
+               void HandleSelectionClick(VPVector &);
                VPVector GetSelection(void);
-               VPVector GetHovered(void);
+               VPVector GetHovered(bool exclude = false);
+               void MoveSelectedToLayer(int);
                void ToolHandler(int, Point);
                void ToolDraw(Painter *);
                void LineHandler(int, Point);
@@ -37,6 +34,7 @@ class DrawingView: public QWidget
                void RotateHandler(int, Point);
                void MirrorHandler(int, Point);
                void DimensionHandler(int, Point);
+               void DeleteHandler(int, Point);
                void TriangulateHandler(int, Point);
                void TrimHandler(int, Point);
                void ParallelHandler(int, Point);
@@ -52,10 +50,9 @@ class DrawingView: public QWidget
                void DeleteCurrentLayer(int);
                void HandleLayerToggle(void);
                void HandleLayerSwap(int, int);
-               void HandlePenWidth(float);
-               void HandlePenStyle(int);
-               void HandlePenColor(uint32_t);
-               void HandlePenStamp(void);
+               void HandleLayerSwap(int, int, VPVector &);
+               void HandlePenStamp(QAction *);
+               void HandlePenDropper(QAction *);
 
        signals:
                void ObjectHovered(Object *);
@@ -64,6 +61,7 @@ class DrawingView: public QWidget
 
        protected:
                void focusOutEvent(QFocusEvent * event);
+               void focusInEvent(QFocusEvent * event);
                void paintEvent(QPaintEvent * event);
                void resizeEvent(QResizeEvent * event);
                void mousePressEvent(QMouseEvent * event);
@@ -87,14 +85,16 @@ class DrawingView: public QWidget
 
        private:
                QPixmap gridBackground;
-               double scale;                                                   // Window scaling factor
-               int32_t offsetX, offsetY;                               // Window offsets
+               double scale;                                           // Window scaling factor
+               int32_t offsetX, offsetY;                       // Window offsets
+               bool supressSelected;
+               QCursor curMarker;
+               QCursor curDropper;
+               uint32_t currentSelect;
        public:
                Container document;
-               uint32_t gridPixels;                                    // Grid size in pixels
-               double gridPixelsF;                                             // Grid size in pixels (float)
-//     private:
-       public:
+               uint32_t gridPixels;                            // Grid size in pixels
+               double gridPixelsF;                                     // Grid size in pixels (float)
                bool collided;
                bool scrollDrag;
                Vector oldPoint;
@@ -106,8 +106,10 @@ class DrawingView: public QWidget
                VPVector toolObjects;
                std::vector<Object> toolScratch;
                VPVector toolScratch2;
+               VPVector oldHover;
                Point toolPoint[32];
                Object * toolObj[32];
+               double toolParam[32];
                Point intersectionPoint;
                Point hoverPoint;
                bool hoverPointValid;
@@ -120,4 +122,3 @@ class DrawingView: public QWidget
 };
 
 #endif // __DRAWINGVIEW_H__
-