diff options
Diffstat (limited to 'src/libjin/Graphics/je_canvas.h')
-rw-r--r-- | src/libjin/Graphics/je_canvas.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/libjin/Graphics/je_canvas.h b/src/libjin/Graphics/je_canvas.h new file mode 100644 index 0000000..12611d9 --- /dev/null +++ b/src/libjin/Graphics/je_canvas.h @@ -0,0 +1,66 @@ +#ifndef __LIBJIN_CANVAS_H +#define __LIBJIN_CANVAS_H +#include "../core/je_configuration.h" +#if LIBJIN_MODULES_RENDER + +#include "je_drawable.h" +namespace jin +{ + namespace graphics + { + /// + /// Renderable canvas. + /// + /// A canvas is a rendering target. + /// + class Canvas: public Drawable + { + public: + /// + /// + /// + static Canvas* createCanvas(int w, int h); + + /// + /// + /// + static void bind(Canvas*); + + /// + /// + /// + static void unbind(); + + /// + /// + /// + static bool isBinded(const Canvas*); + + /// + /// + /// + ~Canvas(); + + protected: + static const Canvas* const DEFAULT_CANVAS; + static const Canvas* current; + + /// + /// + /// + Canvas(int w, int h); + + /// + /// + /// + Canvas(GLuint n); + + GLuint fbo; + + }; + + } // namespace graphics +} // namespace jin + +#endif // LIBJIN_MODULES_RENDER +#endif // __LIBJIN_CANVAS_H
\ No newline at end of file |