diff options
Diffstat (limited to 'src/win')
-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 |
27 files changed, 197 insertions, 197 deletions
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) |