From 494d2db1c1203acc9d9f2b127b75c6df6160057a Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 19 Apr 2020 19:54:44 +0800 Subject: ... --- demos/main/main.cpp | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 demos/main/main.cpp (limited to 'demos/main/main.cpp') 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 application = + std::make_unique(); + + 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(); +} -- cgit v1.2.3