Colourb.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #pragma once
  2. /*
  3. Declares Colourb in the Lua global namespace. It implements the below (examples using Lua syntax) :
  4. Colourb(int red,int green,int blue,int alpha) creates a new Colourf (values must be bounded between 0 and 255 inclusive),
  5. and gets deleted when Lua garbage collects
  6. everything after this will assume that you have a local variable named 'col', declared something similar to
  7. local col = Colourb(0,15,3,255)
  8. operators (the types that it can operate on are on the right):
  9. col == Colourb
  10. col + Colourb
  11. col * float
  12. no methods
  13. get and set attributes:
  14. col.red
  15. col.green
  16. col.blue
  17. col.alpha
  18. get attributes:
  19. local red,green,blue,alpha = col.rgba
  20. */
  21. #include "LuaType.h"
  22. #include "lua.hpp"
  23. #include <Rocket/Core/Types.h>
  24. namespace Rocket {
  25. namespace Core {
  26. namespace Lua {
  27. template<> void LuaType<Colourb>::extra_init(lua_State* L, int metatable_index);
  28. int Colourb__call(lua_State* L);
  29. int Colourb__eq(lua_State* L);
  30. int Colourb__add(lua_State* L);
  31. int Colourb__mul(lua_State* L);
  32. //getters
  33. int ColourbGetAttrred(lua_State* L);
  34. int ColourbGetAttrgreen(lua_State* L);
  35. int ColourbGetAttrblue(lua_State* L);
  36. int ColourbGetAttralpha(lua_State* L);
  37. int ColourbGetAttrrgba(lua_State* L);
  38. //setters
  39. int ColourbSetAttrred(lua_State* L);
  40. int ColourbSetAttrgreen(lua_State* L);
  41. int ColourbSetAttrblue(lua_State* L);
  42. int ColourbSetAttralpha(lua_State* L);
  43. RegType<Colourb> ColourbMethods[];
  44. luaL_reg ColourbGetters[];
  45. luaL_reg ColourbSetters[];
  46. template<> const char* GetTClassName<Colourb>();
  47. template<> RegType<Colourb>* GetMethodTable<Colourb>();
  48. template<> luaL_reg* GetAttrTable<Colourb>();
  49. template<> luaL_reg* SetAttrTable<Colourb>();
  50. }
  51. }
  52. }