Colourf.cpp 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. #include "precompiled.h"
  2. #include "Colourf.h"
  3. namespace Rocket {
  4. namespace Core {
  5. namespace Lua {
  6. //metamethods
  7. int Colourf__call(lua_State* L)
  8. {
  9. float red = (float)luaL_checknumber(L,1);
  10. float green = (float)luaL_checknumber(L,2);
  11. float blue = (float)luaL_checknumber(L,3);
  12. float alpha = (float)luaL_checknumber(L,4);
  13. Colourf* col = new Colourf(red,green,blue,alpha);
  14. LuaType<Colourf>::push(L,col,true);
  15. return 1;
  16. }
  17. int Colourf__eq(lua_State* L)
  18. {
  19. Colourf* lhs = LuaType<Colourf>::check(L,1);
  20. Colourf* rhs = LuaType<Colourf>::check(L,2);
  21. lua_pushboolean(L, (*lhs) == (*rhs) ? 1 : 0);
  22. return 1;
  23. }
  24. //getters
  25. int ColourfGetAttrred(lua_State* L)
  26. {
  27. Colourf* obj = LuaType<Colourf>::check(L,1);
  28. lua_pushnumber(L,obj->red);
  29. return 1;
  30. }
  31. int ColourfGetAttrgreen(lua_State* L)
  32. {
  33. Colourf* obj = LuaType<Colourf>::check(L,1);
  34. lua_pushnumber(L,obj->green);
  35. return 1;
  36. }
  37. int ColourfGetAttrblue(lua_State* L)
  38. {
  39. Colourf* obj = LuaType<Colourf>::check(L,1);
  40. lua_pushnumber(L,obj->blue);
  41. return 1;
  42. }
  43. int ColourfGetAttralpha(lua_State* L)
  44. {
  45. Colourf* obj = LuaType<Colourf>::check(L,1);
  46. lua_pushnumber(L,obj->alpha);
  47. return 1;
  48. }
  49. int ColourfGetAttrrgba(lua_State* L)
  50. {
  51. Colourf* obj = LuaType<Colourf>::check(L,1);
  52. lua_pushnumber(L,obj->red);
  53. lua_pushnumber(L,obj->green);
  54. lua_pushnumber(L,obj->blue);
  55. lua_pushnumber(L,obj->alpha);
  56. return 4;
  57. }
  58. //setters
  59. int ColourfSetAttrred(lua_State* L)
  60. {
  61. Colourf* obj = LuaType<Colourf>::check(L,1);
  62. float red = (float)luaL_checknumber(L,2);
  63. obj->red = red;
  64. return 0;
  65. }
  66. int ColourfSetAttrgreen(lua_State* L)
  67. {
  68. Colourf* obj = LuaType<Colourf>::check(L,1);
  69. float green = (float)luaL_checknumber(L,2);
  70. obj->green = green;
  71. return 0;
  72. }
  73. int ColourfSetAttrblue(lua_State* L)
  74. {
  75. Colourf* obj = LuaType<Colourf>::check(L,1);
  76. float blue = (float)luaL_checknumber(L,2);
  77. obj->blue;
  78. return 0;
  79. }
  80. int ColourfSetAttralpha(lua_State* L)
  81. {
  82. Colourf* obj = LuaType<Colourf>::check(L,1);
  83. float alpha = (float)luaL_checknumber(L,2);
  84. obj->alpha;
  85. return 0;
  86. }
  87. RegType<Colourf> ColourfMethods[] =
  88. {
  89. { NULL, NULL },
  90. };
  91. luaL_reg ColourfGetters[] =
  92. {
  93. LUAGETTER(Colourf,red)
  94. LUAGETTER(Colourf,green)
  95. LUAGETTER(Colourf,blue)
  96. LUAGETTER(Colourf,alpha)
  97. LUAGETTER(Colourf,rgba)
  98. { NULL, NULL },
  99. };
  100. luaL_reg ColourfSetters[] =
  101. {
  102. LUASETTER(Colourf,red)
  103. LUASETTER(Colourf,green)
  104. LUASETTER(Colourf,blue)
  105. LUASETTER(Colourf,alpha)
  106. { NULL, NULL },
  107. };
  108. }
  109. }
  110. }