diff options
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 Binary files differindex 111ed2d..f3f2e54 100644 --- a/bin/win64/01-window.exe +++ b/bin/win64/01-window.exe 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); |