Renderer.cpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. // Copyright (C) 2009-present, Panagiotis Christopoulos Charitos and contributors.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. // WARNING: This file is auto generated.
  6. #include <AnKi/Script/LuaBinder.h>
  7. #include <AnKi/Script/ScriptManager.h>
  8. #include <AnKi/Renderer.h>
  9. namespace anki {
  10. static Renderer* getRenderer(lua_State* l)
  11. {
  12. LuaBinder* binder = nullptr;
  13. lua_getallocf(l, reinterpret_cast<void**>(&binder));
  14. return &Renderer::getSingleton();
  15. }
  16. LuaUserDataTypeInfo g_luaUserDataTypeInfoRenderer = {-8680680372486703494, "Renderer", LuaUserData::computeSizeForGarbageCollected<Renderer>(),
  17. nullptr, nullptr};
  18. template<>
  19. const LuaUserDataTypeInfo& LuaUserData::getDataTypeInfoFor<Renderer>()
  20. {
  21. return g_luaUserDataTypeInfoRenderer;
  22. }
  23. // Wrap method Renderer::getAspectRatio.
  24. static inline int wrapRenderergetAspectRatio(lua_State* l)
  25. {
  26. [[maybe_unused]] LuaUserData* ud;
  27. [[maybe_unused]] void* voidp;
  28. [[maybe_unused]] PtrSize size;
  29. if(LuaBinder::checkArgsCount(l, ANKI_FILE, __LINE__, ANKI_FUNC, 1)) [[unlikely]]
  30. {
  31. return lua_error(l);
  32. }
  33. // Get "this" as "self"
  34. if(LuaBinder::checkUserData(l, ANKI_FILE, __LINE__, ANKI_FUNC, 1, g_luaUserDataTypeInfoRenderer, ud)) [[unlikely]]
  35. {
  36. return lua_error(l);
  37. }
  38. Renderer* self = ud->getData<Renderer>();
  39. // Call the method
  40. F32 ret = self->getAspectRatio();
  41. // Push return value
  42. lua_pushnumber(l, lua_Number(ret));
  43. return 1;
  44. }
  45. // Wrap method Renderer::setCurrentDebugRenderTarget.
  46. static inline int wrapRenderersetCurrentDebugRenderTarget(lua_State* l)
  47. {
  48. [[maybe_unused]] LuaUserData* ud;
  49. [[maybe_unused]] void* voidp;
  50. [[maybe_unused]] PtrSize size;
  51. if(LuaBinder::checkArgsCount(l, ANKI_FILE, __LINE__, ANKI_FUNC, 2)) [[unlikely]]
  52. {
  53. return lua_error(l);
  54. }
  55. // Get "this" as "self"
  56. if(LuaBinder::checkUserData(l, ANKI_FILE, __LINE__, ANKI_FUNC, 1, g_luaUserDataTypeInfoRenderer, ud)) [[unlikely]]
  57. {
  58. return lua_error(l);
  59. }
  60. Renderer* self = ud->getData<Renderer>();
  61. // Pop arguments
  62. const char* arg0;
  63. if(LuaBinder::checkString(l, ANKI_FILE, __LINE__, ANKI_FUNC, 2, arg0)) [[unlikely]]
  64. {
  65. return lua_error(l);
  66. }
  67. // Call the method
  68. self->setCurrentDebugRenderTarget(arg0);
  69. return 0;
  70. }
  71. // Wrap class Renderer.
  72. static inline void wrapRenderer(lua_State* l)
  73. {
  74. LuaBinder::createClass(l, &g_luaUserDataTypeInfoRenderer);
  75. LuaBinder::pushLuaCFuncMethod(l, "getAspectRatio", wrapRenderergetAspectRatio);
  76. LuaBinder::pushLuaCFuncMethod(l, "setCurrentDebugRenderTarget", wrapRenderersetCurrentDebugRenderTarget);
  77. lua_settop(l, 0);
  78. }
  79. // Wrap function getRenderer.
  80. static inline int wrapgetRenderer(lua_State* l)
  81. {
  82. [[maybe_unused]] LuaUserData* ud;
  83. [[maybe_unused]] void* voidp;
  84. [[maybe_unused]] PtrSize size;
  85. if(LuaBinder::checkArgsCount(l, ANKI_FILE, __LINE__, ANKI_FUNC, 0)) [[unlikely]]
  86. {
  87. return lua_error(l);
  88. }
  89. // Call the function
  90. Renderer* ret = getRenderer(l);
  91. // Push return value
  92. if(ret == nullptr) [[unlikely]]
  93. {
  94. return luaL_error(l, "Returned nullptr. Location %s:%d %s", ANKI_FILE, __LINE__, ANKI_FUNC);
  95. }
  96. voidp = lua_newuserdata(l, sizeof(LuaUserData));
  97. ud = static_cast<LuaUserData*>(voidp);
  98. luaL_setmetatable(l, "Renderer");
  99. extern LuaUserDataTypeInfo g_luaUserDataTypeInfoRenderer;
  100. ud->initPointed(&g_luaUserDataTypeInfoRenderer, ret);
  101. return 1;
  102. }
  103. // Wrap the module.
  104. void wrapModuleRenderer(lua_State* l)
  105. {
  106. wrapRenderer(l);
  107. LuaBinder::pushLuaCFunc(l, "getRenderer", wrapgetRenderer);
  108. }
  109. } // end namespace anki