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
|