]> Shamusworld >> Repos - architektonas/blobdiff - src/drawingview.h
Changes to make containers behave like a first-class object.
[architektonas] / src / drawingview.h
index 08f347f6cac05e26193f9df07e9114f30a86296c..768c5c029b26a518b2f7959eaa8d2987f9aa53b9 100644 (file)
@@ -25,7 +25,8 @@ class DrawingView: public QWidget
                void RenderObjects(Painter *, std::vector<void *> &, int, bool ignoreLayer = false);
                void AddHoveredToSelection(void);
                void GetSelection(std::vector<void *> &);
-               void GetHovered(std::vector<void *> &);
+//             void GetHovered(std::vector<void *> &);
+               std::vector<void *> GetHovered(void);
                void ToolHandler(int, Point);
                void ToolDraw(Painter *);
                void LineHandler(int, Point);
@@ -34,12 +35,16 @@ class DrawingView: public QWidget
                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);
 
        public slots:
                void DeleteCurrentLayer(int);
@@ -54,6 +59,7 @@ class DrawingView: public QWidget
                void ObjectSelected(Object *);
 
        protected:
+               void focusOutEvent(QFocusEvent * event);
                void paintEvent(QPaintEvent * event);
                void resizeEvent(QResizeEvent * event);
                void mousePressEvent(QMouseEvent * event);
@@ -69,7 +75,6 @@ class DrawingView: public QWidget
 
        public:
                bool useAntialiasing;
-//             uint32_t numSelected;
                uint32_t numHovered;
                bool shiftDown;
                bool ctrlDown;
@@ -91,10 +96,12 @@ class DrawingView: public QWidget
 
        public:
                std::vector<void *> select;
-               std::vector<void *> hover;
+//             std::vector<void *> hover;
                std::vector<void *> toolObjects;
                std::vector<Object> toolScratch;
+               std::vector<void *> toolScratch2;
                Point toolPoint[32];
+               Object * toolObj[32];
                Point intersectionPoint;
                Point hoverPoint;
                bool hoverPointValid;
@@ -102,6 +109,7 @@ class DrawingView: public QWidget
                Object * dragged;
                bool draggingObject;
                bool angleSnap;
+               bool dirty;
 };
 
 #endif // __DRAWINGVIEW_H__