aboutsummaryrefslogtreecommitdiff
path: root/src/win
diff options
context:
space:
mode:
Diffstat (limited to 'src/win')
-rw-r--r--src/win/CMakeLists.txt4
-rw-r--r--src/win/graph/direct/CMakeLists.txt29
-rw-r--r--src/win/graph/direct/Resource.cpp12
-rw-r--r--src/win/graphics/CMakeLists.txt (renamed from src/win/graph/CMakeLists.txt)0
-rw-r--r--src/win/graphics/direct/Brush.cpp (renamed from src/win/graph/direct/Brush.cpp)12
-rw-r--r--src/win/graphics/direct/CMakeLists.txt29
-rw-r--r--src/win/graphics/direct/Factory.cpp (renamed from src/win/graph/direct/Factory.cpp)16
-rw-r--r--src/win/graphics/direct/Font.cpp (renamed from src/win/graph/direct/Font.cpp)10
-rw-r--r--src/win/graphics/direct/Geometry.cpp (renamed from src/win/graph/direct/Geometry.cpp)12
-rw-r--r--src/win/graphics/direct/Painter.cpp (renamed from src/win/graph/direct/Painter.cpp)16
-rw-r--r--src/win/graphics/direct/Resource.cpp12
-rw-r--r--src/win/graphics/direct/TextLayout.cpp (renamed from src/win/graph/direct/TextLayout.cpp)12
-rw-r--r--src/win/graphics/direct/WindowPainter.cpp (renamed from src/win/graph/direct/WindowPainter.cpp)12
-rw-r--r--src/win/graphics/direct/WindowRenderTarget.cpp (renamed from src/win/graph/direct/WindowRenderTarget.cpp)10
-rw-r--r--src/win/gui/CMakeLists.txt31
-rw-r--r--src/win/gui/Cursor.cpp (renamed from src/win/native/Cursor.cpp)8
-rw-r--r--src/win/gui/GodWindow.cpp (renamed from src/win/native/GodWindow.cpp)12
-rw-r--r--src/win/gui/InputMethod.cpp (renamed from src/win/native/InputMethod.cpp)8
-rw-r--r--src/win/gui/Keyboard.cpp (renamed from src/win/native/Keyboard.cpp)6
-rw-r--r--src/win/gui/TimerManager.cpp (renamed from src/win/native/TimerManager.cpp)8
-rw-r--r--src/win/gui/TimerManager.hpp (renamed from src/win/native/TimerManager.hpp)8
-rw-r--r--src/win/gui/UiApplication.cpp (renamed from src/win/native/UiApplication.cpp)28
-rw-r--r--src/win/gui/Window.cpp (renamed from src/win/native/Window.cpp)46
-rw-r--r--src/win/gui/WindowClass.cpp (renamed from src/win/native/WindowClass.cpp)8
-rw-r--r--src/win/gui/WindowManager.cpp (renamed from src/win/native/WindowManager.cpp)10
-rw-r--r--src/win/gui/WindowManager.hpp (renamed from src/win/native/WindowManager.hpp)4
-rw-r--r--src/win/native/CMakeLists.txt31
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)