summaryrefslogtreecommitdiff
path: root/Source/modules/asura-core/Graphics/binding/Image.binding.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/modules/asura-core/Graphics/binding/Image.binding.cpp')
-rw-r--r--Source/modules/asura-core/Graphics/binding/Image.binding.cpp71
1 files changed, 71 insertions, 0 deletions
diff --git a/Source/modules/asura-core/Graphics/binding/Image.binding.cpp b/Source/modules/asura-core/Graphics/binding/Image.binding.cpp
new file mode 100644
index 0000000..94f88b8
--- /dev/null
+++ b/Source/modules/asura-core/Graphics/binding/Image.binding.cpp
@@ -0,0 +1,71 @@
+#include "../image.h"
+
+using namespace std;
+
+namespace_begin(AsuraEngine)
+namespace_begin(Graphics)
+
+
+LUAX_REGISTRY(Image)
+{
+ LUAX_INHERIT(state, Texture);
+
+ LUAX_REGISTER_METHODS(state,
+ { "New", _New },
+ { "GetWidth", _GetWidth },
+ { "GetHeight", _GetHeight },
+ { "GetSize", _GetSize },
+ { "Render", _Render }
+ );
+}
+
+LUAX_POSTPROCESS(Image)
+{
+}
+
+// image = Image.New()
+LUAX_IMPL_METHOD(Image, _New)
+{
+ LUAX_STATE(L);
+ Image* img = new Image();
+ img->PushLuaxUserdata(state);
+ return 1;
+}
+
+// width = image:GetWidth()
+LUAX_IMPL_METHOD(Image, _GetWidth)
+{
+ LUAX_PREPARE(L, Image);
+ state.Push(self->GetWidth());
+ return 1;
+}
+
+// height = image:GetHeight()
+LUAX_IMPL_METHOD(Image, _GetHeight)
+{
+ LUAX_PREPARE(L, Image);
+ state.Push(self->GetHeight());
+ return 1;
+}
+
+// width, height = image:GetSize()
+LUAX_IMPL_METHOD(Image, _GetSize)
+{
+ LUAX_PREPARE(L, Image);
+ int width = self->GetWidth();
+ int height = self->GetHeight();
+ state.Push(width);
+ state.Push(height);
+ return 2;
+}
+
+// image:Render()
+LUAX_IMPL_METHOD(Image, _Render)
+{
+ LUAX_PREPARE(L, Image);
+
+ return 0;
+}
+
+}
+}