diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/platform/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/platform/graph/CMakeLists.txt | 14 | ||||
-rw-r--r-- | src/platform/graphics/CMakeLists.txt | 14 | ||||
-rw-r--r-- | src/platform/gui/CMakeLists.txt | 14 | ||||
-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.txt | 14 | ||||
-rw-r--r-- | src/ui/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/ui/Control.cpp | 10 | ||||
-rw-r--r-- | src/ui/Helper.cpp | 8 | ||||
-rw-r--r-- | src/ui/Helper.hpp | 4 | ||||
-rw-r--r-- | src/ui/UiManager.cpp | 12 | ||||
-rw-r--r-- | src/ui/WindowHost.cpp | 30 | ||||
-rw-r--r-- | src/ui/controls/Button.cpp | 10 | ||||
-rw-r--r-- | src/ui/controls/Container.cpp | 2 | ||||
-rw-r--r-- | src/ui/controls/TextControlService.hpp | 22 | ||||
-rw-r--r-- | src/ui/render/BorderRenderObject.cpp | 12 | ||||
-rw-r--r-- | src/ui/render/CanvasRenderObject.cpp | 2 | ||||
-rw-r--r-- | src/ui/render/FlexLayoutRenderObject.cpp | 2 | ||||
-rw-r--r-- | src/ui/render/RenderObject.cpp | 16 | ||||
-rw-r--r-- | src/ui/render/ScrollRenderObject.cpp | 10 | ||||
-rw-r--r-- | src/ui/render/TextRenderObject.cpp | 28 | ||||
-rw-r--r-- | src/win/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/win/graph/direct/CMakeLists.txt | 29 | ||||
-rw-r--r-- | src/win/graph/direct/Resource.cpp | 12 | ||||
-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.txt | 29 | ||||
-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.cpp | 12 | ||||
-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.txt | 31 | ||||
-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.txt | 31 |
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) |