Context.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #pragma once
  2. /*
  3. This defines a Context type in the Lua global namespace
  4. //methods
  5. Context:AddEventListener --NYI
  6. noreturn Context:AddMouseCursor(Document cursor_document)
  7. Document Context:CreateDocument([string tag]) --tag defaults to "body"
  8. Document Context:LoadDocument(string path)
  9. Document Context:LoadMouseCursor(string path)
  10. bool Context:Render
  11. noreturn Context:ShowMouseCursor(bool show)
  12. noreturn Context:UnloadAllDocuments()
  13. noreturn Context:UnloadAllMouseCursors()
  14. noreturn Context:UnloadDocument(Document doc)
  15. noreturn Context:UnloadMouseCursor(string name)
  16. bool Context:Update()
  17. //getters
  18. Vector2i Context.dimensions
  19. {} where key=string id,value=Document Context.documents
  20. Element Context.focus_element
  21. Element Context.hover_element
  22. string Context.name
  23. Element Context.root_element
  24. //setters
  25. Context.dimensions = Vector2i
  26. */
  27. #include "LuaType.h"
  28. #include "lua.hpp"
  29. #include <Rocket/Core/Context.h>
  30. namespace Rocket {
  31. namespace Core {
  32. namespace Lua {
  33. template<> bool LuaType<Context>::is_reference_counted();
  34. //methods
  35. int ContextAddEventListener(lua_State* L, Context* obj);
  36. int ContextAddMouseCursor(lua_State* L, Context* obj);
  37. int ContextCreateDocument(lua_State* L, Context* obj);
  38. int ContextLoadDocument(lua_State* L, Context* obj);
  39. int ContextLoadMouseCursor(lua_State* L, Context* obj);
  40. int ContextRender(lua_State* L, Context* obj);
  41. int ContextShowMouseCursor(lua_State* L, Context* obj);
  42. int ContextUnloadAllDocuments(lua_State* L, Context* obj);
  43. int ContextUnloadAllMouseCursors(lua_State* L, Context* obj);
  44. int ContextUnloadDocument(lua_State* L, Context* obj);
  45. int ContextUnloadMouseCursor(lua_State* L, Context* obj);
  46. int ContextUpdate(lua_State* L, Context* obj);
  47. //getters
  48. int ContextGetAttrdimensions(lua_State* L);
  49. int ContextGetAttrdocuments(lua_State* L);
  50. int ContextGetAttrfocus_element(lua_State* L);
  51. int ContextGetAttrhover_element(lua_State* L);
  52. int ContextGetAttrname(lua_State* L);
  53. int ContextGetAttrroot_element(lua_State* L);
  54. //setters
  55. int ContextSetAttrdimensions(lua_State* L);
  56. RegType<Context> ContextMethods[];
  57. luaL_reg ContextGetters[];
  58. luaL_reg ContextSetters[];
  59. /*
  60. template<> const char* GetTClassName<Context>();
  61. template<> RegType<Context>* GetMethodTable<Context>();
  62. template<> luaL_reg* GetAttrTable<Context>();
  63. template<> luaL_reg* SetAttrTable<Context>();
  64. */
  65. }
  66. }
  67. }