#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 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 outputBmp; bool fullscreen; int width; int height; }; #endif // %{APPNAMEUC}_IMPL_H