From 7d5f055547e70fa93ee9ac944e62f8d657b9dc55 Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 19 Oct 2018 08:36:44 +0800 Subject: =?UTF-8?q?*=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/Graphics/je_canvas.h | 66 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/libjin/Graphics/je_canvas.h (limited to 'src/libjin/Graphics/je_canvas.h') 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 -- cgit v1.1-26-g67d0