Context.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. //class Rocket::Core::Context;
  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. template<> const char* GetTClassName<Context>();
  60. template<> RegType<Context>* GetMethodTable<Context>();
  61. template<> luaL_reg* GetAttrTable<Context>();
  62. template<> luaL_reg* SetAttrTable<Context>();
  63. }
  64. }
  65. }