-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainwindow.h
232 lines (191 loc) · 4.35 KB
/
mainwindow.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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QLabel>
#include "glwindow.h"
class MainWindow;
class ImageFrame;
class AnimationFrame;
class MaskTab;
class MenuBar;
class ToolBar;
class MainCanvas;
class Table;
class SVG;
class Grid;
/**
* @brief The MainWindow class
*/
class MainWindow : public GLWindow
{
Q_OBJECT
public:
/**
* @brief MainWindow
* @param parent parent
*/
MainWindow(QWidget *parent = 0);
/**
* @brief render draw everything here
*/
void render();
/**
* @brief canvasResized
* @param w width
* @param h height
*/
void canvasResized(int w, int h);
/**
* @brief setStatusCoord update the statusbar coordinate
* @param p c
*/
void setStatusCoord(Coordinate c);
/**
* @brief addCoord add coordinate
* @param p coodrinate
*/
void addCoord(Coordinate c);
/**
* @brief getStatusCoord get the mouse's position relative to grid
* @return coordinate
*/
const Coordinate getStatusCoord() const;
/**
* @brief setMask set the current mask we're editing
* @param mask new mask
*/
void setMask(Table *mask);
/**
* @brief setSprite sets the sprite
* @param spr new sprite
*/
void setSprite(const SpritePtr &spr);
private slots:
/**
* @brief reset removes any loaded files
*/
void reset();
/**
* @brief open open a file
*/
void open();
/**
* @brief save save the current file
*/
void save();
/**
* @brief saveAs save the current file under a new name
*/
void saveAs();
/**
* @brief about opens the about window
*/
void about();
/**
* @brief pause ovveride of GLWindow's pause
*/
void pause();
/**
* @brief stop ovveride of GLWindow's stop
*/
void stop();
/**
* @brief editSprite reopens the image loader's frame
*/
void editSprite();
/**
* @brief editAnimation reopens the animation frame
*/
void editAnimation();
/**
* @brief viewGrid sets the visibility of the grid
* @param value true/false
*/
void viewGrid(bool value);
/**
* @brief viewSprite sets the visibility of the sprite
* @param value true/false
*/
void viewSprite(bool value);
/**
* @brief updateGrid updates the grid
*/
void updateGrid();
/**
* @brief setXsep sets the horizontal seperation
* @param value horizontal seperation
*/
void setXsep(int value);
/**
* @brief setYsep sets the vertical seperation
* @param value vertical seperation
*/
void setYsep(int value);
/**
* @brief setFrame sets the current frame
* @param frame current frame
*/
void setFrame(int frame);
private:
/**
* @brief openImage opens a image file
* @param fpath file path
*/
void openImage(QString fpath);
/**
* @brief openImage opens an image based on infro from xml
* @param fpath file path
* @param rows rows
* @param columns columns
*/
void openImage(QString fpath, int rows, int columns);
/**
* @brief openSVG opens a mask
* @param fpath file path
*/
void openSVG(QString fpath);
/**
* @brief openSpr Opens a .spr file
* @param fpath file path
*/
void openSpr(QString fpath);
/**
* @brief addMask generates a mask based on an SVG
* @param svg SVG
*/
void addMask(SVG &svg);
/**
* @brief setZoom sets the zoom factor
* @param factor factor
*/
void setZoom(double factor);
/**
* @brief mapToGrid map a cordinate relative to the grid
* @param p coordinate
* @return new coordinate
*/
const Coordinate mapToGrid(Coordinate c);
/**
* @brief mapToRealinverse of mapToGrid
* @param p coordinate
* @return new coordinate
*/
const Coordinate mapToReal(Coordinate c);
ImageFrame *imgLoader;
AnimationFrame *animationEdit;
Coordinate mCoord;
QLabel *xCoord;
QLabel *yCoord;
QSharedPointer<Grid> mGrid;
ToolBar *mToolBar;
MenuBar *mMenuBar;
Table *currentMask;
MaskTab *mTabs;
QList<Table *> *table;
QString saveFile;
bool mViewGrid;
bool mViewSprite;
int mXsep;
int mYsep;
};
#endif // MAINWINDOW_H