X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdrawingview.h;h=92ac72a692abc14945124569c45d8d6a699f66c4;hb=6533354910fbf76d9747deeae02b2e910ef9aa48;hp=cf70e400967a247ca8fbb73ad2d14da3cb686600;hpb=0fcc2d879e1e0ca17eeaceae2159f5143a06586f;p=architektonas diff --git a/src/drawingview.h b/src/drawingview.h index cf70e40..92ac72a 100644 --- a/src/drawingview.h +++ b/src/drawingview.h @@ -3,6 +3,7 @@ #include #include +#include "rect.h" #include "structs.h" enum { ToolMouseDown, ToolMouseMove, ToolMouseUp, ToolKeyDown, ToolKeyUp, ToolCleanup }; @@ -20,7 +21,8 @@ class DrawingView: public QWidget void SetGridSize(uint32_t); void UpdateGridBackground(void); Point SnapPointToGrid(Point); - void RenderObjects(Painter *, std::vector &, int); + Point SnapPointToAngle(Point); + void RenderObjects(Painter *, std::vector &, int, bool ignoreLayer = false); void AddHoveredToSelection(void); void GetSelection(std::vector &); void GetHovered(std::vector &); @@ -31,8 +33,11 @@ class DrawingView: public QWidget void ArcHandler(int, Point); void RotateHandler(int, Point); void MirrorHandler(int, Point); + Rect GetObjectExtents(Object *); void CheckObjectBounds(void); bool HitTestObjects(Point); + bool HitTest(Object *, Point); + bool HandleObjectClicked(void); void HandleObjectMovement(Point); public slots: @@ -40,6 +45,9 @@ class DrawingView: public QWidget void HandleLayerToggle(void); void HandleLayerSwap(int, int); + signals: + void ObjectHovered(Object *); + protected: void paintEvent(QPaintEvent * event); void resizeEvent(QResizeEvent * event); @@ -56,7 +64,7 @@ class DrawingView: public QWidget public: bool useAntialiasing; - uint32_t numSelected; +// uint32_t numSelected; uint32_t numHovered; bool shiftDown; bool ctrlDown; @@ -81,10 +89,12 @@ class DrawingView: public QWidget std::vector toolScratch; Point toolPoint[32]; Point intersectionPoint; + Point hoverPoint; + bool hoverPointValid; bool hoveringIntersection; - -// public: -// static Container document; + Object * dragged; + bool draggingObject; + bool angleSnap; }; #endif // __DRAWINGVIEW_H__