summaryrefslogtreecommitdiffstats
path: root/languages/cpp/app_templates/noatunvisual/plugin_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'languages/cpp/app_templates/noatunvisual/plugin_impl.h')
-rw-r--r--languages/cpp/app_templates/noatunvisual/plugin_impl.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/languages/cpp/app_templates/noatunvisual/plugin_impl.h b/languages/cpp/app_templates/noatunvisual/plugin_impl.h
new file mode 100644
index 00000000..2a7de7b1
--- /dev/null
+++ b/languages/cpp/app_templates/noatunvisual/plugin_impl.h
@@ -0,0 +1,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
+