aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-10-30 00:07:57 +0800
committercrupest <crupest@outlook.com>2020-10-30 00:07:57 +0800
commit6aa2201797a9ed64ce0178215ae941d0c5f09579 (patch)
tree9a74ee8d9f616afbe693ef7825a71474850831b5 /src
parentb4cb4fb7552d35c267bdb66913e4c822f16346ab (diff)
downloadcru-6aa2201797a9ed64ce0178215ae941d0c5f09579.tar.gz
cru-6aa2201797a9ed64ce0178215ae941d0c5f09579.tar.bz2
cru-6aa2201797a9ed64ce0178215ae941d0c5f09579.zip
...
Diffstat (limited to 'src')
-rw-r--r--src/platform/CMakeLists.txt4
-rw-r--r--src/platform/graph/CMakeLists.txt14
-rw-r--r--src/platform/graphics/CMakeLists.txt14
-rw-r--r--src/platform/gui/CMakeLists.txt14
-rw-r--r--src/platform/gui/Keyboard.cpp (renamed from src/platform/native/Keyboard.cpp)6
-rw-r--r--src/platform/gui/UiApplication.cpp (renamed from src/platform/native/UiApplication.cpp)6
-rw-r--r--src/platform/native/CMakeLists.txt14
-rw-r--r--src/ui/CMakeLists.txt2
-rw-r--r--src/ui/Control.cpp10
-rw-r--r--src/ui/Helper.cpp8
-rw-r--r--src/ui/Helper.hpp4
-rw-r--r--src/ui/UiManager.cpp12
-rw-r--r--src/ui/WindowHost.cpp30
-rw-r--r--src/ui/controls/Button.cpp10
-rw-r--r--src/ui/controls/Container.cpp2
-rw-r--r--src/ui/controls/TextControlService.hpp22
-rw-r--r--src/ui/render/BorderRenderObject.cpp12
-rw-r--r--src/ui/render/CanvasRenderObject.cpp2
-rw-r--r--src/ui/render/FlexLayoutRenderObject.cpp2
-rw-r--r--src/ui/render/RenderObject.cpp16
-rw-r--r--src/ui/render/ScrollRenderObject.cpp10
-rw-r--r--src/ui/render/TextRenderObject.cpp28
-rw-r--r--src/win/CMakeLists.txt4
-rw-r--r--src/win/graph/direct/CMakeLists.txt29
-rw-r--r--src/win/graph/direct/Resource.cpp12
-rw-r--r--src/win/graphics/CMakeLists.txt (renamed from src/win/graph/CMakeLists.txt)0
-rw-r--r--src/win/graphics/direct/Brush.cpp (renamed from src/win/graph/direct/Brush.cpp)12
-rw-r--r--src/win/graphics/direct/CMakeLists.txt29
-rw-r--r--src/win/graphics/direct/Factory.cpp (renamed from src/win/graph/direct/Factory.cpp)16
-rw-r--r--src/win/graphics/direct/Font.cpp (renamed from src/win/graph/direct/Font.cpp)10
-rw-r--r--src/win/graphics/direct/Geometry.cpp (renamed from src/win/graph/direct/Geometry.cpp)12
-rw-r--r--src/win/graphics/direct/Painter.cpp (renamed from src/win/graph/direct/Painter.cpp)16
-rw-r--r--src/win/graphics/direct/Resource.cpp12
-rw-r--r--src/win/graphics/direct/TextLayout.cpp (renamed from src/win/graph/direct/TextLayout.cpp)12
-rw-r--r--src/win/graphics/direct/WindowPainter.cpp (renamed from src/win/graph/direct/WindowPainter.cpp)12
-rw-r--r--src/win/graphics/direct/WindowRenderTarget.cpp (renamed from src/win/graph/direct/WindowRenderTarget.cpp)10
-rw-r--r--src/win/gui/CMakeLists.txt31
-rw-r--r--src/win/gui/Cursor.cpp (renamed from src/win/native/Cursor.cpp)8
-rw-r--r--src/win/gui/GodWindow.cpp (renamed from src/win/native/GodWindow.cpp)12
-rw-r--r--src/win/gui/InputMethod.cpp (renamed from src/win/native/InputMethod.cpp)8
-rw-r--r--src/win/gui/Keyboard.cpp (renamed from src/win/native/Keyboard.cpp)6
-rw-r--r--src/win/gui/TimerManager.cpp (renamed from src/win/native/TimerManager.cpp)8
-rw-r--r--src/win/gui/TimerManager.hpp (renamed from src/win/native/TimerManager.hpp)8
-rw-r--r--src/win/gui/UiApplication.cpp (renamed from src/win/native/UiApplication.cpp)28
-rw-r--r--src/win/gui/Window.cpp (renamed from src/win/native/Window.cpp)46
-rw-r--r--src/win/gui/WindowClass.cpp (renamed from src/win/native/WindowClass.cpp)8
-rw-r--r--src/win/gui/WindowManager.cpp (renamed from src/win/native/WindowManager.cpp)10
-rw-r--r--src/win/gui/WindowManager.hpp (renamed from src/win/native/WindowManager.hpp)4
-rw-r--r--src/win/native/CMakeLists.txt31
49 files changed, 318 insertions, 318 deletions
diff --git a/src/platform/CMakeLists.txt b/src/platform/CMakeLists.txt
index 51253b56..623ec08f 100644
--- a/src/platform/CMakeLists.txt
+++ b/src/platform/CMakeLists.txt
@@ -10,5 +10,5 @@ target_sources(cru_platform_base INTERFACE
)
target_link_libraries(cru_platform_base INTERFACE cru_base)
-add_subdirectory(graph)
-add_subdirectory(native)
+add_subdirectory(graphics)
+add_subdirectory(gui)
diff --git a/src/platform/graph/CMakeLists.txt b/src/platform/graph/CMakeLists.txt
deleted file mode 100644
index 3bf11e8d..00000000
--- a/src/platform/graph/CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-set(CRU_PLATFORM_GRAPH_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/platform/graph)
-add_library(cru_platform_graph INTERFACE)
-target_sources(cru_platform_graph INTERFACE
- ${CRU_PLATFORM_GRAPH_INCLUDE_DIR}/Base.hpp
- ${CRU_PLATFORM_GRAPH_INCLUDE_DIR}/Brush.hpp
- ${CRU_PLATFORM_GRAPH_INCLUDE_DIR}/Font.hpp
- ${CRU_PLATFORM_GRAPH_INCLUDE_DIR}/Geometry.hpp
- ${CRU_PLATFORM_GRAPH_INCLUDE_DIR}/Factory.hpp
- ${CRU_PLATFORM_GRAPH_INCLUDE_DIR}/Resource.hpp
- ${CRU_PLATFORM_GRAPH_INCLUDE_DIR}/Painter.hpp
- ${CRU_PLATFORM_GRAPH_INCLUDE_DIR}/TextLayout.hpp
- ${CRU_PLATFORM_GRAPH_INCLUDE_DIR}/util/Painter.hpp
-)
-target_link_libraries(cru_platform_graph INTERFACE cru_platform_base)
diff --git a/src/platform/graphics/CMakeLists.txt b/src/platform/graphics/CMakeLists.txt
new file mode 100644
index 00000000..5f841267
--- /dev/null
+++ b/src/platform/graphics/CMakeLists.txt
@@ -0,0 +1,14 @@
+set(CRU_PLATFORM_GRAPHICS_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/platform/graphics)
+add_library(cru_platform_graphics INTERFACE)
+target_sources(cru_platform_graphics INTERFACE
+ ${CRU_PLATFORM_GRAPHICS_INCLUDE_DIR}/Base.hpp
+ ${CRU_PLATFORM_GRAPHICS_INCLUDE_DIR}/Brush.hpp
+ ${CRU_PLATFORM_GRAPHICS_INCLUDE_DIR}/Font.hpp
+ ${CRU_PLATFORM_GRAPHICS_INCLUDE_DIR}/Geometry.hpp
+ ${CRU_PLATFORM_GRAPHICS_INCLUDE_DIR}/Factory.hpp
+ ${CRU_PLATFORM_GRAPHICS_INCLUDE_DIR}/Resource.hpp
+ ${CRU_PLATFORM_GRAPHICS_INCLUDE_DIR}/Painter.hpp
+ ${CRU_PLATFORM_GRAPHICS_INCLUDE_DIR}/TextLayout.hpp
+ ${CRU_PLATFORM_GRAPHICS_INCLUDE_DIR}/util/Painter.hpp
+)
+target_link_libraries(cru_platform_graphics INTERFACE cru_platform_base)
diff --git a/src/platform/gui/CMakeLists.txt b/src/platform/gui/CMakeLists.txt
new file mode 100644
index 00000000..aca7620c
--- /dev/null
+++ b/src/platform/gui/CMakeLists.txt
@@ -0,0 +1,14 @@
+set(CRU_PLATFORM_GUI_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/platform/gui)
+add_library(cru_platform_gui STATIC
+ Keyboard.cpp
+ UiApplication.cpp
+)
+target_sources(cru_platform_gui PUBLIC
+ ${CRU_PLATFORM_GUI_INCLUDE_DIR}/Base.hpp
+ ${CRU_PLATFORM_GUI_INCLUDE_DIR}/Cursor.hpp
+ ${CRU_PLATFORM_GUI_INCLUDE_DIR}/InputMethod.hpp
+ ${CRU_PLATFORM_GUI_INCLUDE_DIR}/Keyboard.hpp
+ ${CRU_PLATFORM_GUI_INCLUDE_DIR}/Window.hpp
+ ${CRU_PLATFORM_GUI_INCLUDE_DIR}/UiApplication.hpp
+)
+target_link_libraries(cru_platform_gui PUBLIC cru_platform_graphics)
diff --git a/src/platform/native/Keyboard.cpp b/src/platform/gui/Keyboard.cpp
index dd0e8f23..24880e00 100644
--- a/src/platform/native/Keyboard.cpp
+++ b/src/platform/gui/Keyboard.cpp
@@ -1,10 +1,10 @@
-#include "cru/platform/native/Keyboard.hpp"
+#include "cru/platform/gui/Keyboard.hpp"
#include <array>
#include <string>
#include <string_view>
-namespace cru::platform::native {
+namespace cru::platform::gui {
constexpr std::array<std::u16string_view,
static_cast<int>(KeyCode::NumPad9) + 1>
key_code_string_list{u"Unknown",
@@ -139,4 +139,4 @@ std::u16string ToString(KeyModifier key_modifier,
return result;
}
-} // namespace cru::platform::native
+} // namespace cru::platform::gui
diff --git a/src/platform/native/UiApplication.cpp b/src/platform/gui/UiApplication.cpp
index 200b10e0..f095361e 100644
--- a/src/platform/native/UiApplication.cpp
+++ b/src/platform/gui/UiApplication.cpp
@@ -1,6 +1,6 @@
-#include "cru/platform/native/UiApplication.hpp"
+#include "cru/platform/gui/UiApplication.hpp"
-namespace cru::platform::native {
+namespace cru::platform::gui {
IUiApplication* IUiApplication::instance = nullptr;
IUiApplication::IUiApplication() {
@@ -12,4 +12,4 @@ IUiApplication::IUiApplication() {
}
IUiApplication::~IUiApplication() { instance = nullptr; }
-} // namespace cru::platform::native
+} // namespace cru::platform::gui
diff --git a/src/platform/native/CMakeLists.txt b/src/platform/native/CMakeLists.txt
deleted file mode 100644
index 3fe4370a..00000000
--- a/src/platform/native/CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-set(CRU_PLATFORM_NATIVE_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/platform/native)
-add_library(cru_platform_native STATIC
- Keyboard.cpp
- UiApplication.cpp
-)
-target_sources(cru_platform_native PUBLIC
- ${CRU_PLATFORM_NATIVE_INCLUDE_DIR}/Base.hpp
- ${CRU_PLATFORM_NATIVE_INCLUDE_DIR}/Cursor.hpp
- ${CRU_PLATFORM_NATIVE_INCLUDE_DIR}/InputMethod.hpp
- ${CRU_PLATFORM_NATIVE_INCLUDE_DIR}/Keyboard.hpp
- ${CRU_PLATFORM_NATIVE_INCLUDE_DIR}/Window.hpp
- ${CRU_PLATFORM_NATIVE_INCLUDE_DIR}/UiApplication.hpp
-)
-target_link_libraries(cru_platform_native PUBLIC cru_platform_graph)
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt
index 045fea24..45f64c88 100644
--- a/src/ui/CMakeLists.txt
+++ b/src/ui/CMakeLists.txt
@@ -63,4 +63,4 @@ target_sources(cru_ui PUBLIC
${CRU_UI_INCLUDE_DIR}/render/StackLayoutRenderObject.hpp
${CRU_UI_INCLUDE_DIR}/render/TextRenderObject.hpp
)
-target_link_libraries(cru_ui PUBLIC cru_platform_native)
+target_link_libraries(cru_ui PUBLIC cru_platform_gui)
diff --git a/src/ui/Control.cpp b/src/ui/Control.cpp
index 13b1c780..cae48c66 100644
--- a/src/ui/Control.cpp
+++ b/src/ui/Control.cpp
@@ -2,8 +2,8 @@
#include "RoutedEventDispatch.hpp"
#include "cru/common/Base.hpp"
-#include "cru/platform/native/Cursor.hpp"
-#include "cru/platform/native/UiApplication.hpp"
+#include "cru/platform/gui/Cursor.hpp"
+#include "cru/platform/gui/UiApplication.hpp"
#include "cru/ui/Base.hpp"
#include "cru/ui/WindowHost.hpp"
#include "cru/ui/render/RenderObject.hpp"
@@ -11,9 +11,9 @@
#include <memory>
namespace cru::ui {
-using platform::native::ICursor;
-using platform::native::IUiApplication;
-using platform::native::SystemCursorType;
+using platform::gui::ICursor;
+using platform::gui::IUiApplication;
+using platform::gui::SystemCursorType;
Control::Control() {
MouseEnterEvent()->Direct()->AddHandler([this](event::MouseEventArgs&) {
diff --git a/src/ui/Helper.cpp b/src/ui/Helper.cpp
index 6f67e701..88ead993 100644
--- a/src/ui/Helper.cpp
+++ b/src/ui/Helper.cpp
@@ -1,11 +1,11 @@
#include "Helper.hpp"
-#include "cru/platform/graph/Factory.hpp"
-#include "cru/platform/native/UiApplication.hpp"
+#include "cru/platform/graphics/Factory.hpp"
+#include "cru/platform/gui/UiApplication.hpp"
namespace cru::ui {
-using cru::platform::graph::IGraphFactory;
-using cru::platform::native::IUiApplication;
+using cru::platform::graphics::IGraphFactory;
+using cru::platform::gui::IUiApplication;
IGraphFactory* GetGraphFactory() {
return IUiApplication::GetInstance()->GetGraphFactory();
diff --git a/src/ui/Helper.hpp b/src/ui/Helper.hpp
index 6923852f..327f91ff 100644
--- a/src/ui/Helper.hpp
+++ b/src/ui/Helper.hpp
@@ -12,6 +12,6 @@ struct IUiApplication;
} // namespace cru::platform
namespace cru::ui {
-cru::platform::graph::IGraphFactory* GetGraphFactory();
-cru::platform::native::IUiApplication* GetUiApplication();
+cru::platform::graphics::IGraphFactory* GetGraphFactory();
+cru::platform::gui::IUiApplication* GetUiApplication();
} // namespace cru::ui
diff --git a/src/ui/UiManager.cpp b/src/ui/UiManager.cpp
index 8a2029b9..62995f86 100644
--- a/src/ui/UiManager.cpp
+++ b/src/ui/UiManager.cpp
@@ -1,13 +1,13 @@
#include "cru/ui/UiManager.hpp"
#include "Helper.hpp"
-#include "cru/platform/graph/Brush.hpp"
-#include "cru/platform/graph/Factory.hpp"
-#include "cru/platform/graph/Font.hpp"
-#include "cru/platform/native/UiApplication.hpp"
+#include "cru/platform/graphics/Brush.hpp"
+#include "cru/platform/graphics/Factory.hpp"
+#include "cru/platform/graphics/Font.hpp"
+#include "cru/platform/gui/UiApplication.hpp"
namespace cru::ui {
-using namespace cru::platform::graph;
+using namespace cru::platform::graphics;
namespace {
std::unique_ptr<ISolidColorBrush> CreateSolidColorBrush(IGraphFactory* factory,
@@ -35,7 +35,7 @@ UiManager::UiManager() {
theme_resource_.default_font =
factory->CreateFont(theme_resource_.default_font_family, 24.0f);
- const auto black_brush = std::shared_ptr<platform::graph::ISolidColorBrush>(
+ const auto black_brush = std::shared_ptr<platform::graphics::ISolidColorBrush>(
CreateSolidColorBrush(factory, colors::black));
theme_resource_.text_brush = black_brush;
theme_resource_.text_selection_brush =
diff --git a/src/ui/WindowHost.cpp b/src/ui/WindowHost.cpp
index 8c61d27d..4b32467b 100644
--- a/src/ui/WindowHost.cpp
+++ b/src/ui/WindowHost.cpp
@@ -2,10 +2,10 @@
#include "RoutedEventDispatch.hpp"
#include "cru/common/Logger.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/Painter.hpp"
+#include "cru/platform/gui/InputMethod.hpp"
+#include "cru/platform/gui/UiApplication.hpp"
+#include "cru/platform/gui/Window.hpp"
#include "cru/ui/DebugFlags.hpp"
#include "cru/ui/Window.hpp"
#include "cru/ui/render/MeasureRequirement.hpp"
@@ -14,8 +14,8 @@
#include <cstddef>
namespace cru::ui {
-using platform::native::INativeWindow;
-using platform::native::IUiApplication;
+using platform::gui::INativeWindow;
+using platform::gui::IUiApplication;
namespace event_names {
#ifdef CRU_DEBUG
@@ -149,7 +149,7 @@ void WindowHost::InvalidateLayout() {
if constexpr (debug_flags::layout)
log::TagDebug(log_tag, u"A relayout is requested.");
if (!need_layout_) {
- platform::native::IUiApplication::GetInstance()->SetImmediate([this] {
+ platform::gui::IUiApplication::GetInstance()->SetImmediate([this] {
Relayout();
need_layout_ = false;
InvalidatePaint();
@@ -272,10 +272,10 @@ void WindowHost::OnNativeResize(INativeWindow* window, const Size& size) {
}
void WindowHost::OnNativeFocus(INativeWindow* window,
- platform::native::FocusChangeType focus) {
+ platform::gui::FocusChangeType focus) {
CRU_UNUSED(window)
- focus == platform::native::FocusChangeType::Gain
+ focus == platform::gui::FocusChangeType::Gain
? DispatchEvent(event_names::GainFocus, focus_control_,
&Control::GainFocusEvent, nullptr, true)
: DispatchEvent(event_names::LoseFocus, focus_control_,
@@ -283,10 +283,10 @@ void WindowHost::OnNativeFocus(INativeWindow* window,
}
void WindowHost::OnNativeMouseEnterLeave(
- INativeWindow* window, platform::native::MouseEnterLeaveType type) {
+ INativeWindow* window, platform::gui::MouseEnterLeaveType type) {
CRU_UNUSED(window)
- if (type == platform::native::MouseEnterLeaveType::Leave) {
+ if (type == platform::gui::MouseEnterLeaveType::Leave) {
DispatchEvent(event_names::MouseLeave, mouse_hover_control_,
&Control::MouseLeaveEvent, nullptr);
mouse_hover_control_ = nullptr;
@@ -328,7 +328,7 @@ void WindowHost::OnNativeMouseMove(INativeWindow* window, const Point& point) {
void WindowHost::OnNativeMouseDown(
INativeWindow* window,
- const platform::native::NativeMouseButtonEventArgs& args) {
+ const platform::gui::NativeMouseButtonEventArgs& args) {
CRU_UNUSED(window)
Control* control =
@@ -339,7 +339,7 @@ void WindowHost::OnNativeMouseDown(
void WindowHost::OnNativeMouseUp(
INativeWindow* window,
- const platform::native::NativeMouseButtonEventArgs& args) {
+ const platform::gui::NativeMouseButtonEventArgs& args) {
CRU_UNUSED(window)
Control* control =
@@ -349,7 +349,7 @@ void WindowHost::OnNativeMouseUp(
}
void WindowHost::OnNativeKeyDown(
- INativeWindow* window, const platform::native::NativeKeyEventArgs& args) {
+ INativeWindow* window, const platform::gui::NativeKeyEventArgs& args) {
CRU_UNUSED(window)
DispatchEvent(event_names::KeyDown, focus_control_, &Control::KeyDownEvent,
@@ -357,7 +357,7 @@ void WindowHost::OnNativeKeyDown(
}
void WindowHost::OnNativeKeyUp(
- INativeWindow* window, const platform::native::NativeKeyEventArgs& args) {
+ INativeWindow* window, const platform::gui::NativeKeyEventArgs& args) {
CRU_UNUSED(window)
DispatchEvent(event_names::KeyUp, focus_control_, &Control::KeyUpEvent,
diff --git a/src/ui/controls/Button.cpp b/src/ui/controls/Button.cpp
index 6f6af878..5f7ed143 100644
--- a/src/ui/controls/Button.cpp
+++ b/src/ui/controls/Button.cpp
@@ -2,15 +2,15 @@
#include <memory>
#include "../Helper.hpp"
-#include "cru/platform/graph/Brush.hpp"
-#include "cru/platform/native/Cursor.hpp"
-#include "cru/platform/native/UiApplication.hpp"
+#include "cru/platform/graphics/Brush.hpp"
+#include "cru/platform/gui/Cursor.hpp"
+#include "cru/platform/gui/UiApplication.hpp"
#include "cru/ui/render/BorderRenderObject.hpp"
#include "cru/ui/UiManager.hpp"
#include "cru/ui/Window.hpp"
namespace cru::ui::controls {
-using cru::platform::native::SystemCursorType;
+using cru::platform::gui::SystemCursorType;
namespace {
void Set(render::BorderRenderObject* o, const ButtonStateStyle& s) {
@@ -21,7 +21,7 @@ void Set(render::BorderRenderObject* o, const ButtonStateStyle& s) {
o->SetBackgroundBrush(s.background_brush);
}
-std::shared_ptr<platform::native::ICursor> GetSystemCursor(
+std::shared_ptr<platform::gui::ICursor> GetSystemCursor(
SystemCursorType type) {
return GetUiApplication()->GetCursorManager()->GetSystemCursor(type);
}
diff --git a/src/ui/controls/Container.cpp b/src/ui/controls/Container.cpp
index de58ee64..8b15c566 100644
--- a/src/ui/controls/Container.cpp
+++ b/src/ui/controls/Container.cpp
@@ -1,6 +1,6 @@
#include "cru/ui/controls/Container.hpp"
-#include "cru/platform/graph/Factory.hpp"
+#include "cru/platform/graphics/Factory.hpp"
#include "cru/ui/render/BorderRenderObject.hpp"
namespace cru::ui::controls {
diff --git a/src/ui/controls/TextControlService.hpp b/src/ui/controls/TextControlService.hpp
index 3c082bad..8ad87416 100644
--- a/src/ui/controls/TextControlService.hpp
+++ b/src/ui/controls/TextControlService.hpp
@@ -2,11 +2,11 @@
#include "../Helper.hpp"
#include "cru/common/Logger.hpp"
#include "cru/common/StringUtil.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/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"
#include "cru/ui/Base.hpp"
#include "cru/ui/Control.hpp"
#include "cru/ui/DebugFlags.hpp"
@@ -135,10 +135,10 @@ class TextControlService : public Object {
this->SyncTextRenderObject();
}
- platform::native::IInputMethodContext* GetInputMethodContext() {
+ platform::gui::IInputMethodContext* GetInputMethodContext() {
WindowHost* host = this->control_->GetWindowHost();
if (!host) return nullptr;
- platform::native::INativeWindow* native_window = host->GetNativeWindow();
+ platform::gui::INativeWindow* native_window = host->GetNativeWindow();
if (!native_window) return nullptr;
return native_window->GetInputMethodContext();
}
@@ -149,7 +149,7 @@ class TextControlService : public Object {
input_method_context->CancelComposition();
}
- std::optional<platform::native::CompositionText> GetCompositionInfo() {
+ std::optional<platform::gui::CompositionText> GetCompositionInfo() {
auto input_method_context = GetInputMethodContext();
if (input_method_context == nullptr) return std::nullopt;
auto composition_info = input_method_context->GetCompositionText();
@@ -360,8 +360,8 @@ class TextControlService : public Object {
void KeyDownHandler(event::KeyEventArgs& args) {
const auto key_code = args.GetKeyCode();
- using cru::platform::native::KeyCode;
- using cru::platform::native::KeyModifiers;
+ using cru::platform::gui::KeyCode;
+ using cru::platform::gui::KeyModifiers;
switch (key_code) {
case KeyCode::Backspace: {
@@ -469,7 +469,7 @@ class TextControlService : public Object {
bool editable_ = false;
bool caret_visible_ = false;
- platform::native::TimerAutoCanceler caret_timer_canceler_;
+ platform::gui::TimerAutoCanceler caret_timer_canceler_;
int caret_blink_duration_ = k_default_caret_blink_duration;
ShortcutHub shortcut_hub_;
diff --git a/src/ui/render/BorderRenderObject.cpp b/src/ui/render/BorderRenderObject.cpp
index b7e1e709..8e16d8cb 100644
--- a/src/ui/render/BorderRenderObject.cpp
+++ b/src/ui/render/BorderRenderObject.cpp
@@ -2,9 +2,9 @@
#include "../Helper.hpp"
#include "cru/common/Logger.hpp"
-#include "cru/platform/graph/Factory.hpp"
-#include "cru/platform/graph/Geometry.hpp"
-#include "cru/platform/graph/util/Painter.hpp"
+#include "cru/platform/graphics/Factory.hpp"
+#include "cru/platform/graphics/Geometry.hpp"
+#include "cru/platform/graphics/util/Painter.hpp"
#include <algorithm>
@@ -51,7 +51,7 @@ RenderObject* BorderRenderObject::HitTest(const Point& point) {
}
}
-void BorderRenderObject::OnDrawCore(platform::graph::IPainter* painter) {
+void BorderRenderObject::OnDrawCore(platform::graphics::IPainter* painter) {
if (background_brush_ != nullptr)
painter->FillGeometry(border_inner_geometry_.get(),
background_brush_.get());
@@ -235,7 +235,7 @@ void BorderRenderObject::RecreateGeometry() {
r.left_bottom - Point{t.left, t.bottom},
r.right_bottom - Point{t.right, t.bottom});
- auto f = [](platform::graph::IGeometryBuilder* builder, const Rect& rect,
+ auto f = [](platform::graphics::IGeometryBuilder* builder, const Rect& rect,
const CornerRadius& corner) {
builder->BeginFigure(Point(rect.left + corner.left_top.x, rect.top));
builder->LineTo(Point(rect.GetRight() - corner.right_top.x, rect.top));
@@ -263,7 +263,7 @@ void BorderRenderObject::RecreateGeometry() {
size.width - margin.GetHorizontalTotal(),
size.height - margin.GetVerticalTotal()};
const auto graph_factory = GetGraphFactory();
- std::unique_ptr<platform::graph::IGeometryBuilder> builder{
+ std::unique_ptr<platform::graphics::IGeometryBuilder> builder{
graph_factory->CreateGeometryBuilder()};
f(builder.get(), outer_rect, outer_radius);
border_outer_geometry_ = builder->Build();
diff --git a/src/ui/render/CanvasRenderObject.cpp b/src/ui/render/CanvasRenderObject.cpp
index 967fdcec..bf1155e1 100644
--- a/src/ui/render/CanvasRenderObject.cpp
+++ b/src/ui/render/CanvasRenderObject.cpp
@@ -10,7 +10,7 @@ RenderObject* CanvasRenderObject::HitTest(const Point& point) {
return padding_rect.IsPointInside(point) ? this : nullptr;
}
-void CanvasRenderObject::OnDrawContent(platform::graph::IPainter* painter) {
+void CanvasRenderObject::OnDrawContent(platform::graphics::IPainter* painter) {
const auto rect = GetContentRect();
CanvasPaintEventArgs args{painter, rect.GetSize()};
paint_event_.Raise(args);
diff --git a/src/ui/render/FlexLayoutRenderObject.cpp b/src/ui/render/FlexLayoutRenderObject.cpp
index 36a2dcea..b1ef69ee 100644
--- a/src/ui/render/FlexLayoutRenderObject.cpp
+++ b/src/ui/render/FlexLayoutRenderObject.cpp
@@ -1,7 +1,7 @@
#include "cru/ui/render/FlexLayoutRenderObject.hpp"
#include "cru/common/Logger.hpp"
-#include "cru/platform/graph/util/Painter.hpp"
+#include "cru/platform/graphics/util/Painter.hpp"
#include "cru/ui/render/LayoutHelper.hpp"
#include <algorithm>
diff --git a/src/ui/render/RenderObject.cpp b/src/ui/render/RenderObject.cpp
index 57929a21..09410113 100644
--- a/src/ui/render/RenderObject.cpp
+++ b/src/ui/render/RenderObject.cpp
@@ -1,7 +1,7 @@
#include "cru/ui/render/RenderObject.hpp"
#include "cru/common/Logger.hpp"
-#include "cru/platform/graph/util/Painter.hpp"
+#include "cru/platform/graphics/util/Painter.hpp"
#include "cru/ui/DebugFlags.hpp"
#include "cru/ui/WindowHost.hpp"
@@ -103,7 +103,7 @@ void RenderObject::Layout(const Point& offset) {
OnLayoutCore();
}
-void RenderObject::Draw(platform::graph::IPainter* painter) {
+void RenderObject::Draw(platform::graphics::IPainter* painter) {
OnDrawCore(painter);
}
@@ -138,29 +138,29 @@ void RenderObject::OnRemoveChild(RenderObject* removed_child, Index position) {
InvalidatePaint();
}
-void RenderObject::DefaultDrawChildren(platform::graph::IPainter* painter) {
+void RenderObject::DefaultDrawChildren(platform::graphics::IPainter* painter) {
for (const auto child : GetChildren()) {
auto offset = child->GetOffset();
- platform::graph::util::WithTransform(
+ platform::graphics::util::WithTransform(
painter, platform::Matrix::Translation(offset.x, offset.y),
[child](auto p) { child->Draw(p); });
}
}
-void RenderObject::DefaultDrawContent(platform::graph::IPainter* painter) {
+void RenderObject::DefaultDrawContent(platform::graphics::IPainter* painter) {
const auto content_rect = GetContentRect();
- platform::graph::util::WithTransform(
+ platform::graphics::util::WithTransform(
painter, Matrix::Translation(content_rect.left, content_rect.top),
[this](auto p) { this->OnDrawContent(p); });
}
-void RenderObject::OnDrawCore(platform::graph::IPainter* painter) {
+void RenderObject::OnDrawCore(platform::graphics::IPainter* painter) {
DefaultDrawContent(painter);
DefaultDrawChildren(painter);
}
-void RenderObject::OnDrawContent(platform::graph::IPainter* painter) {
+void RenderObject::OnDrawContent(platform::graphics::IPainter* painter) {
CRU_UNUSED(painter);
}
diff --git a/src/ui/render/ScrollRenderObject.cpp b/src/ui/render/ScrollRenderObject.cpp
index 24ea351a..e621cd0c 100644
--- a/src/ui/render/ScrollRenderObject.cpp
+++ b/src/ui/render/ScrollRenderObject.cpp
@@ -1,7 +1,7 @@
#include "cru/ui/render/ScrollRenderObject.hpp"
-#include "cru/platform/graph/Painter.hpp"
-#include "cru/platform/graph/util/Painter.hpp"
+#include "cru/platform/graphics/Painter.hpp"
+#include "cru/platform/graphics/util/Painter.hpp"
#include <algorithm>
@@ -42,14 +42,14 @@ RenderObject* ScrollRenderObject::HitTest(const Point& point) {
return rect.IsPointInside(point) ? this : nullptr;
} // namespace cru::ui::render
-void ScrollRenderObject::OnDrawCore(platform::graph::IPainter* painter) {
+void ScrollRenderObject::OnDrawCore(platform::graphics::IPainter* painter) {
DefaultDrawContent(painter);
if (const auto child = GetSingleChild()) {
painter->PushLayer(this->GetPaddingRect());
const auto offset = child->GetOffset();
- platform::graph::util::WithTransform(
+ platform::graphics::util::WithTransform(
painter, Matrix::Translation(offset.x, offset.y),
- [child](platform::graph::IPainter* p) { child->Draw(p); });
+ [child](platform::graphics::IPainter* p) { child->Draw(p); });
painter->PopLayer();
}
}
diff --git a/src/ui/render/TextRenderObject.cpp b/src/ui/render/TextRenderObject.cpp
index 466c5084..9faab622 100644
--- a/src/ui/render/TextRenderObject.cpp
+++ b/src/ui/render/TextRenderObject.cpp
@@ -2,19 +2,19 @@
#include "../Helper.hpp"
#include "cru/common/Logger.hpp"
-#include "cru/platform/graph/Factory.hpp"
-#include "cru/platform/graph/TextLayout.hpp"
-#include "cru/platform/graph/util/Painter.hpp"
+#include "cru/platform/graphics/Factory.hpp"
+#include "cru/platform/graphics/TextLayout.hpp"
+#include "cru/platform/graphics/util/Painter.hpp"
#include <algorithm>
#include <limits>
namespace cru::ui::render {
TextRenderObject::TextRenderObject(
- std::shared_ptr<platform::graph::IBrush> brush,
- std::shared_ptr<platform::graph::IFont> font,
- std::shared_ptr<platform::graph::IBrush> selection_brush,
- std::shared_ptr<platform::graph::IBrush> caret_brush) {
+ std::shared_ptr<platform::graphics::IBrush> brush,
+ std::shared_ptr<platform::graphics::IFont> font,
+ std::shared_ptr<platform::graphics::IBrush> selection_brush,
+ std::shared_ptr<platform::graphics::IBrush> caret_brush) {
Expects(brush);
Expects(font);
Expects(selection_brush);
@@ -47,17 +47,17 @@ void TextRenderObject::SetText(std::u16string new_text) {
}
void TextRenderObject::SetBrush(
- std::shared_ptr<platform::graph::IBrush> new_brush) {
+ std::shared_ptr<platform::graphics::IBrush> new_brush) {
Expects(new_brush);
new_brush.swap(brush_);
InvalidatePaint();
}
-std::shared_ptr<platform::graph::IFont> TextRenderObject::GetFont() const {
+std::shared_ptr<platform::graphics::IFont> TextRenderObject::GetFont() const {
return text_layout_->GetFont();
}
-void TextRenderObject::SetFont(std::shared_ptr<platform::graph::IFont> font) {
+void TextRenderObject::SetFont(std::shared_ptr<platform::graphics::IFont> font) {
Expects(font);
text_layout_->SetFont(std::move(font));
}
@@ -70,7 +70,7 @@ Point TextRenderObject::TextSinglePoint(gsl::index position, bool trailing) {
return text_layout_->TextSinglePoint(position, trailing);
}
-platform::graph::TextHitTestResult TextRenderObject::TextHitTest(
+platform::graphics::TextHitTestResult TextRenderObject::TextHitTest(
const Point& point) {
return text_layout_->HitTest(point);
}
@@ -81,7 +81,7 @@ void TextRenderObject::SetSelectionRange(std::optional<TextRange> new_range) {
}
void TextRenderObject::SetSelectionBrush(
- std::shared_ptr<platform::graph::IBrush> new_brush) {
+ std::shared_ptr<platform::graphics::IBrush> new_brush) {
Expects(new_brush);
new_brush.swap(selection_brush_);
if (selection_range_ && selection_range_->count) {
@@ -106,7 +106,7 @@ void TextRenderObject::SetCaretPosition(gsl::index position) {
}
void TextRenderObject::GetCaretBrush(
- std::shared_ptr<platform::graph::IBrush> brush) {
+ std::shared_ptr<platform::graphics::IBrush> brush) {
Expects(brush);
brush.swap(caret_brush_);
if (draw_caret_) {
@@ -159,7 +159,7 @@ RenderObject* TextRenderObject::HitTest(const Point& point) {
return padding_rect.IsPointInside(point) ? this : nullptr;
}
-void TextRenderObject::OnDrawContent(platform::graph::IPainter* painter) {
+void TextRenderObject::OnDrawContent(platform::graphics::IPainter* painter) {
if (this->selection_range_.has_value()) {
const auto&& rects =
text_layout_->TextRangeRect(this->selection_range_.value());
diff --git a/src/win/CMakeLists.txt b/src/win/CMakeLists.txt
index 06f947a1..bf8de863 100644
--- a/src/win/CMakeLists.txt
+++ b/src/win/CMakeLists.txt
@@ -14,5 +14,5 @@ target_sources(cru_win_base PUBLIC
target_compile_definitions(cru_win_base PUBLIC UNICODE _UNICODE) # use unicode
target_link_libraries(cru_win_base PUBLIC cru_base)
-add_subdirectory(graph)
-add_subdirectory(native)
+add_subdirectory(graphics)
+add_subdirectory(gui)
diff --git a/src/win/graph/direct/CMakeLists.txt b/src/win/graph/direct/CMakeLists.txt
deleted file mode 100644
index 070b7b51..00000000
--- a/src/win/graph/direct/CMakeLists.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-set(CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/win/graph/direct)
-
-add_library(cru_win_graph_direct STATIC
- Brush.cpp
- Font.cpp
- Geometry.cpp
- Factory.cpp
- Painter.cpp
- Resource.cpp
- TextLayout.cpp
- WindowPainter.cpp
- WindowRenderTarget.cpp
-)
-target_sources(cru_win_graph_direct PUBLIC
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/Brush.hpp
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/ComResource.hpp
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/ConvertUtil.hpp
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/Exception.hpp
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/Font.hpp
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/Geometry.hpp
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/Factory.hpp
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/Painter.hpp
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/Resource.hpp
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/TextLayout.hpp
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/WindowPainter.hpp
- ${CRU_WIN_GRAPH_DIRECT_INCLUDE_DIR}/WindowRenderTarget.hpp
-)
-target_link_libraries(cru_win_graph_direct PUBLIC D3D11 D2d1 DWrite)
-target_link_libraries(cru_win_graph_direct PUBLIC cru_win_base cru_platform_graph)
diff --git a/src/win/graph/direct/Resource.cpp b/src/win/graph/direct/Resource.cpp
deleted file mode 100644
index 772bb74b..00000000
--- a/src/win/graph/direct/Resource.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "cru/win/graph/direct/Resource.hpp"
-
-#include "cru/win/graph/direct/Factory.hpp"
-
-namespace cru::platform::graph::win::direct {
-DirectGraphResource::DirectGraphResource(DirectGraphFactory* factory)
- : factory_(factory) {
- Expects(factory);
-}
-
-IGraphFactory* DirectGraphResource::GetGraphFactory() { return factory_; }
-} // namespace cru::platform::graph::win::direct
diff --git a/src/win/graph/CMakeLists.txt b/src/win/graphics/CMakeLists.txt
index c90537ac..c90537ac 100644
--- a/src/win/graph/CMakeLists.txt
+++ b/src/win/graphics/CMakeLists.txt
diff --git a/src/win/graph/direct/Brush.cpp b/src/win/graphics/direct/Brush.cpp
index 2b9d4ac3..b7842b97 100644
--- a/src/win/graph/direct/Brush.cpp
+++ b/src/win/graphics/direct/Brush.cpp
@@ -1,10 +1,10 @@
-#include "cru/win/graph/direct/Brush.hpp"
+#include "cru/win/graphics/direct/Brush.hpp"
-#include "cru/win/graph/direct/ConvertUtil.hpp"
-#include "cru/win/graph/direct/Exception.hpp"
-#include "cru/win/graph/direct/Factory.hpp"
+#include "cru/win/graphics/direct/ConvertUtil.hpp"
+#include "cru/win/graphics/direct/Exception.hpp"
+#include "cru/win/graphics/direct/Factory.hpp"
-namespace cru::platform::graph::win::direct {
+namespace cru::platform::graphics::win::direct {
D2DSolidColorBrush::D2DSolidColorBrush(DirectGraphFactory* factory)
: DirectGraphResource(factory) {
ThrowIfFailed(factory->GetDefaultD2D1DeviceContext()->CreateSolidColorBrush(
@@ -14,4 +14,4 @@ D2DSolidColorBrush::D2DSolidColorBrush(DirectGraphFactory* factory)
void D2DSolidColorBrush::SetColor(const Color& color) {
brush_->SetColor(Convert(color));
}
-} // namespace cru::platform::graph::win::direct
+} // namespace cru::platform::graphics::win::direct
diff --git a/src/win/graphics/direct/CMakeLists.txt b/src/win/graphics/direct/CMakeLists.txt
new file mode 100644
index 00000000..d4c96a65
--- /dev/null
+++ b/src/win/graphics/direct/CMakeLists.txt
@@ -0,0 +1,29 @@
+set(CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/win/graphics/direct)
+
+add_library(cru_win_graphics_direct STATIC
+ Brush.cpp
+ Font.cpp
+ Geometry.cpp
+ Factory.cpp
+ Painter.cpp
+ Resource.cpp
+ TextLayout.cpp
+ WindowPainter.cpp
+ WindowRenderTarget.cpp
+)
+target_sources(cru_win_graphics_direct PUBLIC
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/Brush.hpp
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/ComResource.hpp
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/ConvertUtil.hpp
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/Exception.hpp
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/Font.hpp
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/Geometry.hpp
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/Factory.hpp
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/Painter.hpp
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/Resource.hpp
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/TextLayout.hpp
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/WindowPainter.hpp
+ ${CRU_WIN_GRAPHICS_DIRECT_INCLUDE_DIR}/WindowRenderTarget.hpp
+)
+target_link_libraries(cru_win_graphics_direct PUBLIC D3D11 D2d1 DWrite)
+target_link_libraries(cru_win_graphics_direct PUBLIC cru_win_base cru_platform_graphics)
diff --git a/src/win/graph/direct/Factory.cpp b/src/win/graphics/direct/Factory.cpp
index 03e64e13..6694801f 100644
--- a/src/win/graph/direct/Factory.cpp
+++ b/src/win/graphics/direct/Factory.cpp
@@ -1,16 +1,16 @@
-#include "cru/win/graph/direct/Factory.hpp"
+#include "cru/win/graphics/direct/Factory.hpp"
#include "cru/common/Logger.hpp"
-#include "cru/win/graph/direct/Brush.hpp"
-#include "cru/win/graph/direct/Exception.hpp"
-#include "cru/win/graph/direct/Font.hpp"
-#include "cru/win/graph/direct/Geometry.hpp"
-#include "cru/win/graph/direct/TextLayout.hpp"
+#include "cru/win/graphics/direct/Brush.hpp"
+#include "cru/win/graphics/direct/Exception.hpp"
+#include "cru/win/graphics/direct/Font.hpp"
+#include "cru/win/graphics/direct/Geometry.hpp"
+#include "cru/win/graphics/direct/TextLayout.hpp"
#include <cstdlib>
#include <utility>
-namespace cru::platform::graph::win::direct {
+namespace cru::platform::graphics::win::direct {
namespace {
void InitializeCom() {
const auto hresult = ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);
@@ -104,4 +104,4 @@ std::unique_ptr<ITextLayout> DirectGraphFactory::CreateTextLayout(
return std::make_unique<DWriteTextLayout>(this, std::move(font),
std::move(text));
}
-} // namespace cru::platform::graph::win::direct
+} // namespace cru::platform::graphics::win::direct
diff --git a/src/win/graph/direct/Font.cpp b/src/win/graphics/direct/Font.cpp
index 34de5b71..1d6a5c88 100644
--- a/src/win/graph/direct/Font.cpp
+++ b/src/win/graphics/direct/Font.cpp
@@ -1,12 +1,12 @@
-#include "cru/win/graph/direct/Font.hpp"
+#include "cru/win/graphics/direct/Font.hpp"
-#include "cru/win/graph/direct/Exception.hpp"
-#include "cru/win/graph/direct/Factory.hpp"
+#include "cru/win/graphics/direct/Exception.hpp"
+#include "cru/win/graphics/direct/Factory.hpp"
#include <array>
#include <utility>
-namespace cru::platform::graph::win::direct {
+namespace cru::platform::graphics::win::direct {
DWriteFont::DWriteFont(DirectGraphFactory* factory, std::u16string font_family,
float font_size)
: DirectGraphResource(factory), font_family_(std::move(font_family)) {
@@ -28,4 +28,4 @@ DWriteFont::DWriteFont(DirectGraphFactory* factory, std::u16string font_family,
}
float DWriteFont::GetFontSize() { return text_format_->GetFontSize(); }
-} // namespace cru::platform::graph::win::direct
+} // namespace cru::platform::graphics::win::direct
diff --git a/src/win/graph/direct/Geometry.cpp b/src/win/graphics/direct/Geometry.cpp
index e77b4749..8aa961b2 100644
--- a/src/win/graph/direct/Geometry.cpp
+++ b/src/win/graphics/direct/Geometry.cpp
@@ -1,10 +1,10 @@
-#include "cru/win/graph/direct/Geometry.hpp"
+#include "cru/win/graphics/direct/Geometry.hpp"
-#include "cru/win/graph/direct/ConvertUtil.hpp"
-#include "cru/win/graph/direct/Exception.hpp"
-#include "cru/win/graph/direct/Factory.hpp"
+#include "cru/win/graphics/direct/ConvertUtil.hpp"
+#include "cru/win/graphics/direct/Exception.hpp"
+#include "cru/win/graphics/direct/Factory.hpp"
-namespace cru::platform::graph::win::direct {
+namespace cru::platform::graphics::win::direct {
D2DGeometryBuilder::D2DGeometryBuilder(DirectGraphFactory* factory)
: DirectGraphResource(factory) {
ThrowIfFailed(factory->GetD2D1Factory()->CreatePathGeometry(&geometry_));
@@ -59,4 +59,4 @@ bool D2DGeometry::FillContains(const Point& point) {
Convert(point), D2D1::Matrix3x2F::Identity(), &result));
return result != 0;
}
-} // namespace cru::platform::graph::win::direct
+} // namespace cru::platform::graphics::win::direct
diff --git a/src/win/graph/direct/Painter.cpp b/src/win/graphics/direct/Painter.cpp
index 3ffb5208..91392ba7 100644
--- a/src/win/graph/direct/Painter.cpp
+++ b/src/win/graphics/direct/Painter.cpp
@@ -1,15 +1,15 @@
-#include "cru/win/graph/direct/Painter.hpp"
+#include "cru/win/graphics/direct/Painter.hpp"
#include "cru/platform/Check.hpp"
-#include "cru/win/graph/direct/Brush.hpp"
-#include "cru/win/graph/direct/ConvertUtil.hpp"
-#include "cru/win/graph/direct/Exception.hpp"
-#include "cru/win/graph/direct/Geometry.hpp"
-#include "cru/win/graph/direct/TextLayout.hpp"
+#include "cru/win/graphics/direct/Brush.hpp"
+#include "cru/win/graphics/direct/ConvertUtil.hpp"
+#include "cru/win/graphics/direct/Exception.hpp"
+#include "cru/win/graphics/direct/Geometry.hpp"
+#include "cru/win/graphics/direct/TextLayout.hpp"
#include <type_traits>
-namespace cru::platform::graph::win::direct {
+namespace cru::platform::graphics::win::direct {
D2DPainter::D2DPainter(ID2D1RenderTarget* render_target) {
Expects(render_target);
render_target_ = render_target;
@@ -101,4 +101,4 @@ void D2DPainter::CheckValidation() {
"Can't do that on painter after end drawing.");
}
}
-} // namespace cru::platform::graph::win::direct
+} // namespace cru::platform::graphics::win::direct
diff --git a/src/win/graphics/direct/Resource.cpp b/src/win/graphics/direct/Resource.cpp
new file mode 100644
index 00000000..2b4a0772
--- /dev/null
+++ b/src/win/graphics/direct/Resource.cpp
@@ -0,0 +1,12 @@
+#include "cru/win/graphics/direct/Resource.hpp"
+
+#include "cru/win/graphics/direct/Factory.hpp"
+
+namespace cru::platform::graphics::win::direct {
+DirectGraphResource::DirectGraphResource(DirectGraphFactory* factory)
+ : factory_(factory) {
+ Expects(factory);
+}
+
+IGraphFactory* DirectGraphResource::GetGraphFactory() { return factory_; }
+} // namespace cru::platform::graphics::win::direct
diff --git a/src/win/graph/direct/TextLayout.cpp b/src/win/graphics/direct/TextLayout.cpp
index 0d4a6392..0c6e797f 100644
--- a/src/win/graph/direct/TextLayout.cpp
+++ b/src/win/graphics/direct/TextLayout.cpp
@@ -1,14 +1,14 @@
-#include "cru/win/graph/direct/TextLayout.hpp"
+#include "cru/win/graphics/direct/TextLayout.hpp"
#include "cru/common/Logger.hpp"
#include "cru/platform/Check.hpp"
-#include "cru/win/graph/direct/Exception.hpp"
-#include "cru/win/graph/direct/Factory.hpp"
-#include "cru/win/graph/direct/Font.hpp"
+#include "cru/win/graphics/direct/Exception.hpp"
+#include "cru/win/graphics/direct/Factory.hpp"
+#include "cru/win/graphics/direct/Font.hpp"
#include <utility>
-namespace cru::platform::graph::win::direct {
+namespace cru::platform::graphics::win::direct {
DWriteTextLayout::DWriteTextLayout(DirectGraphFactory* factory,
std::shared_ptr<IFont> font,
std::u16string text)
@@ -121,4 +121,4 @@ TextHitTestResult DWriteTextLayout::HitTest(const Point& point) {
result.insideText = inside != 0;
return result;
}
-} // namespace cru::platform::graph::win::direct
+} // namespace cru::platform::graphics::win::direct
diff --git a/src/win/graph/direct/WindowPainter.cpp b/src/win/graphics/direct/WindowPainter.cpp
index 74f7da7a..c88667b6 100644
--- a/src/win/graph/direct/WindowPainter.cpp
+++ b/src/win/graphics/direct/WindowPainter.cpp
@@ -1,10 +1,10 @@
-#include "cru/win/graph/direct/WindowPainter.hpp"
+#include "cru/win/graphics/direct/WindowPainter.hpp"
-#include "cru/win/graph/direct/Exception.hpp"
-#include "cru/win/graph/direct/Factory.hpp"
-#include "cru/win/graph/direct/WindowRenderTarget.hpp"
+#include "cru/win/graphics/direct/Exception.hpp"
+#include "cru/win/graphics/direct/Factory.hpp"
+#include "cru/win/graphics/direct/WindowRenderTarget.hpp"
-namespace cru::platform::graph::win::direct {
+namespace cru::platform::graphics::win::direct {
D2DWindowPainter::D2DWindowPainter(D2DWindowRenderTarget* render_target)
: D2DPainter(render_target->GetD2D1DeviceContext()),
render_target_(render_target) {
@@ -17,4 +17,4 @@ void D2DWindowPainter::DoEndDraw() {
ThrowIfFailed(render_target_->GetD2D1DeviceContext()->EndDraw());
render_target_->Present();
}
-} // namespace cru::platform::graph::win::direct
+} // namespace cru::platform::graphics::win::direct
diff --git a/src/win/graph/direct/WindowRenderTarget.cpp b/src/win/graphics/direct/WindowRenderTarget.cpp
index d26fccf6..7479ae24 100644
--- a/src/win/graph/direct/WindowRenderTarget.cpp
+++ b/src/win/graphics/direct/WindowRenderTarget.cpp
@@ -1,9 +1,9 @@
-#include "cru/win/graph/direct/WindowRenderTarget.hpp"
+#include "cru/win/graphics/direct/WindowRenderTarget.hpp"
-#include "cru/win/graph/direct/Exception.hpp"
-#include "cru/win/graph/direct/Factory.hpp"
+#include "cru/win/graphics/direct/Exception.hpp"
+#include "cru/win/graphics/direct/Factory.hpp"
-namespace cru::platform::graph::win::direct {
+namespace cru::platform::graphics::win::direct {
D2DWindowRenderTarget::D2DWindowRenderTarget(
gsl::not_null<DirectGraphFactory*> factory, HWND hwnd)
: factory_(factory), hwnd_(hwnd) {
@@ -78,4 +78,4 @@ void D2DWindowRenderTarget::CreateTargetBitmap() {
d2d1_device_context_->SetTarget(target_bitmap_.Get());
}
-} // namespace cru::platform::graph::win::direct
+} // namespace cru::platform::graphics::win::direct
diff --git a/src/win/gui/CMakeLists.txt b/src/win/gui/CMakeLists.txt
new file mode 100644
index 00000000..48bed00d
--- /dev/null
+++ b/src/win/gui/CMakeLists.txt
@@ -0,0 +1,31 @@
+set(CRU_WIN_GUI_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/win/gui)
+
+add_library(cru_win_gui STATIC
+ TimerManager.hpp
+ WindowManager.hpp
+
+ Cursor.cpp
+ GodWindow.cpp
+ InputMethod.cpp
+ Keyboard.cpp
+ TimerManager.cpp
+ UiApplication.cpp
+ Window.cpp
+ WindowClass.cpp
+ WindowManager.cpp
+)
+target_sources(cru_win_gui PUBLIC
+ ${CRU_WIN_GUI_INCLUDE_DIR}/Cursor.hpp
+ ${CRU_WIN_GUI_INCLUDE_DIR}/Exception.hpp
+ ${CRU_WIN_GUI_INCLUDE_DIR}/Base.hpp
+ ${CRU_WIN_GUI_INCLUDE_DIR}/GodWindow.hpp
+ ${CRU_WIN_GUI_INCLUDE_DIR}/InputMethod.hpp
+ ${CRU_WIN_GUI_INCLUDE_DIR}/Keyboard.hpp
+ ${CRU_WIN_GUI_INCLUDE_DIR}/Resource.hpp
+ ${CRU_WIN_GUI_INCLUDE_DIR}/UiApplication.hpp
+ ${CRU_WIN_GUI_INCLUDE_DIR}/Window.hpp
+ ${CRU_WIN_GUI_INCLUDE_DIR}/WindowClass.hpp
+ ${CRU_WIN_GUI_INCLUDE_DIR}/WindowNativeMessageEventArgs.hpp
+)
+target_link_libraries(cru_win_gui PUBLIC imm32)
+target_link_libraries(cru_win_gui PUBLIC cru_win_graphics_direct cru_platform_gui)
diff --git a/src/win/native/Cursor.cpp b/src/win/gui/Cursor.cpp
index 429f6e7c..5f3086fa 100644
--- a/src/win/native/Cursor.cpp
+++ b/src/win/gui/Cursor.cpp
@@ -1,11 +1,11 @@
-#include "cru/win/native/Cursor.hpp"
+#include "cru/win/gui/Cursor.hpp"
#include "cru/common/Logger.hpp"
-#include "cru/win/native/Exception.hpp"
+#include "cru/win/gui/Exception.hpp"
#include <stdexcept>
-namespace cru::platform::native::win {
+namespace cru::platform::gui::win {
WinCursor::WinCursor(HCURSOR handle, bool auto_destroy) {
handle_ = handle;
auto_destroy_ = auto_destroy;
@@ -48,4 +48,4 @@ std::shared_ptr<WinCursor> WinCursorManager::GetSystemWinCursor(
throw std::runtime_error("Unknown system cursor value.");
}
}
-} // namespace cru::platform::native::win
+} // namespace cru::platform::gui::win
diff --git a/src/win/native/GodWindow.cpp b/src/win/gui/GodWindow.cpp
index 799a3cc6..7bce83a3 100644
--- a/src/win/native/GodWindow.cpp
+++ b/src/win/gui/GodWindow.cpp
@@ -1,11 +1,11 @@
-#include "cru/win/native/GodWindow.hpp"
+#include "cru/win/gui/GodWindow.hpp"
#include "cru/common/Logger.hpp"
-#include "cru/win/native/Exception.hpp"
-#include "cru/win/native/UiApplication.hpp"
-#include "cru/win/native/WindowClass.hpp"
+#include "cru/win/gui/Exception.hpp"
+#include "cru/win/gui/UiApplication.hpp"
+#include "cru/win/gui/WindowClass.hpp"
-namespace cru::platform::native::win {
+namespace cru::platform::gui::win {
constexpr auto god_window_class_name = L"GodWindowClass";
LRESULT CALLBACK GodWndProc(HWND hWnd, UINT uMsg, WPARAM wParam,
@@ -60,4 +60,4 @@ bool GodWindow::HandleGodWindowMessage(HWND hwnd, UINT msg, WPARAM w_param,
return false;
}
-} // namespace cru::platform::native::win
+} // namespace cru::platform::gui::win
diff --git a/src/win/native/InputMethod.cpp b/src/win/gui/InputMethod.cpp
index 45c5f8da..d6f2146d 100644
--- a/src/win/native/InputMethod.cpp
+++ b/src/win/gui/InputMethod.cpp
@@ -1,14 +1,14 @@
-#include "cru/win/native/InputMethod.hpp"
+#include "cru/win/gui/InputMethod.hpp"
#include "cru/common/Logger.hpp"
#include "cru/common/StringUtil.hpp"
#include "cru/platform/Check.hpp"
#include "cru/win/Exception.hpp"
-#include "cru/win/native/Window.hpp"
+#include "cru/win/gui/Window.hpp"
#include <vector>
-namespace cru::platform::native::win {
+namespace cru::platform::gui::win {
AutoHIMC::AutoHIMC(HWND hwnd) : hwnd_(hwnd) {
Expects(hwnd);
handle_ = ::ImmGetContext(hwnd);
@@ -275,4 +275,4 @@ AutoHIMC WinInputMethodContext::GetHIMC() {
const auto hwnd = native_window_->GetWindowHandle();
return AutoHIMC{hwnd};
}
-} // namespace cru::platform::native::win
+} // namespace cru::platform::gui::win
diff --git a/src/win/native/Keyboard.cpp b/src/win/gui/Keyboard.cpp
index 929ca737..b706b240 100644
--- a/src/win/native/Keyboard.cpp
+++ b/src/win/gui/Keyboard.cpp
@@ -1,6 +1,6 @@
-#include "cru/win/native/Keyboard.hpp"
+#include "cru/win/gui/Keyboard.hpp"
-namespace cru::platform::native::win {
+namespace cru::platform::gui::win {
KeyCode VirtualKeyToKeyCode(int virtual_key) {
if (virtual_key >= 0x30 && virtual_key <= 0x39) {
return KeyCode{static_cast<int>(KeyCode::N0) + (virtual_key - 0x30)};
@@ -71,4 +71,4 @@ KeyModifier RetrieveKeyMofifier() {
if (::GetKeyState(VK_MENU) < 0) result |= KeyModifiers::alt;
return result;
}
-} // namespace cru::platform::native::win
+} // namespace cru::platform::gui::win
diff --git a/src/win/native/TimerManager.cpp b/src/win/gui/TimerManager.cpp
index 206ae3e3..fc26b6c4 100644
--- a/src/win/native/TimerManager.cpp
+++ b/src/win/gui/TimerManager.cpp
@@ -1,13 +1,13 @@
#include "TimerManager.hpp"
-#include "cru/win/native/Base.hpp"
-#include "cru/win/native/Exception.hpp"
+#include "cru/win/gui/Base.hpp"
+#include "cru/win/gui/Exception.hpp"
#include "gsl/gsl_util"
#include <functional>
#include <type_traits>
-namespace cru::platform::native::win {
+namespace cru::platform::gui::win {
constexpr int kSetImmediateWindowMessageId = WM_USER + 2000;
TimerManager::TimerManager(GodWindow* god_window) {
@@ -97,4 +97,4 @@ void TimerManager::HandleGodWindowMessage(WindowNativeMessageEventArgs& args) {
return;
}
}
-} // namespace cru::platform::native::win
+} // namespace cru::platform::gui::win
diff --git a/src/win/native/TimerManager.hpp b/src/win/gui/TimerManager.hpp
index f2731f60..a8db1075 100644
--- a/src/win/native/TimerManager.hpp
+++ b/src/win/gui/TimerManager.hpp
@@ -3,15 +3,15 @@
#include "cru/win/WinPreConfig.hpp"
#include "cru/common/Base.hpp"
-#include "cru/win/native/GodWindow.hpp"
-#include "cru/win/native/WindowNativeMessageEventArgs.hpp"
+#include "cru/win/gui/GodWindow.hpp"
+#include "cru/win/gui/WindowNativeMessageEventArgs.hpp"
#include <chrono>
#include <functional>
#include <optional>
#include <unordered_map>
-namespace cru::platform::native::win {
+namespace cru::platform::gui::win {
enum class TimerType { Immediate, Timeout, Interval };
struct TimerInfo {
@@ -58,4 +58,4 @@ class TimerManager : public Object {
long long next_id_ = 1;
std::unordered_map<long long, TimerInfo> info_map_;
};
-} // namespace cru::platform::native::win
+} // namespace cru::platform::gui::win
diff --git a/src/win/native/UiApplication.cpp b/src/win/gui/UiApplication.cpp
index 87ef0b81..5041a6c0 100644
--- a/src/win/native/UiApplication.cpp
+++ b/src/win/gui/UiApplication.cpp
@@ -1,4 +1,4 @@
-#include "cru/win/native/UiApplication.hpp"
+#include "cru/win/gui/UiApplication.hpp"
#include "../DebugLogger.hpp"
#include "../StdOutLogger.hpp"
@@ -6,20 +6,20 @@
#include "WindowManager.hpp"
#include "cru/common/Logger.hpp"
#include "cru/platform/Check.hpp"
-#include "cru/win/graph/direct/Factory.hpp"
-#include "cru/win/native/Cursor.hpp"
-#include "cru/win/native/Exception.hpp"
-#include "cru/win/native/GodWindow.hpp"
-#include "cru/win/native/InputMethod.hpp"
-#include "cru/win/native/Window.hpp"
-
-namespace cru::platform::native {
+#include "cru/win/graphics/direct/Factory.hpp"
+#include "cru/win/gui/Cursor.hpp"
+#include "cru/win/gui/Exception.hpp"
+#include "cru/win/gui/GodWindow.hpp"
+#include "cru/win/gui/InputMethod.hpp"
+#include "cru/win/gui/Window.hpp"
+
+namespace cru::platform::gui {
std::unique_ptr<IUiApplication> CreateUiApplication() {
return std::make_unique<win::WinUiApplication>();
}
-} // namespace cru::platform::native
+} // namespace cru::platform::gui
-namespace cru::platform::native::win {
+namespace cru::platform::gui::win {
WinUiApplication* WinUiApplication::instance = nullptr;
WinUiApplication::WinUiApplication() {
@@ -37,7 +37,7 @@ WinUiApplication::WinUiApplication() {
std::make_unique<::cru::platform::win::WinStdOutLoggerSource>());
graph_factory_ =
- std::make_unique<cru::platform::graph::win::direct::DirectGraphFactory>();
+ std::make_unique<cru::platform::graphics::win::direct::DirectGraphFactory>();
god_window_ = std::make_unique<GodWindow>(this);
timer_manager_ = std::make_unique<TimerManager>(god_window_.get());
@@ -108,11 +108,11 @@ INativeWindow* WinUiApplication::CreateWindow(INativeWindow* parent) {
WS_OVERLAPPEDWINDOW, p);
}
-cru::platform::graph::IGraphFactory* WinUiApplication::GetGraphFactory() {
+cru::platform::graphics::IGraphFactory* WinUiApplication::GetGraphFactory() {
return graph_factory_.get();
}
ICursorManager* WinUiApplication::GetCursorManager() {
return cursor_manager_.get();
}
-} // namespace cru::platform::native::win
+} // namespace cru::platform::gui::win
diff --git a/src/win/native/Window.cpp b/src/win/gui/Window.cpp
index 1a6fcb07..dda8a36a 100644
--- a/src/win/native/Window.cpp
+++ b/src/win/gui/Window.cpp
@@ -1,22 +1,22 @@
-#include "cru/win/native/Window.hpp"
+#include "cru/win/gui/Window.hpp"
#include "WindowManager.hpp"
#include "cru/common/Logger.hpp"
#include "cru/platform/Check.hpp"
-#include "cru/platform/native/Base.hpp"
-#include "cru/win/graph/direct/WindowPainter.hpp"
-#include "cru/win/native/Cursor.hpp"
-#include "cru/win/native/Exception.hpp"
-#include "cru/win/native/InputMethod.hpp"
-#include "cru/win/native/Keyboard.hpp"
-#include "cru/win/native/UiApplication.hpp"
-#include "cru/win/native/WindowClass.hpp"
+#include "cru/platform/gui/Base.hpp"
+#include "cru/win/graphics/direct/WindowPainter.hpp"
+#include "cru/win/gui/Cursor.hpp"
+#include "cru/win/gui/Exception.hpp"
+#include "cru/win/gui/InputMethod.hpp"
+#include "cru/win/gui/Keyboard.hpp"
+#include "cru/win/gui/UiApplication.hpp"
+#include "cru/win/gui/WindowClass.hpp"
#include <imm.h>
#include <windowsx.h>
#include <memory>
-namespace cru::platform::native::win {
+namespace cru::platform::gui::win {
WinNativeWindow::WinNativeWindow(WinUiApplication* application,
WindowClass* window_class, DWORD window_style,
WinNativeWindow* parent)
@@ -47,10 +47,10 @@ WinNativeWindow::WinNativeWindow(WinUiApplication* application,
window_manager->RegisterWindow(hwnd_, this);
SetCursor(application->GetCursorManager()->GetSystemCursor(
- cru::platform::native::SystemCursorType::Arrow));
+ cru::platform::gui::SystemCursorType::Arrow));
window_render_target_ =
- std::make_unique<graph::win::direct::D2DWindowRenderTarget>(
+ std::make_unique<graphics::win::direct::D2DWindowRenderTarget>(
application->GetDirectFactory(), hwnd_);
window_render_target_->SetDpi(dpi_, dpi_);
@@ -139,8 +139,8 @@ void WinNativeWindow::RequestRepaint() {
throw Win32Error(::GetLastError(), "Failed to update window.");
}
-std::unique_ptr<graph::IPainter> WinNativeWindow::BeginPaint() {
- return std::make_unique<graph::win::direct::D2DWindowPainter>(
+std::unique_ptr<graphics::IPainter> WinNativeWindow::BeginPaint() {
+ return std::make_unique<graphics::win::direct::D2DWindowPainter>(
window_render_target_.get());
}
@@ -243,7 +243,7 @@ bool WinNativeWindow::HandleNativeWindowMessage(HWND hwnd, UINT msg,
POINT point;
point.x = GET_X_LPARAM(l_param);
point.y = GET_Y_LPARAM(l_param);
- OnMouseDownInternal(platform::native::mouse_buttons::left, point);
+ OnMouseDownInternal(platform::gui::mouse_buttons::left, point);
*result = 0;
return true;
}
@@ -251,7 +251,7 @@ bool WinNativeWindow::HandleNativeWindowMessage(HWND hwnd, UINT msg,
POINT point;
point.x = GET_X_LPARAM(l_param);
point.y = GET_Y_LPARAM(l_param);
- OnMouseUpInternal(platform::native::mouse_buttons::left, point);
+ OnMouseUpInternal(platform::gui::mouse_buttons::left, point);
*result = 0;
return true;
}
@@ -259,7 +259,7 @@ bool WinNativeWindow::HandleNativeWindowMessage(HWND hwnd, UINT msg,
POINT point;
point.x = GET_X_LPARAM(l_param);
point.y = GET_Y_LPARAM(l_param);
- OnMouseDownInternal(platform::native::mouse_buttons::right, point);
+ OnMouseDownInternal(platform::gui::mouse_buttons::right, point);
*result = 0;
return true;
}
@@ -267,7 +267,7 @@ bool WinNativeWindow::HandleNativeWindowMessage(HWND hwnd, UINT msg,
POINT point;
point.x = GET_X_LPARAM(l_param);
point.y = GET_Y_LPARAM(l_param);
- OnMouseUpInternal(platform::native::mouse_buttons::right, point);
+ OnMouseUpInternal(platform::gui::mouse_buttons::right, point);
*result = 0;
return true;
}
@@ -275,7 +275,7 @@ bool WinNativeWindow::HandleNativeWindowMessage(HWND hwnd, UINT msg,
POINT point;
point.x = GET_X_LPARAM(l_param);
point.y = GET_Y_LPARAM(l_param);
- OnMouseDownInternal(platform::native::mouse_buttons::middle, point);
+ OnMouseDownInternal(platform::gui::mouse_buttons::middle, point);
*result = 0;
return true;
}
@@ -283,7 +283,7 @@ bool WinNativeWindow::HandleNativeWindowMessage(HWND hwnd, UINT msg,
POINT point;
point.x = GET_X_LPARAM(l_param);
point.y = GET_Y_LPARAM(l_param);
- OnMouseUpInternal(platform::native::mouse_buttons::middle, point);
+ OnMouseUpInternal(platform::gui::mouse_buttons::middle, point);
*result = 0;
return true;
}
@@ -420,13 +420,13 @@ void WinNativeWindow::OnMouseLeaveInternal() {
mouse_enter_leave_event_.Raise(MouseEnterLeaveType::Leave);
}
-void WinNativeWindow::OnMouseDownInternal(platform::native::MouseButton button,
+void WinNativeWindow::OnMouseDownInternal(platform::gui::MouseButton button,
POINT point) {
const auto dip_point = PixelToDip(point);
mouse_down_event_.Raise({button, dip_point, RetrieveKeyMofifier()});
}
-void WinNativeWindow::OnMouseUpInternal(platform::native::MouseButton button,
+void WinNativeWindow::OnMouseUpInternal(platform::gui::MouseButton button,
POINT point) {
const auto dip_point = PixelToDip(point);
mouse_up_event_.Raise({button, dip_point, RetrieveKeyMofifier()});
@@ -450,4 +450,4 @@ void WinNativeWindow::OnKeyUpInternal(int virtual_code) {
void WinNativeWindow::OnActivatedInternal() {}
void WinNativeWindow::OnDeactivatedInternal() {}
-} // namespace cru::platform::native::win
+} // namespace cru::platform::gui::win
diff --git a/src/win/native/WindowClass.cpp b/src/win/gui/WindowClass.cpp
index 2e74606e..a033d091 100644
--- a/src/win/native/WindowClass.cpp
+++ b/src/win/gui/WindowClass.cpp
@@ -1,8 +1,8 @@
-#include "cru/win/native/WindowClass.hpp"
+#include "cru/win/gui/WindowClass.hpp"
-#include "cru/win/native/Exception.hpp"
+#include "cru/win/gui/Exception.hpp"
-namespace cru::platform::native::win {
+namespace cru::platform::gui::win {
WindowClass::WindowClass(std::wstring name, WNDPROC window_proc,
HINSTANCE h_instance)
: name_(std::move(name)) {
@@ -25,4 +25,4 @@ WindowClass::WindowClass(std::wstring name, WNDPROC window_proc,
if (atom_ == 0)
throw Win32Error(::GetLastError(), "Failed to create window class.");
}
-} // namespace cru::platform::native::win
+} // namespace cru::platform::gui::win
diff --git a/src/win/native/WindowManager.cpp b/src/win/gui/WindowManager.cpp
index 56cc8981..4e84e967 100644
--- a/src/win/native/WindowManager.cpp
+++ b/src/win/gui/WindowManager.cpp
@@ -1,10 +1,10 @@
#include "WindowManager.hpp"
-#include "cru/win/native/UiApplication.hpp"
-#include "cru/win/native/Window.hpp"
-#include "cru/win/native/WindowClass.hpp"
+#include "cru/win/gui/UiApplication.hpp"
+#include "cru/win/gui/Window.hpp"
+#include "cru/win/gui/WindowClass.hpp"
-namespace cru::platform::native::win {
+namespace cru::platform::gui::win {
LRESULT __stdcall GeneralWndProc(HWND hWnd, UINT Msg, WPARAM wParam,
LPARAM lParam) {
auto window =
@@ -53,4 +53,4 @@ std::vector<WinNativeWindow*> WindowManager::GetAllWindows() const {
for (const auto& [key, value] : window_map_) windows.push_back(value);
return windows;
}
-} // namespace cru::platform::native::win
+} // namespace cru::platform::gui::win
diff --git a/src/win/native/WindowManager.hpp b/src/win/gui/WindowManager.hpp
index 3f6387f7..3b037f89 100644
--- a/src/win/native/WindowManager.hpp
+++ b/src/win/gui/WindowManager.hpp
@@ -7,7 +7,7 @@
#include <memory>
#include <vector>
-namespace cru::platform::native::win {
+namespace cru::platform::gui::win {
class WinUiApplication;
class WinNativeWindow;
class WindowClass;
@@ -48,4 +48,4 @@ class WindowManager : public Object {
std::unique_ptr<WindowClass> general_window_class_;
std::map<HWND, WinNativeWindow*> window_map_;
};
-} // namespace cru::platform::native::win
+} // namespace cru::platform::gui::win
diff --git a/src/win/native/CMakeLists.txt b/src/win/native/CMakeLists.txt
deleted file mode 100644
index 4b84600b..00000000
--- a/src/win/native/CMakeLists.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-set(CRU_WIN_NATIVE_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/win/native)
-
-add_library(cru_win_native STATIC
- TimerManager.hpp
- WindowManager.hpp
-
- Cursor.cpp
- GodWindow.cpp
- InputMethod.cpp
- Keyboard.cpp
- TimerManager.cpp
- UiApplication.cpp
- Window.cpp
- WindowClass.cpp
- WindowManager.cpp
-)
-target_sources(cru_win_native PUBLIC
- ${CRU_WIN_NATIVE_INCLUDE_DIR}/Cursor.hpp
- ${CRU_WIN_NATIVE_INCLUDE_DIR}/Exception.hpp
- ${CRU_WIN_NATIVE_INCLUDE_DIR}/Base.hpp
- ${CRU_WIN_NATIVE_INCLUDE_DIR}/GodWindow.hpp
- ${CRU_WIN_NATIVE_INCLUDE_DIR}/InputMethod.hpp
- ${CRU_WIN_NATIVE_INCLUDE_DIR}/Keyboard.hpp
- ${CRU_WIN_NATIVE_INCLUDE_DIR}/Resource.hpp
- ${CRU_WIN_NATIVE_INCLUDE_DIR}/UiApplication.hpp
- ${CRU_WIN_NATIVE_INCLUDE_DIR}/Window.hpp
- ${CRU_WIN_NATIVE_INCLUDE_DIR}/WindowClass.hpp
- ${CRU_WIN_NATIVE_INCLUDE_DIR}/WindowNativeMessageEventArgs.hpp
-)
-target_link_libraries(cru_win_native PUBLIC imm32)
-target_link_libraries(cru_win_native PUBLIC cru_win_graph_direct cru_platform_native)