From af7bdaa10ee71a319dc55c3c7556fa43a95c9dc9 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 2 Apr 2019 21:45:33 +0800 Subject: *misc --- source/Asura.Editor/controls/binding/_button.cpp | 100 +++++----- source/Asura.Editor/controls/button.cpp | 4 - source/Asura.Editor/controls/button.h | 99 +++++----- source/Asura.Editor/core/shaders.h | 9 + .../modules/asura-core/graphics/binding/_image.cpp | 26 +-- source/modules/asura-core/graphics/canvas.cpp | 34 +++- source/modules/asura-core/graphics/canvas.h | 3 +- source/modules/asura-core/graphics/gl.cpp | 18 +- source/modules/asura-core/graphics/gl.h | 40 ++-- source/modules/asura-core/graphics/image.cpp | 54 +++++- source/modules/asura-core/graphics/image.h | 17 +- .../modules/asura-core/graphics/matrix_stack.cpp | 61 +++++++ source/modules/asura-core/graphics/matrix_stack.h | 82 +++++++++ source/modules/asura-core/graphics/shader.cpp | 136 ++++++++++++-- source/modules/asura-core/graphics/shader.h | 12 +- source/modules/asura-core/graphics/shader_source.h | 11 +- source/modules/asura-core/graphics/texture.cpp | 14 +- .../modules/asura-utils/exceptions/exception.cpp | 9 +- source/modules/asura-utils/exceptions/exception.h | 14 -- source/modules/asura-utils/io/binding/_file.cpp | 2 +- .../asura-utils/io/binding/_file_system.cpp | 4 +- source/modules/asura-utils/io/file.cpp | 8 +- source/modules/asura-utils/io/file.h | 12 +- source/modules/asura-utils/io/file_data.h | 2 +- source/modules/asura-utils/io/file_system.cpp | 8 +- source/modules/asura-utils/io/file_system.h | 10 +- source/modules/asura-utils/io/io_task.h | 2 +- source/modules/asura-utils/io/renewable.h | 8 +- source/modules/asura-utils/math/matrix44.cpp | 203 +++++++++++++++++++++ source/modules/asura-utils/math/matrix44.h | 152 ++++++++++++++- source/modules/asura-utils/math/rect.hpp | 2 +- source/modules/asura-utils/type.h | 13 +- source/tests/win32/01-window/03_sub_menu.cpp | 29 ++- 33 files changed, 947 insertions(+), 251 deletions(-) create mode 100644 source/Asura.Editor/core/shaders.h create mode 100644 source/modules/asura-core/graphics/matrix_stack.cpp create mode 100644 source/modules/asura-core/graphics/matrix_stack.h (limited to 'source') diff --git a/source/Asura.Editor/controls/binding/_button.cpp b/source/Asura.Editor/controls/binding/_button.cpp index fbae64f..9e6a6bb 100644 --- a/source/Asura.Editor/controls/binding/_button.cpp +++ b/source/Asura.Editor/controls/binding/_button.cpp @@ -1,60 +1,74 @@ #include "../button.h" +using namespace std; using namespace Luax; -namespace AsuraEditor +namespace AsuraEditor { - - LUAX_REGISTRY(Button) + namespace Controls { + + LUAX_REGISTRY(Button) + { + LUAX_REGISTER_METHODS(state, + { "Connect", _Connect }, + { "Disconnect", _Disconnect }, + { "SetImage", _SetImage } + ); + } - // Button.EStatus.xxx - LUAX_REGISTER_ENUM(state, "EStatus", - { "NORMAL", BUTTON_STATUS_NORMAL }, - { "PUSHED", BUTTON_STATUS_PUSHED }, - { "HOVER", BUTTON_STATUS_HOVER }, - { "DISABLED", BUTTON_STATUS_DISABLED }, - { "FOCUSED", BUTTON_STATUS_FOCUSED } - ); - - // Button.EMsg.xxx - LUAX_REGISTER_ENUM(state, "EMessage", - { "CLICK", BUTTON_MSG_CLICK }, - { "HOVER", BUTTON_MSG_HOVER }, - { "FOCUS", BUTTON_MSG_KILLFOCUS } - ); + LUAX_POSTPROCESS(Button) + { + LUAX_REGISTER_ENUM(state, "EButtonStatus", + { "NORMAL", BUTTON_STATUS_NORMAL }, + { "0", 0 }, + { "PUSHED", BUTTON_STATUS_PUSHED }, + { "1", 1 }, + { "HOVER", BUTTON_STATUS_HOVER }, + { "2", 2 }, + { "DISABLED", BUTTON_STATUS_DISABLED }, + { "3", 3 }, + { "FOCUSED", BUTTON_STATUS_FOCUSED }, + { "4", 4 }, + { "STATUS_COUNT", _BUTTON_STATUS_COUNT }, + { "5", 5 } + ); + LUAX_REGISTER_ENUM(state, "EButtonMessage", + { "CLICK", BUTTON_MSG_CLICK }, + { "0", 0 }, + { "HOVER", BUTTON_MSG_HOVER }, + { "1", 1 }, + { "KILLFOCUS", BUTTON_MSG_KILLFOCUS }, + { "2", 2 }, + { "MSG_COUNT", _BUTTON_MSG_COUNT }, + { "3", 3 } + ); - } + } - LUAX_POSTPROCESS(Button) - { + // button:Connect() + LUAX_IMPL_METHOD(Button, _Connect) + { + LUAX_PREPARE(L, Button); - } + return 0; + } - // button:Connect(msg, callback) - LUAX_IMPL_METHOD(Button, _Connect) - { - LUAX_STATE(L); + // button:Disconnect() + LUAX_IMPL_METHOD(Button, _Disconnect) + { + LUAX_PREPARE(L, Button); - Button* self = state.GetUserdata