From ade5be31d6179a175af1d16587db00691c6859ce Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Sun, 5 Apr 2026 05:14:16 +0800 Subject: [PATCH] Add XCUI runtime screen layer and demo textarea --- Assets/XCUI/NewEditor/Demo/View.xcui | 13 + docs/plan/XCUI_Phase_Status_2026-04-05.md | 20 +- engine/CMakeLists.txt | 7 + .../UI/Runtime/UIScreenDocumentHost.h | 29 + .../XCEngine/UI/Runtime/UIScreenPlayer.h | 39 ++ .../XCEngine/UI/Runtime/UIScreenTypes.h | 100 ++++ engine/include/XCEngine/UI/Runtime/UISystem.h | 50 ++ .../src/UI/Runtime/UIScreenDocumentHost.cpp | 531 ++++++++++++++++++ engine/src/UI/Runtime/UIScreenPlayer.cpp | 106 ++++ engine/src/UI/Runtime/UISystem.cpp | 184 ++++++ new_editor/resources/xcui_demo_theme.xctheme | 5 + new_editor/resources/xcui_demo_view.xcui | 23 + .../src/XCUIBackend/XCUIDemoRuntime.cpp | 296 ++++++++-- tests/Core/UI/CMakeLists.txt | 2 + tests/Core/UI/test_layout_engine.cpp | 130 +++++ tests/Core/UI/test_style_system.cpp | 166 ++++++ tests/Core/UI/test_ui_runtime.cpp | 326 +++++++++++ tests/NewEditor/test_xcui_demo_runtime.cpp | 52 ++ 18 files changed, 2042 insertions(+), 37 deletions(-) create mode 100644 engine/include/XCEngine/UI/Runtime/UIScreenDocumentHost.h create mode 100644 engine/include/XCEngine/UI/Runtime/UIScreenPlayer.h create mode 100644 engine/include/XCEngine/UI/Runtime/UIScreenTypes.h create mode 100644 engine/include/XCEngine/UI/Runtime/UISystem.h create mode 100644 engine/src/UI/Runtime/UIScreenDocumentHost.cpp create mode 100644 engine/src/UI/Runtime/UIScreenPlayer.cpp create mode 100644 engine/src/UI/Runtime/UISystem.cpp create mode 100644 tests/Core/UI/test_layout_engine.cpp create mode 100644 tests/Core/UI/test_style_system.cpp create mode 100644 tests/Core/UI/test_ui_runtime.cpp diff --git a/Assets/XCUI/NewEditor/Demo/View.xcui b/Assets/XCUI/NewEditor/Demo/View.xcui index df8ceded..7b515660 100644 --- a/Assets/XCUI/NewEditor/Demo/View.xcui +++ b/Assets/XCUI/NewEditor/Demo/View.xcui @@ -52,6 +52,19 @@ value="" /> + + + +