summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/Asura.Editor/Asura.Editor.vcxproj29
-rw-r--r--Build/Asura.Editor/Asura.Editor.vcxproj.filters128
-rw-r--r--bin/win64/01-window.exebin1462272 -> 1462272 bytes
-rw-r--r--build/Asura.Editor/Asura.Editor.vcxproj29
-rw-r--r--build/Asura.Editor/Asura.Editor.vcxproj.filters128
-rw-r--r--source/Asura.Editor/controls/binding/_button.cpp74
-rw-r--r--source/Asura.Editor/controls/button.cpp10
-rw-r--r--source/Asura.Editor/controls/button.h82
-rw-r--r--source/Asura.Editor/controls/content.cpp8
-rw-r--r--source/Asura.Editor/controls/content.h17
-rw-r--r--source/Asura.Editor/controls/hslider.cpp0
-rw-r--r--source/Asura.Editor/controls/hslider.h0
-rw-r--r--source/Asura.Editor/controls/hvslider.cpp0
-rw-r--r--source/Asura.Editor/controls/hvslider.h0
-rw-r--r--source/Asura.Editor/controls/label.cpp8
-rw-r--r--source/Asura.Editor/controls/label.h25
-rw-r--r--source/Asura.Editor/controls/menu_item.cpp0
-rw-r--r--source/Asura.Editor/controls/menu_item.h0
-rw-r--r--source/Asura.Editor/controls/panel.cpp16
-rw-r--r--source/Asura.Editor/controls/panel.h16
-rw-r--r--source/Asura.Editor/controls/progress.cpp0
-rw-r--r--source/Asura.Editor/controls/progress.h0
-rw-r--r--source/Asura.Editor/controls/radio_button.cpp0
-rw-r--r--source/Asura.Editor/controls/radio_button.h23
-rw-r--r--source/Asura.Editor/controls/textbox.cpp0
-rw-r--r--source/Asura.Editor/controls/textbox.h0
-rw-r--r--source/Asura.Editor/controls/toggle.cpp8
-rw-r--r--source/Asura.Editor/controls/toggle.h14
-rw-r--r--source/Asura.Editor/controls/vslider.cpp0
-rw-r--r--source/Asura.Editor/controls/vslider.h0
-rw-r--r--source/Asura.Editor/controls/widget.h42
-rw-r--r--source/Asura.Editor/core/gui_state.h17
-rw-r--r--source/Asura.Editor/core/shaders.h11
-rw-r--r--source/Asura.Editor/core/signal.h52
-rw-r--r--source/Asura.Editor/core/slot.h43
-rw-r--r--source/Asura.Editor/dui_module.cpp8
-rw-r--r--source/Asura.Editor/dui_module.h24
-rw-r--r--source/Asura.Editor/graphics/slider.cpp (renamed from source/Asura.Editor/controls/checkbox.cpp)0
-rw-r--r--source/Asura.Editor/graphics/slider.h14
-rw-r--r--source/Asura.Editor/graphics/style.cpp (renamed from source/Asura.Editor/controls/checkbox.h)0
-rw-r--r--source/Asura.Editor/graphics/style.h15
-rw-r--r--source/modules/asura-core/application.h6
-rw-r--r--source/modules/asura-core/graphics/gfx_device.cpp4
-rw-r--r--source/modules/asura-core/graphics/gfx_device.h2
-rw-r--r--source/modules/asura-core/graphics/gpu_buffer.cpp10
-rw-r--r--source/modules/asura-core/graphics/shader.cpp26
-rw-r--r--source/tests/win32/01-window/03_sub_menu.cpp40
47 files changed, 307 insertions, 622 deletions
diff --git a/Build/Asura.Editor/Asura.Editor.vcxproj b/Build/Asura.Editor/Asura.Editor.vcxproj
index 38c60a7..72dc736 100644
--- a/Build/Asura.Editor/Asura.Editor.vcxproj
+++ b/Build/Asura.Editor/Asura.Editor.vcxproj
@@ -117,22 +117,17 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
- <ClCompile Include="..\..\source\Asura.Editor\controls\binding\_button.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\controls\button.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\checkbox.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\hslider.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\hvslider.cpp" />
+ <ClCompile Include="..\..\source\Asura.Editor\controls\content.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\controls\label.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\menu_item.cpp" />
+ <ClCompile Include="..\..\source\Asura.Editor\controls\toggle.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\controls\panel.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\progress.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\radio_button.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\textbox.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\vslider.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\editor.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\graphics\brush.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\graphics\drawer.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\graphics\draw_info.cpp" />
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\slider.cpp" />
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\style.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\graphics\pen.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\layout\horizontal_layout.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\layout\vertical_layout.cpp" />
@@ -143,23 +138,17 @@
<ItemGroup>
<ClInclude Include="..\..\source\Asura.Editor\config.h" />
<ClInclude Include="..\..\source\Asura.Editor\controls\button.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\checkbox.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\hslider.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\hvslider.h" />
+ <ClInclude Include="..\..\source\Asura.Editor\controls\content.h" />
<ClInclude Include="..\..\source\Asura.Editor\controls\label.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\menu_item.h" />
+ <ClInclude Include="..\..\source\Asura.Editor\controls\toggle.h" />
<ClInclude Include="..\..\source\Asura.Editor\controls\panel.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\progress.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\radio_button.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\textbox.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\vslider.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\widget.h" />
- <ClInclude Include="..\..\source\Asura.Editor\core\slot.h" />
- <ClInclude Include="..\..\source\Asura.Editor\core\signal.h" />
+ <ClInclude Include="..\..\source\Asura.Editor\core\gui_state.h" />
<ClInclude Include="..\..\source\Asura.Editor\editor.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\brush.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\drawer.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\draw_info.h" />
+ <ClInclude Include="..\..\source\Asura.Editor\graphics\slider.h" />
+ <ClInclude Include="..\..\source\Asura.Editor\graphics\style.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\pen.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\shader.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\shaders\image.shader.h" />
diff --git a/Build/Asura.Editor/Asura.Editor.vcxproj.filters b/Build/Asura.Editor/Asura.Editor.vcxproj.filters
index be12ded..0e979a4 100644
--- a/Build/Asura.Editor/Asura.Editor.vcxproj.filters
+++ b/Build/Asura.Editor/Asura.Editor.vcxproj.filters
@@ -10,18 +10,15 @@
<Filter Include="system">
<UniqueIdentifier>{48600309-cddd-49cd-b939-7a19a2b1eaa3}</UniqueIdentifier>
</Filter>
- <Filter Include="controls">
- <UniqueIdentifier>{a4345092-d09c-424c-8d7c-c076914fb6a2}</UniqueIdentifier>
- </Filter>
- <Filter Include="controls\binding">
- <UniqueIdentifier>{1e378398-d7f0-4616-a986-b6a86faeaa8c}</UniqueIdentifier>
- </Filter>
<Filter Include="graphics">
<UniqueIdentifier>{4be8ce5c-0921-4341-a976-92d31aa84c8c}</UniqueIdentifier>
</Filter>
<Filter Include="graphics\shaders">
<UniqueIdentifier>{b4c26f9c-9f4e-4332-a6e2-33456b4abecb}</UniqueIdentifier>
</Filter>
+ <Filter Include="controls">
+ <UniqueIdentifier>{a236e36b-9b74-48a2-a4c9-f70dbb321f14}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\source\Asura.Editor\layout\horizontal_layout.cpp">
@@ -35,56 +32,41 @@
<ClCompile Include="..\..\source\Asura.Editor\system\file_watcher.cpp">
<Filter>system</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\button.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\drawer.cpp">
+ <Filter>graphics</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\checkbox.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\draw_info.cpp">
+ <Filter>graphics</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\hslider.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\brush.cpp">
+ <Filter>graphics</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\hvslider.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\pen.cpp">
+ <Filter>graphics</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\label.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\system\editor_window.cpp">
+ <Filter>system</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\panel.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\style.cpp">
+ <Filter>graphics</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\progress.cpp">
+ <ClCompile Include="..\..\source\Asura.Editor\controls\button.cpp">
<Filter>controls</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\radio_button.cpp">
+ <ClCompile Include="..\..\source\Asura.Editor\controls\content.cpp">
<Filter>controls</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\textbox.cpp">
+ <ClCompile Include="..\..\source\Asura.Editor\controls\label.cpp">
<Filter>controls</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\vslider.cpp">
+ <ClCompile Include="..\..\source\Asura.Editor\controls\toggle.cpp">
<Filter>controls</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\binding\_button.cpp">
- <Filter>controls\binding</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\menu_item.cpp">
+ <ClCompile Include="..\..\source\Asura.Editor\controls\panel.cpp">
<Filter>controls</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\graphics\drawer.cpp">
- <Filter>graphics</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\graphics\draw_info.cpp">
- <Filter>graphics</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\graphics\brush.cpp">
- <Filter>graphics</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\graphics\pen.cpp">
- <Filter>graphics</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\system\editor_window.cpp">
- <Filter>system</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\slider.cpp">
+ <Filter>controls</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
@@ -95,51 +77,9 @@
<Filter>layout</Filter>
</ClInclude>
<ClInclude Include="..\..\source\Asura.Editor\editor.h" />
- <ClInclude Include="..\..\source\Asura.Editor\core\signal.h">
- <Filter>core</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\core\slot.h">
- <Filter>core</Filter>
- </ClInclude>
<ClInclude Include="..\..\source\Asura.Editor\system\file_watcher.h">
<Filter>system</Filter>
</ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\button.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\checkbox.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\hslider.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\hvslider.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\label.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\panel.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\progress.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\radio_button.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\textbox.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\vslider.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\widget.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\menu_item.h">
- <Filter>controls</Filter>
- </ClInclude>
<ClInclude Include="..\..\source\Asura.Editor\config.h" />
<ClInclude Include="..\..\source\Asura.Editor\type.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\drawer.h">
@@ -166,5 +106,29 @@
<ClInclude Include="..\..\source\Asura.Editor\system\editor_window.h">
<Filter>system</Filter>
</ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\core\gui_state.h">
+ <Filter>core</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\graphics\style.h">
+ <Filter>graphics</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\controls\button.h">
+ <Filter>controls</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\controls\content.h">
+ <Filter>controls</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\controls\label.h">
+ <Filter>controls</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\controls\toggle.h">
+ <Filter>controls</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\controls\panel.h">
+ <Filter>controls</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\graphics\slider.h">
+ <Filter>controls</Filter>
+ </ClInclude>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/bin/win64/01-window.exe b/bin/win64/01-window.exe
index 111ed2d..f3f2e54 100644
--- a/bin/win64/01-window.exe
+++ b/bin/win64/01-window.exe
Binary files differ
diff --git a/build/Asura.Editor/Asura.Editor.vcxproj b/build/Asura.Editor/Asura.Editor.vcxproj
index 38c60a7..72dc736 100644
--- a/build/Asura.Editor/Asura.Editor.vcxproj
+++ b/build/Asura.Editor/Asura.Editor.vcxproj
@@ -117,22 +117,17 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
- <ClCompile Include="..\..\source\Asura.Editor\controls\binding\_button.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\controls\button.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\checkbox.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\hslider.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\hvslider.cpp" />
+ <ClCompile Include="..\..\source\Asura.Editor\controls\content.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\controls\label.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\menu_item.cpp" />
+ <ClCompile Include="..\..\source\Asura.Editor\controls\toggle.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\controls\panel.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\progress.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\radio_button.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\textbox.cpp" />
- <ClCompile Include="..\..\source\Asura.Editor\controls\vslider.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\editor.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\graphics\brush.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\graphics\drawer.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\graphics\draw_info.cpp" />
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\slider.cpp" />
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\style.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\graphics\pen.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\layout\horizontal_layout.cpp" />
<ClCompile Include="..\..\source\Asura.Editor\layout\vertical_layout.cpp" />
@@ -143,23 +138,17 @@
<ItemGroup>
<ClInclude Include="..\..\source\Asura.Editor\config.h" />
<ClInclude Include="..\..\source\Asura.Editor\controls\button.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\checkbox.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\hslider.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\hvslider.h" />
+ <ClInclude Include="..\..\source\Asura.Editor\controls\content.h" />
<ClInclude Include="..\..\source\Asura.Editor\controls\label.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\menu_item.h" />
+ <ClInclude Include="..\..\source\Asura.Editor\controls\toggle.h" />
<ClInclude Include="..\..\source\Asura.Editor\controls\panel.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\progress.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\radio_button.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\textbox.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\vslider.h" />
- <ClInclude Include="..\..\source\Asura.Editor\controls\widget.h" />
- <ClInclude Include="..\..\source\Asura.Editor\core\slot.h" />
- <ClInclude Include="..\..\source\Asura.Editor\core\signal.h" />
+ <ClInclude Include="..\..\source\Asura.Editor\core\gui_state.h" />
<ClInclude Include="..\..\source\Asura.Editor\editor.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\brush.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\drawer.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\draw_info.h" />
+ <ClInclude Include="..\..\source\Asura.Editor\graphics\slider.h" />
+ <ClInclude Include="..\..\source\Asura.Editor\graphics\style.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\pen.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\shader.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\shaders\image.shader.h" />
diff --git a/build/Asura.Editor/Asura.Editor.vcxproj.filters b/build/Asura.Editor/Asura.Editor.vcxproj.filters
index be12ded..0e979a4 100644
--- a/build/Asura.Editor/Asura.Editor.vcxproj.filters
+++ b/build/Asura.Editor/Asura.Editor.vcxproj.filters
@@ -10,18 +10,15 @@
<Filter Include="system">
<UniqueIdentifier>{48600309-cddd-49cd-b939-7a19a2b1eaa3}</UniqueIdentifier>
</Filter>
- <Filter Include="controls">
- <UniqueIdentifier>{a4345092-d09c-424c-8d7c-c076914fb6a2}</UniqueIdentifier>
- </Filter>
- <Filter Include="controls\binding">
- <UniqueIdentifier>{1e378398-d7f0-4616-a986-b6a86faeaa8c}</UniqueIdentifier>
- </Filter>
<Filter Include="graphics">
<UniqueIdentifier>{4be8ce5c-0921-4341-a976-92d31aa84c8c}</UniqueIdentifier>
</Filter>
<Filter Include="graphics\shaders">
<UniqueIdentifier>{b4c26f9c-9f4e-4332-a6e2-33456b4abecb}</UniqueIdentifier>
</Filter>
+ <Filter Include="controls">
+ <UniqueIdentifier>{a236e36b-9b74-48a2-a4c9-f70dbb321f14}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\source\Asura.Editor\layout\horizontal_layout.cpp">
@@ -35,56 +32,41 @@
<ClCompile Include="..\..\source\Asura.Editor\system\file_watcher.cpp">
<Filter>system</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\button.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\drawer.cpp">
+ <Filter>graphics</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\checkbox.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\draw_info.cpp">
+ <Filter>graphics</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\hslider.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\brush.cpp">
+ <Filter>graphics</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\hvslider.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\pen.cpp">
+ <Filter>graphics</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\label.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\system\editor_window.cpp">
+ <Filter>system</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\panel.cpp">
- <Filter>controls</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\style.cpp">
+ <Filter>graphics</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\progress.cpp">
+ <ClCompile Include="..\..\source\Asura.Editor\controls\button.cpp">
<Filter>controls</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\radio_button.cpp">
+ <ClCompile Include="..\..\source\Asura.Editor\controls\content.cpp">
<Filter>controls</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\textbox.cpp">
+ <ClCompile Include="..\..\source\Asura.Editor\controls\label.cpp">
<Filter>controls</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\vslider.cpp">
+ <ClCompile Include="..\..\source\Asura.Editor\controls\toggle.cpp">
<Filter>controls</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\binding\_button.cpp">
- <Filter>controls\binding</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\controls\menu_item.cpp">
+ <ClCompile Include="..\..\source\Asura.Editor\controls\panel.cpp">
<Filter>controls</Filter>
</ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\graphics\drawer.cpp">
- <Filter>graphics</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\graphics\draw_info.cpp">
- <Filter>graphics</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\graphics\brush.cpp">
- <Filter>graphics</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\graphics\pen.cpp">
- <Filter>graphics</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\Asura.Editor\system\editor_window.cpp">
- <Filter>system</Filter>
+ <ClCompile Include="..\..\source\Asura.Editor\graphics\slider.cpp">
+ <Filter>controls</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
@@ -95,51 +77,9 @@
<Filter>layout</Filter>
</ClInclude>
<ClInclude Include="..\..\source\Asura.Editor\editor.h" />
- <ClInclude Include="..\..\source\Asura.Editor\core\signal.h">
- <Filter>core</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\core\slot.h">
- <Filter>core</Filter>
- </ClInclude>
<ClInclude Include="..\..\source\Asura.Editor\system\file_watcher.h">
<Filter>system</Filter>
</ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\button.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\checkbox.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\hslider.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\hvslider.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\label.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\panel.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\progress.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\radio_button.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\textbox.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\vslider.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\widget.h">
- <Filter>controls</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\Asura.Editor\controls\menu_item.h">
- <Filter>controls</Filter>
- </ClInclude>
<ClInclude Include="..\..\source\Asura.Editor\config.h" />
<ClInclude Include="..\..\source\Asura.Editor\type.h" />
<ClInclude Include="..\..\source\Asura.Editor\graphics\drawer.h">
@@ -166,5 +106,29 @@
<ClInclude Include="..\..\source\Asura.Editor\system\editor_window.h">
<Filter>system</Filter>
</ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\core\gui_state.h">
+ <Filter>core</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\graphics\style.h">
+ <Filter>graphics</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\controls\button.h">
+ <Filter>controls</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\controls\content.h">
+ <Filter>controls</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\controls\label.h">
+ <Filter>controls</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\controls\toggle.h">
+ <Filter>controls</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\controls\panel.h">
+ <Filter>controls</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\source\Asura.Editor\graphics\slider.h">
+ <Filter>controls</Filter>
+ </ClInclude>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/source/Asura.Editor/controls/binding/_button.cpp b/source/Asura.Editor/controls/binding/_button.cpp
deleted file mode 100644
index 9e6a6bb..0000000
--- a/source/Asura.Editor/controls/binding/_button.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#include "../button.h"
-
-using namespace std;
-using namespace Luax;
-
-namespace AsuraEditor
-{
- namespace Controls
- {
-
- LUAX_REGISTRY(Button)
- {
- LUAX_REGISTER_METHODS(state,
- { "Connect", _Connect },
- { "Disconnect", _Disconnect },
- { "SetImage", _SetImage }
- );
- }
-
- 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 }
- );
-
- }
-
- // button:Connect()
- LUAX_IMPL_METHOD(Button, _Connect)
- {
- LUAX_PREPARE(L, Button);
-
- return 0;
- }
-
- // button:Disconnect()
- LUAX_IMPL_METHOD(Button, _Disconnect)
- {
- LUAX_PREPARE(L, Button);
-
- return 0;
- }
-
- // button:SetImage()
- LUAX_IMPL_METHOD(Button, _SetImage)
- {
- LUAX_PREPARE(L, Button);
-
- return 0;
- }
-
- }
-}
diff --git a/source/Asura.Editor/controls/button.cpp b/source/Asura.Editor/controls/button.cpp
index 9910df4..c5741c1 100644
--- a/source/Asura.Editor/controls/button.cpp
+++ b/source/Asura.Editor/controls/button.cpp
@@ -1,6 +1,8 @@
-#include "button.h"
+#include "gui_button.h"
-namespace AsuraEditor
-{
+namespace_begin(AsuraEditor)
-} \ No newline at end of file
+
+
+
+namespace_end
diff --git a/source/Asura.Editor/controls/button.h b/source/Asura.Editor/controls/button.h
index 656d7d8..edfa7b7 100644
--- a/source/Asura.Editor/controls/button.h
+++ b/source/Asura.Editor/controls/button.h
@@ -1,82 +1,14 @@
-#ifndef __ASURA_EDITOR_BUTTON_H__
-#define __ASURA_EDITOR_BUTTON_H__
+#ifndef __ASURA_EDITOR_GUI_BUTTON_H__
+#define __ASURA_EDITOR_GUI_BUTTON_H__
-#include <vector>
+#include <asura-utils/classes.h>
-#include <asura-utils/scripting/portable.hpp>
-#include <asura-core/graphics/image.h>
+namespace_begin(AsuraEditor)
-#include "../core/signal.h"
-#include "widget.h"
+bool Button();
-namespace AsuraEditor
-{
- namespace Controls
- {
- enum ButtonStatus
- {
- BUTTON_STATUS_NORMAL = 0,
- BUTTON_STATUS_PUSHED = 1,
- BUTTON_STATUS_HOVER = 2,
- BUTTON_STATUS_DISABLED = 3,
- BUTTON_STATUS_FOCUSED = 4,
- _BUTTON_STATUS_COUNT = 5,
- };
- enum ButtonMessage
- {
- BUTTON_MSG_CLICK = 0,
- BUTTON_MSG_HOVER = 1,
- BUTTON_MSG_KILLFOCUS = 2,
- _BUTTON_MSG_COUNT = 3,
- };
+namespace_end
- class Button
- : public Widget
- , public AEScripting::Portable<Button>
- {
- public:
-
- LUAX_DECL_FACTORY(Button);
-
- Button();
- ~Button();
-
- void OnEvent(AEInput::Event& e) override;
- void OnPaint() override;
-
- void Connect(int msg, Slot callback);
- void Disconnect(int msg);
- void DisconnectAll(int msg);
- void DisconnectAllMsg();
-
- int GetStatus();
- void SetImage(int status, AEGraphics::Image* image);
-
- private:
-
- //------------------------------------------------------------------------------//
-
- LUAX_DECL_ENUM(ButtonStatus, 1);
- LUAX_DECL_ENUM(ButtonMessage, 1);
-
- LUAX_DECL_METHOD(_Connect);
- LUAX_DECL_METHOD(_Disconnect);
- LUAX_DECL_METHOD(_SetImage);
-
- //------------------------------------------------------------------------------//
-
- int mStatus; // ǰ״̬
- Signal mSignals[_BUTTON_MSG_COUNT]; // 3Ϣsignal
- AEGraphics::Image* mImage[_BUTTON_STATUS_COUNT]; // 5״̬ͼ
-
- Luax::LuaxMemberRef mImageRef[_BUTTON_STATUS_COUNT];// ͼ
- std::vector<Luax::LuaxMemberRef> mCallbacksRef; // ص
-
- };
-
- }
-}
-
-#endif \ No newline at end of file
+#endif
diff --git a/source/Asura.Editor/controls/content.cpp b/source/Asura.Editor/controls/content.cpp
new file mode 100644
index 0000000..c5741c1
--- /dev/null
+++ b/source/Asura.Editor/controls/content.cpp
@@ -0,0 +1,8 @@
+#include "gui_button.h"
+
+namespace_begin(AsuraEditor)
+
+
+
+
+namespace_end
diff --git a/source/Asura.Editor/controls/content.h b/source/Asura.Editor/controls/content.h
new file mode 100644
index 0000000..230bfa9
--- /dev/null
+++ b/source/Asura.Editor/controls/content.h
@@ -0,0 +1,17 @@
+#ifndef __ASURA_EDITOR_GUI_BUTTON_H__
+#define __ASURA_EDITOR_GUI_BUTTON_H__
+
+#include <asura-utils/classes.h>
+
+namespace_begin(AsuraEditor)
+
+/// IMGUI content
+class Content
+{
+
+};
+
+
+namespace_end
+
+#endif
diff --git a/source/Asura.Editor/controls/hslider.cpp b/source/Asura.Editor/controls/hslider.cpp
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/hslider.cpp
+++ /dev/null
diff --git a/source/Asura.Editor/controls/hslider.h b/source/Asura.Editor/controls/hslider.h
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/hslider.h
+++ /dev/null
diff --git a/source/Asura.Editor/controls/hvslider.cpp b/source/Asura.Editor/controls/hvslider.cpp
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/hvslider.cpp
+++ /dev/null
diff --git a/source/Asura.Editor/controls/hvslider.h b/source/Asura.Editor/controls/hvslider.h
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/hvslider.h
+++ /dev/null
diff --git a/source/Asura.Editor/controls/label.cpp b/source/Asura.Editor/controls/label.cpp
index e69de29..c5741c1 100644
--- a/source/Asura.Editor/controls/label.cpp
+++ b/source/Asura.Editor/controls/label.cpp
@@ -0,0 +1,8 @@
+#include "gui_button.h"
+
+namespace_begin(AsuraEditor)
+
+
+
+
+namespace_end
diff --git a/source/Asura.Editor/controls/label.h b/source/Asura.Editor/controls/label.h
index 32b61d4..7cc6e3d 100644
--- a/source/Asura.Editor/controls/label.h
+++ b/source/Asura.Editor/controls/label.h
@@ -1,25 +1,14 @@
-#ifndef __ASURA_EDITOR_LABEL_H__
-#define __ASURA_EDITOR_LABEL_H__
+#ifndef __ASURA_EDITOR_GUI_BUTTON_H__
+#define __ASURA_EDITOR_GUI_BUTTON_H__
-#include <asura-utils/scripting/portable.hpp>
-#include <asura-core/graphics/image.h>
+#include <asura-utils/classes.h>
-#include "widget.h"
+namespace_begin(AsuraEditor)
-namespace AsuraEditor
-{
+bool Label();
- class Label
- : public Widget
- , public AEScripting::Portable<Label>
- {
- public:
- void OnEvent(AEInput::Event& e) override;
- void OnPaint() override;
- };
+namespace_end
-}
-
-#endif \ No newline at end of file
+#endif
diff --git a/source/Asura.Editor/controls/menu_item.cpp b/source/Asura.Editor/controls/menu_item.cpp
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/menu_item.cpp
+++ /dev/null
diff --git a/source/Asura.Editor/controls/menu_item.h b/source/Asura.Editor/controls/menu_item.h
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/menu_item.h
+++ /dev/null
diff --git a/source/Asura.Editor/controls/panel.cpp b/source/Asura.Editor/controls/panel.cpp
index e69de29..2e6e2cc 100644
--- a/source/Asura.Editor/controls/panel.cpp
+++ b/source/Asura.Editor/controls/panel.cpp
@@ -0,0 +1,16 @@
+#include "gui_button.h"
+
+namespace_begin(AsuraEditor)
+
+class GUIWindow
+{
+public:
+
+ GUIWindow();
+ ~GUIWindow();
+
+};
+
+
+
+namespace_end
diff --git a/source/Asura.Editor/controls/panel.h b/source/Asura.Editor/controls/panel.h
index e69de29..b485635 100644
--- a/source/Asura.Editor/controls/panel.h
+++ b/source/Asura.Editor/controls/panel.h
@@ -0,0 +1,16 @@
+#ifndef __ASURA_EDITOR_GUI_BUTTON_H__
+#define __ASURA_EDITOR_GUI_BUTTON_H__
+
+#include <asura-utils/classes.h>
+
+namespace_begin(AsuraEditor)
+
+/// IMGUI panel
+class Panel
+{
+
+};
+
+namespace_end
+
+#endif
diff --git a/source/Asura.Editor/controls/progress.cpp b/source/Asura.Editor/controls/progress.cpp
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/progress.cpp
+++ /dev/null
diff --git a/source/Asura.Editor/controls/progress.h b/source/Asura.Editor/controls/progress.h
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/progress.h
+++ /dev/null
diff --git a/source/Asura.Editor/controls/radio_button.cpp b/source/Asura.Editor/controls/radio_button.cpp
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/radio_button.cpp
+++ /dev/null
diff --git a/source/Asura.Editor/controls/radio_button.h b/source/Asura.Editor/controls/radio_button.h
deleted file mode 100644
index a9fc765..0000000
--- a/source/Asura.Editor/controls/radio_button.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef __ASURA_EDITOR_RADIO_BUTTON_H__
-#define __ASURA_EDITOR_RADIO_BUTTON_H__
-
-namespace AsuraEditor
-{
- namespace Controls
- {
-
- class RadioButton
- {
- public:
-
- RadioButton();
- ~RadioButton();
-
-
-
- };
-
- }
-}
-
-#endif
diff --git a/source/Asura.Editor/controls/textbox.cpp b/source/Asura.Editor/controls/textbox.cpp
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/textbox.cpp
+++ /dev/null
diff --git a/source/Asura.Editor/controls/textbox.h b/source/Asura.Editor/controls/textbox.h
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/textbox.h
+++ /dev/null
diff --git a/source/Asura.Editor/controls/toggle.cpp b/source/Asura.Editor/controls/toggle.cpp
new file mode 100644
index 0000000..40d2043
--- /dev/null
+++ b/source/Asura.Editor/controls/toggle.cpp
@@ -0,0 +1,8 @@
+#include "gui_button.h"
+
+namespace_begin(AsuraEditor)
+
+bool GUIToggle();
+
+
+namespace_end
diff --git a/source/Asura.Editor/controls/toggle.h b/source/Asura.Editor/controls/toggle.h
new file mode 100644
index 0000000..19e9379
--- /dev/null
+++ b/source/Asura.Editor/controls/toggle.h
@@ -0,0 +1,14 @@
+#ifndef __ASURA_EDITOR_GUI_BUTTON_H__
+#define __ASURA_EDITOR_GUI_BUTTON_H__
+
+#include <asura-utils/classes.h>
+
+namespace_begin(AsuraEditor)
+
+bool Toggle();
+
+
+
+namespace_end
+
+#endif
diff --git a/source/Asura.Editor/controls/vslider.cpp b/source/Asura.Editor/controls/vslider.cpp
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/vslider.cpp
+++ /dev/null
diff --git a/source/Asura.Editor/controls/vslider.h b/source/Asura.Editor/controls/vslider.h
deleted file mode 100644
index e69de29..0000000
--- a/source/Asura.Editor/controls/vslider.h
+++ /dev/null
diff --git a/source/Asura.Editor/controls/widget.h b/source/Asura.Editor/controls/widget.h
deleted file mode 100644
index df914bf..0000000
--- a/source/Asura.Editor/controls/widget.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef __ASURA_EDITOR_WIDGET_H__
-#define __ASURA_EDITOR_WIDGET_H__
-
-#include <list>
-
-#include <asura-utils/scripting/portable.hpp>
-#include <asura-utils/type.h>
-#include <asura-utils/math/rect.hpp>
-#include <asura-utils/math/vector2.hpp>
-#include <asura-core/input/event.h>
-
-namespace AsuraEditor
-{
-
- ///
- /// Asura EditorĿؼ߼Ⱦں¼ѯֻ¼Ӧ߼ӿڡ
- ///
- ASURA_ABSTRACT class Widget : public AEScripting::Object
- {
-
- public:
-
- ///
- /// ؼֻбڵѡΪfocusʱŻᴦ룬ԺܸЧ
- ///
- virtual void OnEvent(AEInput::Event& e) = 0;
-
- ///
- ///
- ///
- virtual void OnPaint() = 0;
-
- protected:
-
- AEMath::Vector2i mPos;
- AEMath::Recti mBBox;
-
- };
-
-}
-
-#endif \ No newline at end of file
diff --git a/source/Asura.Editor/core/gui_state.h b/source/Asura.Editor/core/gui_state.h
new file mode 100644
index 0000000..9e7e91c
--- /dev/null
+++ b/source/Asura.Editor/core/gui_state.h
@@ -0,0 +1,17 @@
+#ifndef _ASURA_EDITOR_GUI_STATE_H_
+#define _ASURA_EDITOR_GUI_STATE_H_
+
+#include <asura-utils/classes.h>
+
+namespace_begin(AsuraEditor)
+
+/// GUI widgets uniqueID
+
+
+
+
+namespace_end
+
+
+#endif
+
diff --git a/source/Asura.Editor/core/shaders.h b/source/Asura.Editor/core/shaders.h
deleted file mode 100644
index e567f95..0000000
--- a/source/Asura.Editor/core/shaders.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef __ASURA_EDITOR_SHADERS_H__
-#define __ASURA_EDITOR_SHADERS_H__
-
-namespace AsuraEditor
-{
-
-
-
-}
-
-#endif \ No newline at end of file
diff --git a/source/Asura.Editor/core/signal.h b/source/Asura.Editor/core/signal.h
deleted file mode 100644
index f73f4b1..0000000
--- a/source/Asura.Editor/core/signal.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef __ASRUA_EDTIRO_SIGNAL_H__
-#define __ASRUA_EDTIRO_SIGNAL_H__
-
-#include <vector>
-
-#include <asura-utils/scripting/portable.hpp>
-
-#include "../widgets/widget.h"
-#include "slot.h"
-
-namespace AsuraEditor
-{
-
- ///
- /// ؼ¼
- ///
- class Signal
- {
- public:
- Signal();
-
- ///
- /// Fire¼connectļߣãconnectĺ
- ///
- void operator()(void* userdata)
- {
- for (auto callback : mCallbacks)
- callback();
- }
-
- ///
- /// עص
- ///
- void Connect(const Slot& callback)
- {
- mCallbacks.push_back(callback);
- }
-
- ///
- ///
- ///
- void Disconnect();
-
- private:
-
- std::vector<Slot> mCallbacks; //
-
- };
-
-}
-
-#endif \ No newline at end of file
diff --git a/source/Asura.Editor/core/slot.h b/source/Asura.Editor/core/slot.h
deleted file mode 100644
index f569cfe..0000000
--- a/source/Asura.Editor/core/slot.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef __ASURA_EDITOR_SLOT_H__
-#define __ASURA_EDITOR_SLOT_H__
-
-#include <asura-utils/scripting/portable.hpp>
-#include <asura-core/input/event.h>
-
-#include "../controls/widget.h"
-
-namespace AsuraEditor
-{
-
- ///
- /// Ӧsignalıհ
- ///
- class Slot
- {
- public:
- Slot(Luax::LuaxState& state, Widget& widget, int refID)
- : mState(state)
- , mRefID(refID)
- , mWidget(widget)
- {
- }
-
- void operator()()
- {
- mWidget.PushLuaxMemberRef(mState, mRefID);
- if (lua_isfunction(mState, -1)) // callback
- {
- mState.Call(0, 0);
- }
- }
-
- private:
- Luax::LuaxState& mState;
- Widget& mWidget;
- int mRefID;
-
- };
-
-}
-
-#endif \ No newline at end of file
diff --git a/source/Asura.Editor/dui_module.cpp b/source/Asura.Editor/dui_module.cpp
deleted file mode 100644
index 63b7361..0000000
--- a/source/Asura.Editor/dui_module.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "dui_module.h"
-
-namespace AsuraEditor
-{
-
-
-
-}
diff --git a/source/Asura.Editor/dui_module.h b/source/Asura.Editor/dui_module.h
deleted file mode 100644
index 657c404..0000000
--- a/source/Asura.Editor/dui_module.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef __ASRUA_EDITOR_DIRECTUI_MODULE_H__
-#define __ASRUA_EDITOR_DIRECTUI_MODULE_H__
-
-#include <asura-utils/module.h>
-
-namespace AsuraEditor
-{
-
- ///
- /// Direct UI module.
- ///
- class DUIModule : public AsuraEngine::Module
- {
- public:
-
- void Initialize(Luax::LuaxState& state) override;
-
- void Finalize(Luax::LuaxState& state) override;
-
- };
-
-}
-
-#endif \ No newline at end of file
diff --git a/source/Asura.Editor/controls/checkbox.cpp b/source/Asura.Editor/graphics/slider.cpp
index e69de29..e69de29 100644
--- a/source/Asura.Editor/controls/checkbox.cpp
+++ b/source/Asura.Editor/graphics/slider.cpp
diff --git a/source/Asura.Editor/graphics/slider.h b/source/Asura.Editor/graphics/slider.h
new file mode 100644
index 0000000..28ea77f
--- /dev/null
+++ b/source/Asura.Editor/graphics/slider.h
@@ -0,0 +1,14 @@
+#ifndef __ASURA_EDITOR_GUI_SLIDER_H__
+#define __ASURA_EDITOR_GUI_SLIDER_H__
+
+#include <asura-utils/classes.h>
+
+namespace_begin(AsuraEditor)
+
+void Slider();
+
+
+namespace_end
+
+
+#endif
diff --git a/source/Asura.Editor/controls/checkbox.h b/source/Asura.Editor/graphics/style.cpp
index e69de29..e69de29 100644
--- a/source/Asura.Editor/controls/checkbox.h
+++ b/source/Asura.Editor/graphics/style.cpp
diff --git a/source/Asura.Editor/graphics/style.h b/source/Asura.Editor/graphics/style.h
new file mode 100644
index 0000000..fca3c37
--- /dev/null
+++ b/source/Asura.Editor/graphics/style.h
@@ -0,0 +1,15 @@
+#ifndef __ASURA_EDITOR_GUI_STYLE_H__
+#define __ASURA_EDITOR_GUI_STYLE_H__
+
+#include <asura-utils/classes.h>
+
+namespace_begin(AsuraEditor)
+
+class Style
+{
+
+};
+
+namespace_end
+
+#endif \ No newline at end of file
diff --git a/source/modules/asura-core/application.h b/source/modules/asura-core/application.h
index c25e2d7..62eefe7 100644
--- a/source/modules/asura-core/application.h
+++ b/source/modules/asura-core/application.h
@@ -3,12 +3,12 @@
#include <asura-utils/scripting/portable.hpp>
#include <asura-utils/module.h>
+#include <asura-utils/classes.h>
#include <queue>
#include "core_config.h"
-namespace AsuraEngine
-{
+namespace_begin(AsuraEngine)
///
/// ģ
@@ -78,6 +78,6 @@ private:
};
-}
+namespace_end
#endif \ No newline at end of file
diff --git a/source/modules/asura-core/graphics/gfx_device.cpp b/source/modules/asura-core/graphics/gfx_device.cpp
index 234ab23..2751a9d 100644
--- a/source/modules/asura-core/graphics/gfx_device.cpp
+++ b/source/modules/asura-core/graphics/gfx_device.cpp
@@ -16,7 +16,7 @@ namespace_begin(Graphics)
static bool instantiated = false;
#endif
-GfxDevice gfx;
+GfxDevice g_Device;
GfxDevice::GfxDevice()
{
@@ -32,7 +32,7 @@ GfxDevice::~GfxDevice()
GfxDevice& GfxDevice::Get()
{
- return gfx;
+ return g_Device;
}
static bool inited = false;
diff --git a/source/modules/asura-core/graphics/gfx_device.h b/source/modules/asura-core/graphics/gfx_device.h
index 8d401dc..fa22dd4 100644
--- a/source/modules/asura-core/graphics/gfx_device.h
+++ b/source/modules/asura-core/graphics/gfx_device.h
@@ -131,7 +131,7 @@ luaxport:
};
// ȫ GfxDevice
-extern GfxDevice gfx;
+extern GfxDevice g_Device;
namespace_end
namespace_end
diff --git a/source/modules/asura-core/graphics/gpu_buffer.cpp b/source/modules/asura-core/graphics/gpu_buffer.cpp
index bf5ac6a..4271b70 100644
--- a/source/modules/asura-core/graphics/gpu_buffer.cpp
+++ b/source/modules/asura-core/graphics/gpu_buffer.cpp
@@ -69,16 +69,16 @@ bool GPUBuffer::Fill(const void * data, size_t size, uint offset)
return false;
if (m_Buffer == 0)
{
- gfx.WipeError();
+ g_Device.WipeError();
glGenBuffers(1, &m_Buffer);
if (m_Buffer == 0)
throw Exception("OpenGL glGenBuffers failed.");
glBindBuffer(m_Target, m_Buffer);
glBufferData(m_Target, m_Size, NULL, m_Usage);
- if (gfx.HasError())
+ if (g_Device.HasError())
{
glBindBuffer(m_Target, 0);
- throw Exception("OpenGL glBufferData failed. Errorcode=%d.", gfx.GetError());
+ throw Exception("OpenGL glBufferData failed. Errorcode=%d.", g_Device.GetError());
}
#if ASURA_DEBUG
m_Data = (byte*)malloc(size);
@@ -88,10 +88,10 @@ bool GPUBuffer::Fill(const void * data, size_t size, uint offset)
else
glBindBuffer(m_Target, m_Buffer);
glBufferSubData(m_Target, offset, size, data);
- if (gfx.HasError())
+ if (g_Device.HasError())
{
glBindBuffer(m_Target, 0);
- throw Exception("OpenGL glBufferSubData failed. Errorcode=%d.", gfx.GetError());
+ throw Exception("OpenGL glBufferSubData failed. Errorcode=%d.", g_Device.GetError());
}
glBindBuffer(m_Target, 0);
#if ASURA_DEBUG
diff --git a/source/modules/asura-core/graphics/shader.cpp b/source/modules/asura-core/graphics/shader.cpp
index eff62f0..74bf7a8 100644
--- a/source/modules/asura-core/graphics/shader.cpp
+++ b/source/modules/asura-core/graphics/shader.cpp
@@ -24,12 +24,12 @@ Shader::~Shader()
void Shader::SetActive(Shader* shader)
{
- gfx.SetActiveShader(shader);
+ g_Device.SetActiveShader(shader);
}
Shader* Shader::GetActive()
{
- return gfx.GetActiveShader();
+ return g_Device.GetActiveShader();
}
bool Shader::Load(const string& vert, const string& frag)
@@ -157,56 +157,56 @@ GLuint Shader::GetGLProgram()
void Shader::SetUniformFloat(uint loc, float value)
{
- if(gfx.GetActiveShader() == this)
+ if(g_Device.GetActiveShader() == this)
glUniform1f(loc, value);
}
bool Shader::SetUniformTexture(uint loc, const Texture& texture)
{
- if (gfx.GetActiveShader() != this)
+ if (g_Device.GetActiveShader() != this)
return false;
- gfx.WipeError();
+ g_Device.WipeError();
glActiveTexture(GL_TEXTURE0 + texUnit);
- if (gfx.HasError())
+ if (g_Device.HasError())
return false;
GLint tex = texture.GetGLTexture();
glBindTexture(GL_TEXTURE_2D, tex);
- if (gfx.HasError())
+ if (g_Device.HasError())
return false;
glUniform1i(loc, texUnit);
- if (gfx.HasError())
+ if (g_Device.HasError())
return false;
++texUnit;
}
void Shader::SetUniformVector2(uint loc, const Math::Vector2f& vec2)
{
- if (gfx.GetActiveShader() == this)
+ if (g_Device.GetActiveShader() == this)
glUniform2f(loc, vec2.x, vec2.y);
}
void Shader::SetUniformVector3(uint loc, const Math::Vector3f& vec3)
{
- if (gfx.GetActiveShader() == this)
+ if (g_Device.GetActiveShader() == this)
glUniform3f(loc, vec3.x, vec3.y, vec3.z);
}
void Shader::SetUniformVector4(uint loc, const Math::Vector4f& vec4)
{
- if (gfx.GetActiveShader() == this)
+ if (g_Device.GetActiveShader() == this)
glUniform4f(loc, vec4.x, vec4.y, vec4.z, vec4.w);
}
void Shader::SetUniformMatrix44(uint loc, const Math::Matrix44& mat)
{
- if (gfx.GetActiveShader() == this)
+ if (g_Device.GetActiveShader() == this)
glUniformMatrix4fv(loc, 1, GL_FALSE, mat.GetElements());
}
void Shader::SetUniformColor(uint loc, const Color& color)
{
- if (gfx.GetActiveShader() == this)
+ if (g_Device.GetActiveShader() == this)
glUniform4f(loc, color.r, color.g, color.b, color.a);
}
diff --git a/source/tests/win32/01-window/03_sub_menu.cpp b/source/tests/win32/01-window/03_sub_menu.cpp
index d34f4ed..86bcc76 100644
--- a/source/tests/win32/01-window/03_sub_menu.cpp
+++ b/source/tests/win32/01-window/03_sub_menu.cpp
@@ -168,16 +168,16 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT msg,
case WM_SIZE:
{
- if (gfx.Inited())
+ if (g_Device.Inited())
{
RECT rect;
GetClientRect(hwnd, &rect);
viewport.Set(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top);
- gfx.SetViewport(viewport);
+ g_Device.SetViewport(viewport);
}
}
case WM_PAINT:
- if (!gfx.Inited())
+ if (!g_Device.Inited())
break;
glEnable(GL_BLEND);
glEnable(GL_DEPTH_TEST);
@@ -202,28 +202,28 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT msg,
{
int imgLoc = shader->GetUniformLocation("img");
- int code = gfx.GetError();
- gfx.SetActiveShader(shader);
+ int code = g_Device.GetError();
+ g_Device.SetActiveShader(shader);
shader->SetUniformTexture(imgLoc, *img);
- gfx.SetMatrixMode(MATRIX_MODE_PROJECTION);
- gfx.LoadIdentity();
- gfx.Ortho(0, viewport.w, viewport.h, 0, -1, 1);
- gfx.SetMatrixMode(MATRIX_MODE_MODEL);
- gfx.LoadIdentity();
- gfx.Translate(100, 100);
- shader->SetUniformMatrix44(locs.m, gfx.GetMatrix(MATRIX_MODE_MODEL));
- shader->SetUniformMatrix44(locs.v, gfx.GetMatrix(MATRIX_MODE_VIEW));
- shader->SetUniformMatrix44(locs.p, gfx.GetMatrix(MATRIX_MODE_PROJECTION));
+ g_Device.SetMatrixMode(MATRIX_MODE_PROJECTION);
+ g_Device.LoadIdentity();
+ g_Device.Ortho(0, viewport.w, viewport.h, 0, -1, 1);
+ g_Device.SetMatrixMode(MATRIX_MODE_MODEL);
+ g_Device.LoadIdentity();
+ g_Device.Translate(100, 100);
+ shader->SetUniformMatrix44(locs.m, g_Device.GetMatrix(MATRIX_MODE_MODEL));
+ shader->SetUniformMatrix44(locs.v, g_Device.GetMatrix(MATRIX_MODE_VIEW));
+ shader->SetUniformMatrix44(locs.p, g_Device.GetMatrix(MATRIX_MODE_PROJECTION));
shader->SetAttribute(locs.pos, vb, 0, 4);
shader->SetAttribute(locs.tex, vb, 2, 4);
- gfx.SetDrawColor(1, 1, 0, 1);
- shader->SetUniformColor(locs.color, gfx.GetDrawColor());
+ g_Device.SetDrawColor(1, 1, 0, 1);
+ shader->SetUniformColor(locs.color, g_Device.GetDrawColor());
//glLineWidth(1);
- gfx.DrawArrays(GL_LINE_STRIP, 0, 5);
- //gfx.DrawArrays(GL_TRIANGLE_STRIP, 0, 4);
+ g_Device.DrawArrays(GL_LINE_STRIP, 0, 5);
+ //g_Device.DrawArrays(GL_TRIANGLE_STRIP, 0, 4);
shader->DisableAttribute(locs.pos);
shader->DisableAttribute(locs.tex);
- gfx.SetActiveShader(NULL);
+ g_Device.SetActiveShader(NULL);
}
glFlush();
BeginPaint(hwnd, &ps); EndPaint(hwnd, &ps);
@@ -259,7 +259,7 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT msg,
RECT rect;
GetWindowRect(hwnd, &rect);
viewport.Set(0, 0, rect.right - rect.left, rect.bottom - rect.top);
- if (!gfx.Init(viewport))
+ if (!g_Device.Init(viewport))
return 0;
imgdata->Decode(db);