summaryrefslogtreecommitdiff
path: root/source/modules/asura-core/graphics/matrix_stack.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/modules/asura-core/graphics/matrix_stack.h')
-rw-r--r--source/modules/asura-core/graphics/matrix_stack.h73
1 files changed, 36 insertions, 37 deletions
diff --git a/source/modules/asura-core/graphics/matrix_stack.h b/source/modules/asura-core/graphics/matrix_stack.h
index 67401d0..ad32bb4 100644
--- a/source/modules/asura-core/graphics/matrix_stack.h
+++ b/source/modules/asura-core/graphics/matrix_stack.h
@@ -3,57 +3,56 @@
#include <asura-utils/type.h>
#include <asura-utils/math/matrix44.h>
+#include <asura-utils/classes.h>
-namespace AsuraEngine
-{
- namespace Graphics
- {
+namespace_begin(AsuraEngine)
+namespace_begin(Graphics)
- ///
- /// ջľȡ
- ///
+///
+/// ջľȡ
+///
#define ASURA_MAX_MATRIX_STACK_DEPTH 32 // 2KB
- ///
- /// ջ״ָ̬֮ǰ״̬ջеһstack[i]ֵstack[0]*..*stack[i-1]
- /// ֵһϵtransform
- ///
- /// TODO: template<uint _capacity> MatrixStack
- ///
- class MatrixStack
- {
- public:
+///
+/// ջ״ָ̬֮ǰ״̬ջеһstack[i]ֵstack[0]*..*stack[i-1]
+/// ֵһϵtransform
+///
+/// TODO: template<uint _capacity> MatrixStack
+///
+class MatrixStack
+{
+public:
- MatrixStack();
- ~MatrixStack();
+ MatrixStack();
+ ~MatrixStack();
- void LoadIdentity();
- bool Push();
- bool Pop();
+ void LoadIdentity();
+ bool Push();
+ bool Pop();
- AEMath::Matrix44& GetTop();
- void GetTop(ASURA_OUT AEMath::Matrix44& mat44);
+ AEMath::Matrix44& GetTop();
+ void GetTop(ASURA_OUT AEMath::Matrix44& mat44);
- void LoadMatrix(const AEMath::Matrix44& mat44);
- void MultMatrix(const AEMath::Matrix44& mat44);
+ void LoadMatrix(const AEMath::Matrix44& mat44);
+ void MultMatrix(const AEMath::Matrix44& mat44);
- void Rotate(float angle);
- void Translate(float x, float y);
- void Scale(float x, float y);
+ void Rotate(float angle);
+ void Translate(float x, float y);
+ void Scale(float x, float y);
- void Ortho(float l, float r, float b, float t, float n, float f);
+ void Ortho(float l, float r, float b, float t, float n, float f);
- uint GetTopIndex();
- uint GetCapacity();
+ uint GetTopIndex();
+ uint GetCapacity();
- private:
+private:
- AEMath::Matrix44 m_Stack[ASURA_MAX_MATRIX_STACK_DEPTH];
- uint8 top;
+ AEMath::Matrix44 m_Stack[ASURA_MAX_MATRIX_STACK_DEPTH];
+ uint8 top;
- };
+};
- }
-}
+namespace_end
+namespace_end
#endif \ No newline at end of file