summaryrefslogtreecommitdiff
path: root/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Editor/Scripting/EditorGUI/GUIWindow.bind.cpp')
-rw-r--r--Editor/Scripting/EditorGUI/GUIWindow.bind.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp b/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp
index e69de29..ec8f830 100644
--- a/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp
+++ b/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp
@@ -0,0 +1,63 @@
+#include "Editor/GUI/EditorWindows.h"
+
+LUA_BIND_REGISTRY(GUIWindow)
+{
+ LUA_BIND_REGISTER_METHODS(state,
+ { "DoPaint", _DoPaint },
+ { "Focus", _Focus },
+ { "SetContainnerWindow", _SetContainnerWindow },
+ { "SetPosition", _SetPosition },
+ { "New", _New }
+ );
+}
+
+LUA_BIND_POSTPROCESS(GUIWindow)
+{
+}
+
+LUA_BIND_IMPL_METHOD(GUIWindow, _DoPaint)
+{
+ LUA_BIND_PREPARE(L, GUIWindow);
+ self->DoPaint();
+ return 0;
+}
+
+LUA_BIND_IMPL_METHOD(GUIWindow, _Focus)
+{
+ LUA_BIND_PREPARE(L, GUIWindow);
+ self->Focus();
+ return 0;
+}
+
+LUA_BIND_IMPL_METHOD(GUIWindow, _SetContainnerWindow)
+{
+ LUA_BIND_PREPARE(L, GUIWindow);
+ ContainnerWindow* wnd = state.GetUserdata<ContainnerWindow>(2);
+ self->SetContainnerWindow(wnd);
+ return 0;
+}
+
+// GUIWindow.SetPosition(self, {x, y, width, height})
+LUA_BIND_IMPL_METHOD(GUIWindow, _SetPosition)
+{
+ LUA_BIND_PREPARE(L, GUIWindow);
+ if (!state.CheckParams(1, "UT"))
+ return 0;
+
+ Rectf rect;
+ rect.x = state.GetField<float>(2, 1, 0);
+ rect.y = state.GetField<float>(2, 2, 0);
+ rect.width = state.GetField<float>(2, 3, 0);
+ rect.height = state.GetField<float>(2, 4, 0);
+ self->SetPosition(rect);
+ return 0;
+}
+
+LUA_BIND_IMPL_METHOD(GUIWindow, _New)
+{
+ LUA_BIND_PREPARE(L, GUIWindow);
+ GUIWindow* wnd = new GUIWindow();
+ wnd->PushUserdata(state);
+ wnd->Init();
+ return 1;
+} \ No newline at end of file