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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
#ifndef __JE_OPENGL_H__
#define __JE_OPENGL_H__
#include <vector>
#include "../math/je_matrix.h"
#include "je_color.h"
#include "GLee/GLee.h"
#include "ogl/OpenGL.h"
namespace JinEngine
{
namespace Graphics
{
class OpenGL
: public ogl2d::OpenGL
{
public:
///
///
///
OpenGL();
void setColor(Channel r, Channel g, Channel b, Channel a);
void setColor(Color c);
Color getColor();
void clearMatrix();
void push();
void translate(float x, float y);
void scale(float sx, float sy);
void rotate(float r);
void pop();
///
/// Get model view matrix.
///
Math::Matrix getModelViewMatrix(float x, float y, float sx, float sy, float r, float ox, float oy);
///
/// Get model view matrix.
///
Math::Matrix getModelViewMatrix();
///
/// Set orthogonal matrix.
///
void setProjectionMatrix(float l, float r, float b, float t, float n, float f);
///
/// Get orthogonal matrix.
///
const Math::Matrix& getProjectionMatrix();
private:
void solve();
Color mCurrentColor;
std::vector<Math::Matrix> mModelViewMatrices;
Math::Matrix mModelViewMatrix;
Math::Matrix mProjectionMatrix;
};
// Singleton.
extern OpenGL gl;
} // namespace Graphics
} // namespace JinEngine
#endif // __JE_OPENGL_H__
|