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
|
#ifndef %{APPNAMEUC}_IMPL_H
#define %{APPNAMEUC}_IMPL_H
struct SDL_Surface;
/**
* @short This class is used for painting and supports some effects.
* Note: This is used in Blurscope. Feel free to remove this and
* implement your own drawing routines!
*/
template<class Pixel> class Bitmap
{
public:
int width, height, extra;
Pixel *data;
Bitmap(int e=0) : extra(e), data(0) { }
~Bitmap() { delete[] data; }
inline void addPixel(int x, int y, int bright1, int bright2);
void addVertLine(int x, int y, int y2, int br1, int br2);
void fadeStar();
void size(int w,int h)
{
delete[] data;
width = w;
height = h;
data = new Pixel[w*h+extra];
clear();
}
void clear()
{
memset(data,0,sizeof(Pixel)*(width*height+extra));
}
};
/**
* @short This class does:
* o set up view
* o drawing routines.
*/
class %{APPNAME}View
{
public:
%{APPNAME}View(int in);
~%{APPNAME}View();
protected:
/** Screen initialization with SDL. Note, that you can initialize OpenGL with SDL! */
void startVideo();
/** SDL event queue */
void checkInput();
/** Used in Blurscope. Feel free to implement your own drawing routines! */
void setupPalette(double dummy=0.0);
/** Draw everything. */
void repaint();
private:
/** used for pipelining */
int mFd;
/** SDL screen surface */
SDL_Surface *surface;
Bitmap<unsigned short> outputBmp;
bool fullscreen;
int width;
int height;
};
#endif // %{APPNAMEUC}_IMPL_H
|