#ifndef __DRAWINGVIEW_H__
#define __DRAWINGVIEW_H__
-#include <QtGui>
+#include <QtWidgets>
#include <stdint.h>
-#include "container.h"
+#include "structs.h"
+
+class Painter;
class DrawingView: public QWidget
{
DrawingView(QWidget * parent = NULL);
public:
- void SetRotateToolActive(bool state = true);
+// 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 *> &);
+
+ public slots:
+ void AddNewObjectToDocument(Object *);
+ void HandleActionUpdate(void);
+ void SetCurrentLayer(int);
protected:
void paintEvent(QPaintEvent * event);
+ void resizeEvent(QResizeEvent * event);
void mousePressEvent(QMouseEvent * event);
void mouseMoveEvent(QMouseEvent * event);
void mouseReleaseEvent(QMouseEvent * event);
+ void wheelEvent(QWheelEvent * event);
+ void keyPressEvent(QKeyEvent * event);
+ void keyReleaseEvent(QKeyEvent * event);
private:
QPoint GetAdjustedMousePosition(QMouseEvent * event);
public:
bool useAntialiasing;
+ uint32_t numSelected;
+ uint32_t numHovered;
+ bool shiftDown;
+ bool ctrlDown;
private:
+ QPixmap gridBackground;
double scale; // Window scaling factor
int32_t offsetX, offsetY; // Window offsets
+ public:
Container document;
- double gridSpacing;
- bool collided;
-//Should this go into Object's class variables???
- bool rotateTool;
- double rx, ry;
-/* QSize minimumSizeHint() const;
- QSize sizeHint() const;
-
+ uint32_t gridPixels; // Grid size in pixels
private:
- void CreateCursors(void);
- QPoint GetAdjustedMousePosition(QMouseEvent * event);
- QPoint GetAdjustedClientPosition(int x, int y);
+ bool collided;
+ bool scrollDrag;
+ Vector oldPoint;
- QImage image;
- QPoint pt, ptOffset, ptPrevious;
- ToolType tool; // Current tool
- GlyphPoints pts; // Glyph point structure
- int32 ptHighlight, oldPtHighlight, ptNextHighlight, oldPtNextHighlight;
- bool polyFirstPoint;
+ public:
+ std::vector<void *> select;
+ std::vector<void *> hover;
+// Action * toolAction;
- ToolWindow * toolPalette;
- QCursor cur[8];
-*/
+// public:
+// static Container document;
};
#endif // __DRAWINGVIEW_H__
+