aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/je_graphic_single.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Graphics/je_graphic_single.h')
-rw-r--r--src/libjin/Graphics/je_graphic_single.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/libjin/Graphics/je_graphic_single.h b/src/libjin/Graphics/je_graphic_single.h
new file mode 100644
index 0000000..ca2864b
--- /dev/null
+++ b/src/libjin/Graphics/je_graphic_single.h
@@ -0,0 +1,53 @@
+#ifndef __JE_GRAPHIC_SINGLE_H
+#define __JE_GRAPHIC_SINGLE_H
+
+#include "../math/je_quad.h"
+
+#include "je_graphic.h"
+
+namespace JinEngine
+{
+ namespace Graphics
+ {
+ //
+ // GraphicSingle
+ // |- Canvas
+ // |- Texture
+ // |- TextureFont
+ //
+
+ ///
+ /// Single graphic, comparing to graphics batch, a single graphic need assign it's vertex and screen uv.
+ /// For example, a texture and canvas should be a graphic single.
+ ///
+ class GraphicSingle : public Graphic
+ {
+ public:
+ ///
+ ///
+ ///
+ GraphicSingle(const Bitmap* bitmap);
+
+ ///
+ ///
+ ///
+ GraphicSingle(int w = 0, int h = 0);
+
+ ///
+ /// Render graphic single with given coordinates.
+ ///
+ void render(int x, int y, float sx = 1, float sy = 1, float r = 0, float ox = 0, float oy = 0);
+
+ ///
+ /// Render part of graphic single with given coordinates.
+ ///
+ void render(const Math::Quad& slice, int x, int y, float sx = 1, float sy = 1, float r = 0, float ox = 0, float oy = 0);
+
+ private:
+
+ };
+
+ } // namespace Graphics
+} // namespace JinEngine
+
+#endif \ No newline at end of file