#ifndef __PAINTER_H__
#define __PAINTER_H__
-#include <QtGui>
+#include <stdint.h>
+#include <QtWidgets>
+#include "rect.h"
#include "vector.h"
// Forward declarations
~Painter();
void SetRenderHint(int);
+ void SetPen(QPen);
+ void SetPen(uint32_t, float size = 0, int style = 0);
void SetBrush(QBrush);
+ void SetBrush(uint32_t);
void SetFont(QFont);
- void SetPen(QPen);
- void DrawAngledText(Vector, double, QString);
+ void DrawAngledText(Vector, double, QString, double);
+ void DrawTextObject(Vector, QString, double, double angle = 0);
+ Rect MeasureTextObject(QString text, double size);
void DrawArc(Vector, double, double, double);
void DrawEllipse(Vector, double, double);
+ void DrawHandle(Vector);
+ void DrawSmallHandle(Vector);
+ void DrawCross(Vector);
+ void DrawRectCorners(Rect);
+ void DrawArrowHandle(Vector, double);
+ void DrawArrowToLineHandle(Vector, double);
void DrawLine(int, int, int, int);
void DrawLine(Vector, Vector);
+ void DrawHLine(double);
+ void DrawVLine(double);
void DrawPoint(int, int);
void DrawRoundedRect(QRectF, double, double);
+ void DrawPaddedRect(QRectF);
+ void DrawRect(QRectF);
void DrawText(QRectF, int, QString);
+ void DrawArrowhead(Vector, Vector, double);
+ void DrawCrosshair(Vector);
+ void DrawInformativeText(QString);
public:
- Vector CartesianToQtCoords(Vector);
- Vector QtCoordsToCartesian(Vector);
-
- public:
- // Class variables
- static Vector origin; // The window origin, not location of the origin
- static double zoom; // Window zoom factor
- static Vector screenSize; // Width & height of the window we're drawing on
+ static Vector CartesianToQtCoords(Vector);
+ static Vector QtToCartesianCoords(Vector);
private:
QPainter * painter;
};
#endif // __PAINTER_H__
+