aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/je_graphic_single.h
blob: ca2864ba6ed01955d9fffa5b265d0afa63287459 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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