diff options
Diffstat (limited to 'Source/Asura.Engine/Graphics/Color.h')
-rw-r--r-- | Source/Asura.Engine/Graphics/Color.h | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/Source/Asura.Engine/Graphics/Color.h b/Source/Asura.Engine/Graphics/Color.h index f62f9b8..daf6a09 100644 --- a/Source/Asura.Engine/Graphics/Color.h +++ b/Source/Asura.Engine/Graphics/Color.h @@ -1,6 +1,8 @@ #ifndef __ASURA_ENGINE_COLOR_H__ #define __ASURA_ENGINE_COLOR_H__ +#include "Scripting/Luax.hpp" + #include "Type.h" namespace AsuraEngine @@ -17,7 +19,12 @@ namespace AsuraEngine { public: - Color32(Color c); + Color32(); + + Color32(const Color32& c); + + Color32(const Color& c); + Color32(byte r, byte g, byte b, byte a); byte r, g, b, a; @@ -26,20 +33,53 @@ namespace AsuraEngine LUAX_DECL_FACTORY(Color32); + LUAX_DECL_METHOD(l_GetRed); + LUAX_DECL_METHOD(l_GetGreen); + LUAX_DECL_METHOD(l_GetBlue); + LUAX_DECL_METHOD(l_GetAlpha); + + // meta methods + LUAX_DECL_METHOD(l_Multiply); + LUAX_DECL_METHOD(l_Index); //r,g,b,a + LUAX_DECL_METHOD(l_NewIndex); //r,g,b,a + }; + /// + /// 淶ɫ + /// class Color { public: - Color(Color32 c32); + Color(); + Color(const Color& c); + + Color(float r, float g, float b, float a); + + Color(const Color32& c); + + Color operator *(const Color& c); + float r, g, b, a; - private: + private: + + //////////////////////////////////////////////////////////////////////////////////////////////////////////// LUAX_DECL_FACTORY(Color); + LUAX_DECL_METHOD(l_GetRed); // color.r + LUAX_DECL_METHOD(l_GetGreen); // color.g + LUAX_DECL_METHOD(l_GetBlue); // color.b + LUAX_DECL_METHOD(l_GetAlpha); // color.a + + // meta methods + LUAX_DECL_METHOD(l_Multiply); // ɫ˷ + //LUAX_DECL_METHOD(l_Index); // r,g,b,a + LUAX_DECL_METHOD(l_NewIndex); // r,g,b,a + }; } |