#include <QtWidgets>
#include <stdint.h>
-//#include "action.h"
-//#include "container.h"
#include "structs.h"
+enum { ToolMouseDown, ToolMouseMove, ToolMouseUp, ToolKeyDown, ToolKeyUp, ToolCleanup };
+
+class Painter;
+
class DrawingView: public QWidget
{
Q_OBJECT
DrawingView(QWidget * parent = NULL);
public:
-// void SetToolActive(Action * action);
void SetGridSize(uint32_t);
void UpdateGridBackground(void);
Point SnapPointToGrid(Point);
+ void RenderObjects(Painter *, std::vector<void *> &, int);
+ void AddHoveredToSelection(void);
+ void GetSelection(std::vector<void *> &);
+ void GetHovered(std::vector<void *> &);
+ void ToolHandler(int, Point);
+ void ToolDraw(Painter *);
+ void LineHandler(int, Point);
+ void CircleHandler(int, Point);
+ void ArcHandler(int, Point);
+ void RotateHandler(int, Point);
+ void MirrorHandler(int, Point);
+ void CheckObjectBounds(void);
+ bool HitTestObjects(Point);
+ void HandleObjectMovement(Point);
public slots:
- void AddNewObjectToDocument(Object *);
- void HandleActionUpdate(void);
- void SetCurrentLayer(int);
+ void DeleteCurrentLayer(int);
+ void HandleLayerToggle(void);
+ void HandleLayerSwap(int, int);
protected:
void paintEvent(QPaintEvent * event);
public:
bool useAntialiasing;
+ uint32_t numSelected;
+ uint32_t numHovered;
+ bool shiftDown;
+ bool ctrlDown;
private:
QPixmap gridBackground;
bool collided;
bool scrollDrag;
Vector oldPoint;
+ QString informativeText;
public:
-// Action * toolAction;
+ std::vector<void *> select;
+ std::vector<void *> hover;
+ std::vector<void *> toolObjects;
+ std::vector<Object> toolScratch;
+ Point toolPoint[32];
+ Point intersectionPoint;
+ bool hoveringIntersection;
// public:
// static Container document;