diff options
author | chai <chaifix@163.com> | 2019-08-16 08:54:08 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-08-16 08:54:08 +0800 |
commit | a077eb38b01292611f4f6031b75e3e2c1c20f06e (patch) | |
tree | 8f760483d7b0290952bbdb5bcd8f3943102aeb3a /Source/modules/asura-core/Graphics/binding/Image.binding.cpp | |
parent | 6a065c913e9308cc72e1ad0723b6167048f439b6 (diff) |
Diffstat (limited to 'Source/modules/asura-core/Graphics/binding/Image.binding.cpp')
-rw-r--r-- | Source/modules/asura-core/Graphics/binding/Image.binding.cpp | 71 |
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; +} + +} +} |