aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt4
-rw-r--r--src/platform/CMakeLists.txt6
-rw-r--r--src/platform/bootstrap/Bootstrap.cpp6
-rw-r--r--src/platform/graphics/direct2d/Brush.cpp (renamed from src/win/graphics/direct/Brush.cpp)12
-rw-r--r--src/platform/graphics/direct2d/CMakeLists.txt (renamed from src/win/graphics/direct/CMakeLists.txt)0
-rw-r--r--src/platform/graphics/direct2d/Factory.cpp (renamed from src/win/graphics/direct/Factory.cpp)18
-rw-r--r--src/platform/graphics/direct2d/Font.cpp (renamed from src/win/graphics/direct/Font.cpp)10
-rw-r--r--src/platform/graphics/direct2d/Geometry.cpp (renamed from src/win/graphics/direct/Geometry.cpp)12
-rw-r--r--src/platform/graphics/direct2d/Image.cpp (renamed from src/win/graphics/direct/Image.cpp)14
-rw-r--r--src/platform/graphics/direct2d/ImageFactory.cpp (renamed from src/win/graphics/direct/ImageFactory.cpp)12
-rw-r--r--src/platform/graphics/direct2d/Painter.cpp (renamed from src/win/graphics/direct/Painter.cpp)18
-rw-r--r--src/platform/graphics/direct2d/Resource.cpp (renamed from src/win/graphics/direct/Resource.cpp)8
-rw-r--r--src/platform/graphics/direct2d/TextLayout.cpp (renamed from src/win/graphics/direct/TextLayout.cpp)12
-rw-r--r--src/platform/graphics/direct2d/WindowPainter.cpp15
-rw-r--r--src/platform/graphics/direct2d/WindowRenderTarget.cpp (renamed from src/win/graphics/direct/WindowRenderTarget.cpp)10
-rw-r--r--src/platform/gui/win/CMakeLists.txt (renamed from src/win/gui/CMakeLists.txt)0
-rw-r--r--src/platform/gui/win/Clipboard.cpp (renamed from src/win/gui/Clipboard.cpp)6
-rw-r--r--src/platform/gui/win/Cursor.cpp (renamed from src/win/gui/Cursor.cpp)4
-rw-r--r--src/platform/gui/win/GodWindow.cpp (renamed from src/win/gui/GodWindow.cpp)8
-rw-r--r--src/platform/gui/win/InputMethod.cpp (renamed from src/win/gui/InputMethod.cpp)15
-rw-r--r--src/platform/gui/win/Keyboard.cpp (renamed from src/win/gui/Keyboard.cpp)2
-rw-r--r--src/platform/gui/win/Resource.cpp (renamed from src/win/gui/Resource.cpp)4
-rw-r--r--src/platform/gui/win/TimerManager.cpp (renamed from src/win/gui/TimerManager.cpp)4
-rw-r--r--src/platform/gui/win/TimerManager.h (renamed from src/win/gui/TimerManager.h)6
-rw-r--r--src/platform/gui/win/UiApplication.cpp (renamed from src/win/gui/UiApplication.cpp)20
-rw-r--r--src/platform/gui/win/Window.cpp (renamed from src/win/gui/Window.cpp)20
-rw-r--r--src/platform/gui/win/WindowClass.cpp (renamed from src/win/gui/WindowClass.cpp)4
-rw-r--r--src/platform/gui/win/WindowManager.cpp (renamed from src/win/gui/WindowManager.cpp)6
-rw-r--r--src/platform/gui/win/WindowManager.h (renamed from src/win/gui/WindowManager.h)2
-rw-r--r--src/platform/win/CMakeLists.txt (renamed from src/win/CMakeLists.txt)3
-rw-r--r--src/platform/win/ForDllExport.cpp (renamed from src/win/ForDllExport.cpp)2
-rw-r--r--src/win/graphics/CMakeLists.txt1
-rw-r--r--src/win/graphics/direct/WindowPainter.cpp15
33 files changed, 139 insertions, 140 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 24adea96..c528d061 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -2,9 +2,7 @@ add_subdirectory(common)
add_subdirectory(platform)
-if(WIN32)
- add_subdirectory(win)
-elseif (APPLE)
+if (APPLE)
add_subdirectory(osx)
endif()
diff --git a/src/platform/CMakeLists.txt b/src/platform/CMakeLists.txt
index 00fda1d3..a63aab44 100644
--- a/src/platform/CMakeLists.txt
+++ b/src/platform/CMakeLists.txt
@@ -9,4 +9,10 @@ target_compile_definitions(CruPlatformBase PRIVATE CRU_PLATFORM_EXPORT_API)
add_subdirectory(graphics)
add_subdirectory(gui)
+if (WIN32)
+ add_subdirectory(win)
+ add_subdirectory(graphics/direct2d)
+ add_subdirectory(gui/win)
+endif()
+
add_subdirectory(bootstrap)
diff --git a/src/platform/bootstrap/Bootstrap.cpp b/src/platform/bootstrap/Bootstrap.cpp
index a32cbb65..5dcd0c77 100644
--- a/src/platform/bootstrap/Bootstrap.cpp
+++ b/src/platform/bootstrap/Bootstrap.cpp
@@ -1,8 +1,8 @@
#include "cru/platform/bootstrap/Bootstrap.h"
#ifdef CRU_PLATFORM_WINDOWS
-#include "cru/win/graphics/direct/Factory.h"
-#include "cru/win/gui/UiApplication.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
+#include "cru/platform/gui/win/UiApplication.h"
#else
#include "cru/osx/graphics/quartz/Factory.h"
#include "cru/osx/gui/UiApplication.h"
@@ -22,7 +22,7 @@ cru::platform::gui::IUiApplication* CreateUiApplication() {
CRU_PLATFORM_BOOTSTRAP_API cru::platform::graphics::IGraphicsFactory*
CreateGraphicsFactory() {
#ifdef CRU_PLATFORM_WINDOWS
- return new cru::platform::graphics::win::direct::DirectGraphicsFactory();
+ return new cru::platform::graphics::direct2d::DirectGraphicsFactory();
#elif CRU_PLATFORM_OSX
return new cru::platform::graphics::osx::quartz::QuartzGraphicsFactory();
#else
diff --git a/src/win/graphics/direct/Brush.cpp b/src/platform/graphics/direct2d/Brush.cpp
index 362a32ea..27b76202 100644
--- a/src/win/graphics/direct/Brush.cpp
+++ b/src/platform/graphics/direct2d/Brush.cpp
@@ -1,10 +1,10 @@
-#include "cru/win/graphics/direct/Brush.h"
+#include "cru/platform/graphics/direct2d/Brush.h"
-#include "cru/win/graphics/direct/ConvertUtil.h"
-#include "cru/win/graphics/direct/Exception.h"
-#include "cru/win/graphics/direct/Factory.h"
+#include "cru/platform/graphics/direct2d/ConvertUtil.h"
+#include "cru/platform/graphics/direct2d/Exception.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
-namespace cru::platform::graphics::win::direct {
+namespace cru::platform::graphics::direct2d {
D2DSolidColorBrush::D2DSolidColorBrush(DirectGraphicsFactory* factory)
: DirectGraphicsResource(factory) {
ThrowIfFailed(factory->GetDefaultD2D1DeviceContext()->CreateSolidColorBrush(
@@ -14,4 +14,4 @@ D2DSolidColorBrush::D2DSolidColorBrush(DirectGraphicsFactory* factory)
void D2DSolidColorBrush::SetColor(const Color& color) {
brush_->SetColor(Convert(color));
}
-} // namespace cru::platform::graphics::win::direct
+} // namespace cru::platform::graphics::direct2d
diff --git a/src/win/graphics/direct/CMakeLists.txt b/src/platform/graphics/direct2d/CMakeLists.txt
index a9d5900b..a9d5900b 100644
--- a/src/win/graphics/direct/CMakeLists.txt
+++ b/src/platform/graphics/direct2d/CMakeLists.txt
diff --git a/src/win/graphics/direct/Factory.cpp b/src/platform/graphics/direct2d/Factory.cpp
index e8b3f107..c35c53cf 100644
--- a/src/win/graphics/direct/Factory.cpp
+++ b/src/platform/graphics/direct2d/Factory.cpp
@@ -1,17 +1,17 @@
-#include "cru/win/graphics/direct/Factory.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
#include "cru/common/log/Logger.h"
-#include "cru/win/graphics/direct/Brush.h"
-#include "cru/win/graphics/direct/Exception.h"
-#include "cru/win/graphics/direct/Font.h"
-#include "cru/win/graphics/direct/Geometry.h"
-#include "cru/win/graphics/direct/ImageFactory.h"
-#include "cru/win/graphics/direct/TextLayout.h"
+#include "cru/platform/graphics/direct2d/Brush.h"
+#include "cru/platform/graphics/direct2d/Exception.h"
+#include "cru/platform/graphics/direct2d/Font.h"
+#include "cru/platform/graphics/direct2d/Geometry.h"
+#include "cru/platform/graphics/direct2d/ImageFactory.h"
+#include "cru/platform/graphics/direct2d/TextLayout.h"
#include <cstdlib>
#include <utility>
-namespace cru::platform::graphics::win::direct {
+namespace cru::platform::graphics::direct2d {
DirectGraphicsFactory::DirectGraphicsFactory() {
// TODO: Detect repeated creation. Because I don't think we can create two d2d
@@ -96,4 +96,4 @@ std::unique_ptr<ITextLayout> DirectGraphicsFactory::CreateTextLayout(
IImageFactory* DirectGraphicsFactory::GetImageFactory() {
return image_factory_.get();
}
-} // namespace cru::platform::graphics::win::direct
+} // namespace cru::platform::graphics::direct2d
diff --git a/src/win/graphics/direct/Font.cpp b/src/platform/graphics/direct2d/Font.cpp
index 9e493948..afbc9049 100644
--- a/src/win/graphics/direct/Font.cpp
+++ b/src/platform/graphics/direct2d/Font.cpp
@@ -1,13 +1,13 @@
-#include "cru/win/graphics/direct/Font.h"
+#include "cru/platform/graphics/direct2d/Font.h"
#include "cru/common/Format.h"
-#include "cru/win/graphics/direct/Exception.h"
-#include "cru/win/graphics/direct/Factory.h"
+#include "cru/platform/graphics/direct2d/Exception.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
#include <array>
#include <utility>
-namespace cru::platform::graphics::win::direct {
+namespace cru::platform::graphics::direct2d {
DWriteFont::DWriteFont(DirectGraphicsFactory* factory, String font_family,
float font_size)
: DirectGraphicsResource(factory), font_family_(std::move(font_family)) {
@@ -31,4 +31,4 @@ DWriteFont::DWriteFont(DirectGraphicsFactory* factory, String font_family,
String DWriteFont::GetFontName() { return font_family_; }
float DWriteFont::GetFontSize() { return text_format_->GetFontSize(); }
-} // namespace cru::platform::graphics::win::direct
+} // namespace cru::platform::graphics::direct2d
diff --git a/src/win/graphics/direct/Geometry.cpp b/src/platform/graphics/direct2d/Geometry.cpp
index f377356c..b84a901e 100644
--- a/src/win/graphics/direct/Geometry.cpp
+++ b/src/platform/graphics/direct2d/Geometry.cpp
@@ -1,14 +1,14 @@
-#include "cru/win/graphics/direct/Geometry.h"
+#include "cru/platform/graphics/direct2d/Geometry.h"
#include "cru/common/platform/win/Exception.h"
-#include "cru/win/graphics/direct/ConvertUtil.h"
-#include "cru/win/graphics/direct/Exception.h"
-#include "cru/win/graphics/direct/Factory.h"
+#include "cru/platform/graphics/direct2d/ConvertUtil.h"
+#include "cru/platform/graphics/direct2d/Exception.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
#include <d2d1.h>
#include <d2d1helper.h>
-namespace cru::platform::graphics::win::direct {
+namespace cru::platform::graphics::direct2d {
D2DGeometryBuilder::D2DGeometryBuilder(DirectGraphicsFactory* factory)
: DirectGraphicsResource(factory) {
ThrowIfFailed(factory->GetD2D1Factory()->CreatePathGeometry(&geometry_));
@@ -122,4 +122,4 @@ std::unique_ptr<IGeometry> D2DGeometry::CreateStrokeGeometry(float width) {
return std::make_unique<D2DGeometry>(GetDirectFactory(),
std::move(d2d1_geometry));
}
-} // namespace cru::platform::graphics::win::direct
+} // namespace cru::platform::graphics::direct2d
diff --git a/src/win/graphics/direct/Image.cpp b/src/platform/graphics/direct2d/Image.cpp
index 518b9516..78cccd6a 100644
--- a/src/win/graphics/direct/Image.cpp
+++ b/src/platform/graphics/direct2d/Image.cpp
@@ -1,12 +1,12 @@
-#include "cru/win/graphics/direct/Image.h"
+#include "cru/platform/graphics/direct2d/Image.h"
#include <d2d1_1.h>
#include "cru/common/platform/win/Exception.h"
-#include "cru/win/graphics/direct/ConvertUtil.h"
-#include "cru/win/graphics/direct/Exception.h"
-#include "cru/win/graphics/direct/Factory.h"
-#include "cru/win/graphics/direct/Painter.h"
+#include "cru/platform/graphics/direct2d/ConvertUtil.h"
+#include "cru/platform/graphics/direct2d/Exception.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
+#include "cru/platform/graphics/direct2d/Painter.h"
-namespace cru::platform::graphics::win::direct {
+namespace cru::platform::graphics::direct2d {
Direct2DImage::Direct2DImage(DirectGraphicsFactory* graphics_factory,
Microsoft::WRL::ComPtr<ID2D1Bitmap1> d2d_bitmap)
: DirectGraphicsResource(graphics_factory),
@@ -42,4 +42,4 @@ std::unique_ptr<IPainter> Direct2DImage::CreatePainter() {
return std::make_unique<D2DDeviceContextPainter>(device_context.Detach(),
true);
}
-} // namespace cru::platform::graphics::win::direct
+} // namespace cru::platform::graphics::direct2d
diff --git a/src/win/graphics/direct/ImageFactory.cpp b/src/platform/graphics/direct2d/ImageFactory.cpp
index 0e8eb1b6..7cbc0ad4 100644
--- a/src/win/graphics/direct/ImageFactory.cpp
+++ b/src/platform/graphics/direct2d/ImageFactory.cpp
@@ -1,17 +1,17 @@
-#include "cru/win/graphics/direct/ImageFactory.h"
+#include "cru/platform/graphics/direct2d/ImageFactory.h"
#include "cru/common/platform/win/Exception.h"
#include "cru/common/platform/win/StreamConvert.h"
#include "cru/platform/Check.h"
-#include "cru/win/graphics/direct/Exception.h"
-#include "cru/win/graphics/direct/Factory.h"
-#include "cru/win/graphics/direct/Image.h"
+#include "cru/platform/graphics/direct2d/Exception.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
+#include "cru/platform/graphics/direct2d/Image.h"
#include <d2d1_1.h>
#include <d2d1_1helper.h>
#include <wincodec.h>
#include <wrl/client.h>
-namespace cru::platform::graphics::win::direct {
+namespace cru::platform::graphics::direct2d {
WinImageFactory::WinImageFactory(DirectGraphicsFactory* graphics_factory)
: DirectGraphicsResource(graphics_factory) {
HRESULT hr =
@@ -156,4 +156,4 @@ std::unique_ptr<IImage> WinImageFactory::CreateBitmap(int width, int height) {
return std::make_unique<Direct2DImage>(graphics_factory, std::move(bitmap));
}
-} // namespace cru::platform::graphics::win::direct
+} // namespace cru::platform::graphics::direct2d
diff --git a/src/win/graphics/direct/Painter.cpp b/src/platform/graphics/direct2d/Painter.cpp
index 3e8bd5c1..dea3ba03 100644
--- a/src/win/graphics/direct/Painter.cpp
+++ b/src/platform/graphics/direct2d/Painter.cpp
@@ -1,17 +1,17 @@
-#include "cru/win/graphics/direct/Painter.h"
+#include "cru/platform/graphics/direct2d/Painter.h"
#include "cru/common/log/Logger.h"
#include "cru/platform/Check.h"
-#include "cru/win/graphics/direct/Brush.h"
-#include "cru/win/graphics/direct/ConvertUtil.h"
-#include "cru/win/graphics/direct/Exception.h"
-#include "cru/win/graphics/direct/Geometry.h"
-#include "cru/win/graphics/direct/Image.h"
-#include "cru/win/graphics/direct/TextLayout.h"
+#include "cru/platform/graphics/direct2d/Brush.h"
+#include "cru/platform/graphics/direct2d/ConvertUtil.h"
+#include "cru/platform/graphics/direct2d/Exception.h"
+#include "cru/platform/graphics/direct2d/Geometry.h"
+#include "cru/platform/graphics/direct2d/Image.h"
+#include "cru/platform/graphics/direct2d/TextLayout.h"
#include <type_traits>
-namespace cru::platform::graphics::win::direct {
+namespace cru::platform::graphics::direct2d {
D2DDeviceContextPainter::D2DDeviceContextPainter(
ID2D1DeviceContext1* device_context, bool release) {
Expects(device_context);
@@ -180,4 +180,4 @@ void D2DDeviceContextPainter::CheckValidation() {
u"Can't do that on painter after end drawing.");
}
}
-} // namespace cru::platform::graphics::win::direct
+} // namespace cru::platform::graphics::direct2d
diff --git a/src/win/graphics/direct/Resource.cpp b/src/platform/graphics/direct2d/Resource.cpp
index a9c53ee0..b81aa69e 100644
--- a/src/win/graphics/direct/Resource.cpp
+++ b/src/platform/graphics/direct2d/Resource.cpp
@@ -1,8 +1,8 @@
-#include "cru/win/graphics/direct/Resource.h"
+#include "cru/platform/graphics/direct2d/Resource.h"
-#include "cru/win/graphics/direct/Factory.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
-namespace cru::platform::graphics::win::direct {
+namespace cru::platform::graphics::direct2d {
String DirectResource::kPlatformId = u"Windows Direct";
DirectGraphicsResource::DirectGraphicsResource(DirectGraphicsFactory* factory)
@@ -13,4 +13,4 @@ DirectGraphicsResource::DirectGraphicsResource(DirectGraphicsFactory* factory)
IGraphicsFactory* DirectGraphicsResource::GetGraphicsFactory() {
return factory_;
}
-} // namespace cru::platform::graphics::win::direct
+} // namespace cru::platform::graphics::direct2d
diff --git a/src/win/graphics/direct/TextLayout.cpp b/src/platform/graphics/direct2d/TextLayout.cpp
index ffef5e0c..5bc392de 100644
--- a/src/win/graphics/direct/TextLayout.cpp
+++ b/src/platform/graphics/direct2d/TextLayout.cpp
@@ -1,15 +1,15 @@
-#include "cru/win/graphics/direct/TextLayout.h"
+#include "cru/platform/graphics/direct2d/TextLayout.h"
#include <dwrite.h>
#include "cru/common/log/Logger.h"
#include "cru/platform/Check.h"
-#include "cru/win/graphics/direct/Exception.h"
-#include "cru/win/graphics/direct/Factory.h"
-#include "cru/win/graphics/direct/Font.h"
+#include "cru/platform/graphics/direct2d/Exception.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
+#include "cru/platform/graphics/direct2d/Font.h"
#include <utility>
-namespace cru::platform::graphics::win::direct {
+namespace cru::platform::graphics::direct2d {
DWriteTextLayout::DWriteTextLayout(DirectGraphicsFactory* factory,
std::shared_ptr<IFont> font, String text)
: DirectGraphicsResource(factory), text_(std::move(text)) {
@@ -159,4 +159,4 @@ TextHitTestResult DWriteTextLayout::HitTest(const Point& point) {
result.trailing = trailing != 0;
return result;
}
-} // namespace cru::platform::graphics::win::direct
+} // namespace cru::platform::graphics::direct2d
diff --git a/src/platform/graphics/direct2d/WindowPainter.cpp b/src/platform/graphics/direct2d/WindowPainter.cpp
new file mode 100644
index 00000000..c950a2b6
--- /dev/null
+++ b/src/platform/graphics/direct2d/WindowPainter.cpp
@@ -0,0 +1,15 @@
+#include "cru/platform/graphics/direct2d/WindowPainter.h"
+
+#include "cru/platform/graphics/direct2d/Exception.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
+#include "cru/platform/graphics/direct2d/WindowRenderTarget.h"
+
+namespace cru::platform::graphics::direct2d {
+D2DWindowPainter::D2DWindowPainter(D2DWindowRenderTarget* render_target)
+ : D2DDeviceContextPainter(render_target->GetD2D1DeviceContext()),
+ render_target_(render_target) {}
+
+D2DWindowPainter::~D2DWindowPainter() {}
+
+void D2DWindowPainter::DoEndDraw() { render_target_->Present(); }
+} // namespace cru::platform::graphics::direct2d
diff --git a/src/win/graphics/direct/WindowRenderTarget.cpp b/src/platform/graphics/direct2d/WindowRenderTarget.cpp
index 9cbce6a3..0227f084 100644
--- a/src/win/graphics/direct/WindowRenderTarget.cpp
+++ b/src/platform/graphics/direct2d/WindowRenderTarget.cpp
@@ -1,9 +1,9 @@
-#include "cru/win/graphics/direct/WindowRenderTarget.h"
+#include "cru/platform/graphics/direct2d/WindowRenderTarget.h"
-#include "cru/win/graphics/direct/Exception.h"
-#include "cru/win/graphics/direct/Factory.h"
+#include "cru/platform/graphics/direct2d/Exception.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
-namespace cru::platform::graphics::win::direct {
+namespace cru::platform::graphics::direct2d {
D2DWindowRenderTarget::D2DWindowRenderTarget(
gsl::not_null<DirectGraphicsFactory*> factory, HWND hwnd)
: factory_(factory), hwnd_(hwnd) {
@@ -78,4 +78,4 @@ void D2DWindowRenderTarget::CreateTargetBitmap() {
d2d1_device_context_->SetTarget(target_bitmap_.Get());
}
-} // namespace cru::platform::graphics::win::direct
+} // namespace cru::platform::graphics::direct2d
diff --git a/src/win/gui/CMakeLists.txt b/src/platform/gui/win/CMakeLists.txt
index 4a27ffb6..4a27ffb6 100644
--- a/src/win/gui/CMakeLists.txt
+++ b/src/platform/gui/win/CMakeLists.txt
diff --git a/src/win/gui/Clipboard.cpp b/src/platform/gui/win/Clipboard.cpp
index 6eab903c..26850d3d 100644
--- a/src/win/gui/Clipboard.cpp
+++ b/src/platform/gui/win/Clipboard.cpp
@@ -1,7 +1,7 @@
-#include "cru/win/gui/Clipboard.h"
+#include "cru/platform/gui/win/Clipboard.h"
#include "cru/common/log/Logger.h"
-#include "cru/win/gui/GodWindow.h"
-#include "cru/win/gui/UiApplication.h"
+#include "cru/platform/gui/win/GodWindow.h"
+#include "cru/platform/gui/win/UiApplication.h"
namespace cru::platform::gui::win {
WinClipboard::WinClipboard(WinUiApplication* application)
diff --git a/src/win/gui/Cursor.cpp b/src/platform/gui/win/Cursor.cpp
index d85ba565..c2efff1b 100644
--- a/src/win/gui/Cursor.cpp
+++ b/src/platform/gui/win/Cursor.cpp
@@ -1,7 +1,7 @@
-#include "cru/win/gui/Cursor.h"
+#include "cru/platform/gui/win/Cursor.h"
#include "cru/common/log/Logger.h"
-#include "cru/win/gui/Exception.h"
+#include "cru/platform/gui/win/Exception.h"
#include <stdexcept>
diff --git a/src/win/gui/GodWindow.cpp b/src/platform/gui/win/GodWindow.cpp
index 4416870f..4a062369 100644
--- a/src/win/gui/GodWindow.cpp
+++ b/src/platform/gui/win/GodWindow.cpp
@@ -1,9 +1,9 @@
-#include "cru/win/gui/GodWindow.h"
+#include "cru/platform/gui/win/GodWindow.h"
#include "cru/common/log/Logger.h"
-#include "cru/win/gui/Exception.h"
-#include "cru/win/gui/UiApplication.h"
-#include "cru/win/gui/WindowClass.h"
+#include "cru/platform/gui/win/Exception.h"
+#include "cru/platform/gui/win/UiApplication.h"
+#include "cru/platform/gui/win/WindowClass.h"
namespace cru::platform::gui::win {
constexpr auto god_window_class_name = L"GodWindowClass";
diff --git a/src/win/gui/InputMethod.cpp b/src/platform/gui/win/InputMethod.cpp
index 8a54577b..d9c179ad 100644
--- a/src/win/gui/InputMethod.cpp
+++ b/src/platform/gui/win/InputMethod.cpp
@@ -1,11 +1,11 @@
-#include "cru/win/gui/InputMethod.h"
+#include "cru/platform/gui/win/InputMethod.h"
-#include "cru/common/log/Logger.h"
#include "cru/common/StringUtil.h"
+#include "cru/common/log/Logger.h"
#include "cru/platform/Check.h"
#include "cru/platform/gui/DebugFlags.h"
-#include "cru/win/Exception.h"
-#include "cru/win/gui/Window.h"
+#include "cru/platform/gui/win/Exception.h"
+#include "cru/platform/gui/win/Window.h"
#include <vector>
@@ -201,8 +201,7 @@ void WinInputMethodContext::SetCandidateWindowPosition(const Point& point) {
form.ptCurrentPos = native_window_->DipToPixel(point);
if (!::ImmSetCandidateWindow(himc.Get(), &form))
- CRU_LOG_DEBUG(
- u"Failed to set input method candidate window position.");
+ CRU_LOG_DEBUG(u"Failed to set input method candidate window position.");
}
IEvent<std::nullptr_t>* WinInputMethodContext::CompositionStartEvent() {
@@ -230,8 +229,8 @@ void WinInputMethodContext::OnWindowNativeMessage(
// should only trigger ascci character. If it is a charater from
// supplementary planes, it should be handled with ime messages.
CRU_LOG_WARN(
- u"A WM_CHAR message for character from supplementary "
- u"planes is ignored.");
+ u"A WM_CHAR message for character from supplementary "
+ u"planes is ignored.");
} else {
if (c != '\b') { // ignore backspace
if (c == '\r') c = '\n'; // Change \r to \n
diff --git a/src/win/gui/Keyboard.cpp b/src/platform/gui/win/Keyboard.cpp
index 124d6109..85a6576a 100644
--- a/src/win/gui/Keyboard.cpp
+++ b/src/platform/gui/win/Keyboard.cpp
@@ -1,4 +1,4 @@
-#include "cru/win/gui/Keyboard.h"
+#include "cru/platform/gui/win/Keyboard.h"
namespace cru::platform::gui::win {
KeyCode VirtualKeyToKeyCode(int virtual_key) {
diff --git a/src/win/gui/Resource.cpp b/src/platform/gui/win/Resource.cpp
index f45c5df5..45189464 100644
--- a/src/win/gui/Resource.cpp
+++ b/src/platform/gui/win/Resource.cpp
@@ -1,5 +1,5 @@
-#include "cru/win/gui/Resource.h"
-#include "cru/win/gui/Window.h"
+#include "cru/platform/gui/win/Resource.h"
+#include "cru/platform/gui/win/Window.h"
namespace cru::platform::gui::win {
String WinNativeResource::kPlatformId = u"Windows";
diff --git a/src/win/gui/TimerManager.cpp b/src/platform/gui/win/TimerManager.cpp
index a09ee0bf..1bc32b51 100644
--- a/src/win/gui/TimerManager.cpp
+++ b/src/platform/gui/win/TimerManager.cpp
@@ -1,7 +1,7 @@
#include "TimerManager.h"
-#include "cru/win/gui/Base.h"
-#include "cru/win/gui/Exception.h"
+#include "cru/platform/gui/win/Base.h"
+#include "cru/platform/gui/win/Exception.h"
#include <functional>
#include <type_traits>
diff --git a/src/win/gui/TimerManager.h b/src/platform/gui/win/TimerManager.h
index c44bd5bd..21c00690 100644
--- a/src/win/gui/TimerManager.h
+++ b/src/platform/gui/win/TimerManager.h
@@ -1,10 +1,10 @@
#pragma once
#include "cru/common/Event.h"
-#include "cru/win/WinPreConfig.h"
+#include "cru/platform/win/WinPreConfig.h"
#include "cru/common/Base.h"
-#include "cru/win/gui/GodWindow.h"
-#include "cru/win/gui/WindowNativeMessageEventArgs.h"
+#include "cru/platform/gui/win/GodWindow.h"
+#include "cru/platform/gui/win/WindowNativeMessageEventArgs.h"
#include <chrono>
#include <functional>
diff --git a/src/win/gui/UiApplication.cpp b/src/platform/gui/win/UiApplication.cpp
index 1c9321b6..90eb20ca 100644
--- a/src/win/gui/UiApplication.cpp
+++ b/src/platform/gui/win/UiApplication.cpp
@@ -1,17 +1,17 @@
-#include "cru/win/gui/UiApplication.h"
+#include "cru/platform/gui/win/UiApplication.h"
#include "TimerManager.h"
#include "WindowManager.h"
#include "cru/common/log/Logger.h"
#include "cru/platform/Check.h"
-#include "cru/win/graphics/direct/Factory.h"
-#include "cru/win/gui/Base.h"
-#include "cru/win/gui/Clipboard.h"
-#include "cru/win/gui/Cursor.h"
-#include "cru/win/gui/Exception.h"
-#include "cru/win/gui/GodWindow.h"
-#include "cru/win/gui/InputMethod.h"
-#include "cru/win/gui/Window.h"
+#include "cru/platform/graphics/direct2d/Factory.h"
+#include "cru/platform/gui/win/Base.h"
+#include "cru/platform/gui/win/Clipboard.h"
+#include "cru/platform/gui/win/Cursor.h"
+#include "cru/platform/gui/win/Exception.h"
+#include "cru/platform/gui/win/GodWindow.h"
+#include "cru/platform/gui/win/InputMethod.h"
+#include "cru/platform/gui/win/Window.h"
namespace cru::platform::gui {
std::unique_ptr<IUiApplication> CreateUiApplication() {
@@ -32,7 +32,7 @@ WinUiApplication::WinUiApplication() {
::SetThreadDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE);
graph_factory_ = std::make_unique<
- cru::platform::graphics::win::direct::DirectGraphicsFactory>();
+ cru::platform::graphics::direct2d::DirectGraphicsFactory>();
god_window_ = std::make_unique<GodWindow>(this);
timer_manager_ = std::make_unique<TimerManager>(god_window_.get());
diff --git a/src/win/gui/Window.cpp b/src/platform/gui/win/Window.cpp
index cc2038ec..79ae02e2 100644
--- a/src/win/gui/Window.cpp
+++ b/src/platform/gui/win/Window.cpp
@@ -1,4 +1,4 @@
-#include "cru/win/gui/Window.h"
+#include "cru/platform/gui/win/Window.h"
#include "WindowManager.h"
#include "cru/common/log/Logger.h"
@@ -7,13 +7,13 @@
#include "cru/platform/gui/Base.h"
#include "cru/platform/gui/DebugFlags.h"
#include "cru/platform/gui/Window.h"
-#include "cru/win/graphics/direct/WindowPainter.h"
-#include "cru/win/gui/Cursor.h"
-#include "cru/win/gui/Exception.h"
-#include "cru/win/gui/InputMethod.h"
-#include "cru/win/gui/Keyboard.h"
-#include "cru/win/gui/UiApplication.h"
-#include "cru/win/gui/WindowClass.h"
+#include "cru/platform/graphics/direct2d/WindowPainter.h"
+#include "cru/platform/gui/win/Cursor.h"
+#include "cru/platform/gui/win/Exception.h"
+#include "cru/platform/gui/win/InputMethod.h"
+#include "cru/platform/gui/win/Keyboard.h"
+#include "cru/platform/gui/win/UiApplication.h"
+#include "cru/platform/gui/win/WindowClass.h"
#include <windowsx.h>
#include <winuser.h>
@@ -217,7 +217,7 @@ void WinNativeWindow::RequestRepaint() {
std::unique_ptr<graphics::IPainter> WinNativeWindow::BeginPaint() {
if (hwnd_)
- return std::make_unique<graphics::win::direct::D2DWindowPainter>(
+ return std::make_unique<graphics::direct2d::D2DWindowPainter>(
window_render_target_.get());
else
return std::make_unique<graphics::NullPainter>();
@@ -487,7 +487,7 @@ void WinNativeWindow::RecreateWindow() {
::SetWindowTextW(hwnd_, title_.WinCStr());
window_render_target_ =
- std::make_unique<graphics::win::direct::D2DWindowRenderTarget>(
+ std::make_unique<graphics::direct2d::D2DWindowRenderTarget>(
application_->GetDirectFactory(), hwnd_);
window_render_target_->SetDpi(dpi_, dpi_);
diff --git a/src/win/gui/WindowClass.cpp b/src/platform/gui/win/WindowClass.cpp
index 25229406..cac50eda 100644
--- a/src/win/gui/WindowClass.cpp
+++ b/src/platform/gui/win/WindowClass.cpp
@@ -1,6 +1,6 @@
-#include "cru/win/gui/WindowClass.h"
+#include "cru/platform/gui/win/WindowClass.h"
-#include "cru/win/gui/Exception.h"
+#include "cru/platform/gui/win/Exception.h"
namespace cru::platform::gui::win {
WindowClass::WindowClass(std::wstring name, WNDPROC window_proc,
diff --git a/src/win/gui/WindowManager.cpp b/src/platform/gui/win/WindowManager.cpp
index 1e0f797a..ac172dda 100644
--- a/src/win/gui/WindowManager.cpp
+++ b/src/platform/gui/win/WindowManager.cpp
@@ -1,8 +1,8 @@
#include "WindowManager.h"
-#include "cru/win/gui/UiApplication.h"
-#include "cru/win/gui/Window.h"
-#include "cru/win/gui/WindowClass.h"
+#include "cru/platform/gui/win/UiApplication.h"
+#include "cru/platform/gui/win/Window.h"
+#include "cru/platform/gui/win/WindowClass.h"
namespace cru::platform::gui::win {
LRESULT __stdcall GeneralWndProc(HWND hWnd, UINT Msg, WPARAM wParam,
diff --git a/src/win/gui/WindowManager.h b/src/platform/gui/win/WindowManager.h
index dba3f0a6..afc4a5f5 100644
--- a/src/win/gui/WindowManager.h
+++ b/src/platform/gui/win/WindowManager.h
@@ -1,5 +1,5 @@
#pragma once
-#include "cru/win/WinPreConfig.h"
+#include "cru/platform/win/WinPreConfig.h"
#include "cru/common/Base.h"
diff --git a/src/win/CMakeLists.txt b/src/platform/win/CMakeLists.txt
index 607d8b61..c561f96f 100644
--- a/src/win/CMakeLists.txt
+++ b/src/platform/win/CMakeLists.txt
@@ -4,6 +4,3 @@ add_library(CruWinBase SHARED
target_compile_definitions(CruWinBase PUBLIC UNICODE _UNICODE) # use unicode
target_compile_definitions(CruWinBase PRIVATE CRU_WIN_EXPORT_API)
target_link_libraries(CruWinBase PUBLIC CruBase)
-
-add_subdirectory(graphics)
-add_subdirectory(gui)
diff --git a/src/win/ForDllExport.cpp b/src/platform/win/ForDllExport.cpp
index e49a3626..c177c481 100644
--- a/src/win/ForDllExport.cpp
+++ b/src/platform/win/ForDllExport.cpp
@@ -1,4 +1,4 @@
-#include "cru/win/Base.h"
+#include "cru/platform/win/Base.h"
namespace cru::platform::win {
CRU_WIN_API void Dummy() {}
diff --git a/src/win/graphics/CMakeLists.txt b/src/win/graphics/CMakeLists.txt
deleted file mode 100644
index c90537ac..00000000
--- a/src/win/graphics/CMakeLists.txt
+++ /dev/null
@@ -1 +0,0 @@
-add_subdirectory(direct)
diff --git a/src/win/graphics/direct/WindowPainter.cpp b/src/win/graphics/direct/WindowPainter.cpp
deleted file mode 100644
index c0808887..00000000
--- a/src/win/graphics/direct/WindowPainter.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "cru/win/graphics/direct/WindowPainter.h"
-
-#include "cru/win/graphics/direct/Exception.h"
-#include "cru/win/graphics/direct/Factory.h"
-#include "cru/win/graphics/direct/WindowRenderTarget.h"
-
-namespace cru::platform::graphics::win::direct {
-D2DWindowPainter::D2DWindowPainter(D2DWindowRenderTarget* render_target)
- : D2DDeviceContextPainter(render_target->GetD2D1DeviceContext()),
- render_target_(render_target) {}
-
-D2DWindowPainter::~D2DWindowPainter() {}
-
-void D2DWindowPainter::DoEndDraw() { render_target_->Present(); }
-} // namespace cru::platform::graphics::win::direct