diff options
Diffstat (limited to 'src/libjin/Graphics/je_graphic_single.h')
-rw-r--r-- | src/libjin/Graphics/je_graphic_single.h | 53 |
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 |