Colourf.cpp 2.8 KB

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