-
Notifications
You must be signed in to change notification settings - Fork 0
/
qttdhex.h
131 lines (108 loc) · 2.81 KB
/
qttdhex.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#ifndef QTTDHEX_H
#define QTTDHEX_H
#include <QChar>
#include <QVector>
#include <QColor>
#include <QGraphicsItem>
// Forward declaration
class QtTDContext;
class QtTDTower;
class QPainterPath;
class QGraphicsScene;
class QGraphicsPathItem;
class QGraphicsEllipseItem;
class QtTDHex : public QGraphicsItem
{
public:
static int BASE;
static int EMPTY;
static int PATH;
QtTDHex(int x, int y, QtTDContext *_context, bool buildable);
enum highlightType {
none,
selectTower,
placeTower,
editHex
};
int getType();
QChar getShortName();
void resetScale();
//void paintBase(Graphics2D g2_0, Graphics2D g2_1);
//public void paintEffects(Graphics2D g2);
void setLocation(int x, int y);
QVector<int> getLocation();
QVector<qreal> getQRealLocation();
QVector<qreal> getPaintLocation();
void setHighlight(highlightType hightlight);
void setHighlightRange(qreal range);
bool isFree();
bool hasTower();
void setTower(QtTDTower *tower);
void unSetTower();
QtTDTower* getTower();
protected:
char shortName;
int type;
int x;
int y;
qreal paintScale;
qreal xQReal,yQReal;
qreal xPaint,yPaint;
qreal wqreal,hqreal;
qreal wPaint,hPaint;
//private qreal[][] points;
QGraphicsPathItem *polyHex;
QPainterPath *polyHexPath;
//Stroke stroke1;
//Stroke stroke2;
//Shape[] bordersE;
QColor borderColor;
QColor borderEmptyColor;
QColor fillColor;
QColor highlightOK;
QColor highlightNOK;
QColor rangeColor;
QtTDContext *context;
highlightType highlight;// = highlightType.none;
qreal highlightRange; //=0;
QGraphicsEllipseItem *rangeCircle;
bool free; // = true;
QtTDTower *tower; //= 0;
};
class QtTDHexEmpty : public QtTDHex
{
public:
QtTDHexEmpty(int _x, int _y, QtTDContext* _context);
inline void paintBase(QGraphicsScene *scene) { }
void paintEffects(QGraphicsScene *scene);
};
class QtTDHexPath : public QtTDHex
{
public:
QtTDHexPath(int _x, int _y, QtTDContext* _context);
// void paintBase(Graphics2D g2_0, Graphics2D g2_1) {
// if (g2_0 != null) {
// g2_0.setColor(this.fillColor);
// g2_0.draw(this.polyHex);
// g2_0.fill(this.polyHex);
// }
// }
//
// public void paintEffects(Graphics2D g2) {
// switch (this.highlight) {
// case placeTower:
// g2.setColor(this.highlightNOK);
// g2.fill(this.polyHex);
// this.paintRangeCircle(g2);
// break;
// case editHex:
// g2.setColor(this.highlightOK);
// g2.fill(this.polyHex);
// break;
// default:
// }
// }
protected:
QColor fillColor;
};
#endif // QTTDHEX_H