aboutsummaryrefslogtreecommitdiff
path: root/demos
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-03-24 19:14:19 +0800
committercrupest <crupest@outlook.com>2021-03-24 19:14:19 +0800
commit7f15a1ff9a2007e119798053083a0a87d042990a (patch)
treecb35c01a7eaee867376d959b96c9bbd15df939e5 /demos
parent74956951ee663012df0c3fe4ebe29799cb2f7732 (diff)
parent7703063a5816b089483e78ccd74bb9902ccfbea8 (diff)
downloadcru-7f15a1ff9a2007e119798053083a0a87d042990a.tar.gz
cru-7f15a1ff9a2007e119798053083a0a87d042990a.tar.bz2
cru-7f15a1ff9a2007e119798053083a0a87d042990a.zip
Merge branch 'master' of https://github.com/crupest/CruUI
Diffstat (limited to 'demos')
-rw-r--r--demos/CMakeLists.txt2
-rw-r--r--demos/input_method/main.cpp23
-rw-r--r--demos/main/main.cpp53
3 files changed, 31 insertions, 47 deletions
diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt
index 64612bf9..16159d08 100644
--- a/demos/CMakeLists.txt
+++ b/demos/CMakeLists.txt
@@ -1,7 +1,7 @@
add_library(cru_demo_base INTERFACE)
if(WIN32)
- target_link_libraries(cru_demo_base INTERFACE cru_win_native)
+ target_link_libraries(cru_demo_base INTERFACE cru_win_gui)
endif()
add_subdirectory(main)
diff --git a/demos/input_method/main.cpp b/demos/input_method/main.cpp
index bff0e1d3..5a6dc942 100644
--- a/demos/input_method/main.cpp
+++ b/demos/input_method/main.cpp
@@ -1,25 +1,22 @@
-#include "cru/platform/graph/Factory.hpp"
-#include "cru/platform/graph/Font.hpp"
-#include "cru/platform/graph/Painter.hpp"
-#include "cru/platform/native/InputMethod.hpp"
-#include "cru/platform/native/UiApplication.hpp"
-#include "cru/platform/native/Window.hpp"
+#include "cru/platform/graphics/Factory.hpp"
+#include "cru/platform/graphics/Font.hpp"
+#include "cru/platform/graphics/Painter.hpp"
+#include "cru/platform/gui/InputMethod.hpp"
+#include "cru/platform/gui/UiApplication.hpp"
+#include "cru/platform/gui/Window.hpp"
int main() {
using namespace cru::platform;
- using namespace cru::platform::graph;
- using namespace cru::platform::native;
+ using namespace cru::platform::graphics;
+ using namespace cru::platform::gui;
auto application = CreateUiApplication();
auto graph_factory = application->GetGraphFactory();
- auto window_resolver = application->CreateWindow(nullptr);
+ auto window = application->CreateWindow(nullptr);
- auto window = window_resolver->Resolve();
-
- auto input_method_context =
- application->GetInputMethodManager()->GetContext(window);
+ auto input_method_context = window->GetInputMethodContext();
auto brush = graph_factory->CreateSolidColorBrush();
brush->SetColor(colors::black);
diff --git a/demos/main/main.cpp b/demos/main/main.cpp
index 82038731..541a2320 100644
--- a/demos/main/main.cpp
+++ b/demos/main/main.cpp
@@ -1,23 +1,20 @@
#include "cru/platform/HeapDebug.hpp"
-#include "cru/platform/native/UiApplication.hpp"
-#include "cru/platform/native/Window.hpp"
-#include "cru/ui/UiHost.hpp"
-#include "cru/ui/Window.hpp"
+#include "cru/platform/gui/UiApplication.hpp"
+#include "cru/platform/gui/Window.hpp"
+#include "cru/ui/Base.hpp"
#include "cru/ui/controls/Button.hpp"
#include "cru/ui/controls/FlexLayout.hpp"
-#include "cru/ui/controls/StackLayout.hpp"
#include "cru/ui/controls/TextBlock.hpp"
#include "cru/ui/controls/TextBox.hpp"
+#include "cru/ui/controls/Window.hpp"
+#include "cru/ui/host/WindowHost.hpp"
-using cru::platform::native::CreateUiApplication;
-using cru::ui::Rect;
-using cru::ui::Thickness;
-using cru::ui::Window;
+using cru::platform::gui::CreateUiApplication;
using cru::ui::controls::Button;
using cru::ui::controls::FlexLayout;
-using cru::ui::controls::StackLayout;
using cru::ui::controls::TextBlock;
using cru::ui::controls::TextBox;
+using cru::ui::controls::Window;
int main() {
#ifdef CRU_DEBUG
@@ -26,37 +23,27 @@ int main() {
auto application = CreateUiApplication();
- const auto window = Window::CreateOverlapped();
+ const auto window = Window::Create();
const auto flex_layout = FlexLayout::Create();
+ flex_layout->SetFlexDirection(cru::ui::FlexDirection::Vertical);
+ flex_layout->SetContentMainAlign(cru::ui::FlexCrossAlignment::Center);
+ flex_layout->SetItemCrossAlign(cru::ui::FlexCrossAlignment::Center);
- window->SetChild(flex_layout);
+ window->AddChild(flex_layout, 0);
- const auto button = Button::Create();
- const auto text_block1 = TextBlock::Create();
- text_block1->SetText(u"Hello World!");
- button->SetChild(text_block1);
- flex_layout->AddChild(button, 0);
-
- const auto text_block2 = TextBlock::Create();
- text_block2->SetText(u"Hello World!");
-
- const auto text_block3 = TextBlock::Create();
- text_block3->SetText(u"Overlapped text");
+ const auto text_block = TextBlock::Create(u"Hello World from CruUI!", true);
+ flex_layout->AddChild(text_block, 0);
- 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(u"Hello World!!!");
- flex_layout->AddChild(text_block4, 2);
+ const auto button_text_block = TextBlock::Create(u"OK");
+ const auto button = Button::Create();
+ button->SetChild(button_text_block);
+ flex_layout->AddChild(button, 1);
const auto text_box = TextBox::Create();
- flex_layout->AddChild(text_box, 3);
+ flex_layout->AddChild(text_box, 2);
- window->GetUiHost()->GetNativeWindowResolver()->Resolve()->SetVisible(true);
+ window->Show();
return application->Run();
}