You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdevelop/languages/cpp/app_templates/noatunvisual/plugin_impl.h

78 lines
1.6 KiB

#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