Document.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #ifndef ROCKETCORELUADOCUMENT_H
  2. #define ROCKETCORELUADOCUMENT_H
  3. /*
  4. This defines the Document type in the Lua global namespace
  5. It inherits from Element, so check the documentation for Element.h to
  6. see what other functions you can call from a Document object. Document
  7. specific things are below
  8. //methods
  9. noreturn Document:PullToFront()
  10. noreturn Document:PushToBack()
  11. noreturn Document:Show(int flag)
  12. noreturn Document:Hide()
  13. noreturn Document:Close()
  14. Element Document:CreateElement(string tag)
  15. ElementText Document:CreateTextNode(string text)
  16. //getters
  17. string Document.title
  18. Context Document.context
  19. //setter
  20. Document.title = string
  21. */
  22. #include <Rocket/Core/Lua/lua.hpp>
  23. #include <Rocket/Core/Lua/LuaType.h>
  24. #include <Rocket/Core/ElementDocument.h>
  25. namespace Rocket {
  26. namespace Core {
  27. namespace Lua {
  28. typedef ElementDocument Document;
  29. template<> void LuaType<Document>::extra_init(lua_State* L, int metatable_index);
  30. template<> bool LuaType<Document>::is_reference_counted();
  31. //methods
  32. int DocumentPullToFront(lua_State* L, Document* obj);
  33. int DocumentPushToBack(lua_State* L, Document* obj);
  34. int DocumentShow(lua_State* L, Document* obj);
  35. int DocumentHide(lua_State* L, Document* obj);
  36. int DocumentClose(lua_State* L, Document* obj);
  37. int DocumentCreateElement(lua_State* L, Document* obj);
  38. int DocumentCreateTextNode(lua_State* L, Document* obj);
  39. //getters
  40. int DocumentGetAttrtitle(lua_State* L);
  41. int DocumentGetAttrcontext(lua_State* L);
  42. //setters
  43. int DocumentSetAttrtitle(lua_State* L);
  44. RegType<Document> DocumentMethods[];
  45. luaL_reg DocumentGetters[];
  46. luaL_reg DocumentSetters[];
  47. /*
  48. template<> const char* GetTClassName<Document>();
  49. template<> RegType<Document>* GetMethodTable<Document>();
  50. template<> luaL_reg* GetAttrTable<Document>();
  51. template<> luaL_reg* SetAttrTable<Document>();
  52. */
  53. }
  54. }
  55. }
  56. #endif