diff options
author | crupest <crupest@outlook.com> | 2020-04-19 19:54:44 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-04-19 19:54:44 +0800 |
commit | 494d2db1c1203acc9d9f2b127b75c6df6160057a (patch) | |
tree | a0e4eaf7540ac4af3b50baf085113122ef2ca651 /demos | |
parent | 76f62be24b7e612b1f6880f9d7b0ddc07a8d38eb (diff) | |
download | cru-494d2db1c1203acc9d9f2b127b75c6df6160057a.tar.gz cru-494d2db1c1203acc9d9f2b127b75c6df6160057a.tar.bz2 cru-494d2db1c1203acc9d9f2b127b75c6df6160057a.zip |
...
Diffstat (limited to 'demos')
-rw-r--r-- | demos/CMakeLists.txt | 8 | ||||
-rw-r--r-- | demos/input_method/CMakeLists.txt | 2 | ||||
-rw-r--r-- | demos/input_method/main.cpp | 0 | ||||
-rw-r--r-- | demos/main/CMakeLists.txt | 2 | ||||
-rw-r--r-- | demos/main/main.cpp | 58 |
5 files changed, 70 insertions, 0 deletions
diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt new file mode 100644 index 00000000..64612bf9 --- /dev/null +++ b/demos/CMakeLists.txt @@ -0,0 +1,8 @@ +add_library(cru_demo_base INTERFACE) + +if(WIN32) + target_link_libraries(cru_demo_base INTERFACE cru_win_native) +endif() + +add_subdirectory(main) +add_subdirectory(input_method) diff --git a/demos/input_method/CMakeLists.txt b/demos/input_method/CMakeLists.txt new file mode 100644 index 00000000..98e36e29 --- /dev/null +++ b/demos/input_method/CMakeLists.txt @@ -0,0 +1,2 @@ +add_executable(demo_input_method main.cpp) +target_link_libraries(demo_input_method PRIVATE cru_demo_base) diff --git a/demos/input_method/main.cpp b/demos/input_method/main.cpp new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/demos/input_method/main.cpp diff --git a/demos/main/CMakeLists.txt b/demos/main/CMakeLists.txt new file mode 100644 index 00000000..9974671d --- /dev/null +++ b/demos/main/CMakeLists.txt @@ -0,0 +1,2 @@ +add_executable(demo_main main.cpp) +target_link_libraries(demo_main PRIVATE cru_demo_base cru_ui) diff --git a/demos/main/main.cpp b/demos/main/main.cpp new file mode 100644 index 00000000..0172838e --- /dev/null +++ b/demos/main/main.cpp @@ -0,0 +1,58 @@ +#include "cru/platform/heap_debug.hpp" +#include "cru/platform/native/window.hpp" +#include "cru/ui/controls/button.hpp" +#include "cru/ui/controls/flex_layout.hpp" +#include "cru/ui/controls/stack_layout.hpp" +#include "cru/ui/controls/text_block.hpp" +#include "cru/ui/ui_host.hpp" +#include "cru/ui/window.hpp" +#include "cru/win/native/ui_application.hpp" + +using cru::platform::native::win::WinUiApplication; +using cru::ui::Rect; +using cru::ui::Thickness; +using cru::ui::Window; +using cru::ui::controls::Button; +using cru::ui::controls::FlexLayout; +using cru::ui::controls::StackLayout; +using cru::ui::controls::TextBlock; + +int main() { +#ifdef CRU_DEBUG + cru::platform::SetupHeapDebug(); +#endif + + std::unique_ptr<WinUiApplication> application = + std::make_unique<WinUiApplication>(); + + const auto window = Window::CreateOverlapped(); + + const auto flex_layout = FlexLayout::Create(); + + window->SetChild(flex_layout); + + const auto button = Button::Create(); + const auto text_block1 = TextBlock::Create(); + text_block1->SetText("Hello World!"); + button->SetChild(text_block1); + flex_layout->AddChild(button, 0); + + const auto text_block2 = TextBlock::Create(); + text_block2->SetText("Hello World!"); + + const auto text_block3 = TextBlock::Create(); + text_block3->SetText("Overlapped text"); + + const auto stack_layout = StackLayout::Create(); + stack_layout->AddChild(text_block2, 0); + stack_layout->AddChild(text_block3, 1); + flex_layout->AddChild(stack_layout, 1); + + const auto text_block4 = TextBlock::Create(); + text_block4->SetText("Hello World!!!"); + flex_layout->AddChild(text_block4, 2); + + window->GetUiHost()->GetNativeWindowResolver()->Resolve()->SetVisible(true); + + return application->Run(); +} |