diff options
author | crupest <crupest@outlook.com> | 2022-05-15 13:56:40 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-05-15 13:56:40 +0800 |
commit | 9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752 (patch) | |
tree | 7342f6991771fa31b16fd6a5ed892ff6025f3d05 | |
parent | 41de54bad2c0f857821fcc83f41af3334d068b6d (diff) | |
download | cru-9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752.tar.gz cru-9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752.tar.bz2 cru-9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752.zip |
...
-rw-r--r-- | include/cru/platform/graphics/direct2d/Base.h (renamed from include/cru/win/graphics/direct/Base.h) | 2 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/Brush.h (renamed from include/cru/win/graphics/direct/Brush.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/ComResource.h (renamed from include/cru/win/graphics/direct/ComResource.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/ConvertUtil.h (renamed from include/cru/win/graphics/direct/ConvertUtil.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/Exception.h | 7 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/Factory.h (renamed from include/cru/win/graphics/direct/Factory.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/Font.h (renamed from include/cru/win/graphics/direct/Font.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/Geometry.h (renamed from include/cru/win/graphics/direct/Geometry.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/Image.h (renamed from include/cru/win/graphics/direct/Image.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/ImageFactory.h (renamed from include/cru/win/graphics/direct/ImageFactory.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/Painter.h (renamed from include/cru/win/graphics/direct/Painter.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/Resource.h (renamed from include/cru/win/graphics/direct/Resource.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/TextLayout.h (renamed from include/cru/win/graphics/direct/TextLayout.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/WindowPainter.h (renamed from include/cru/win/graphics/direct/WindowPainter.h) | 6 | ||||
-rw-r--r-- | include/cru/platform/graphics/direct2d/WindowRenderTarget.h (renamed from include/cru/win/graphics/direct/WindowRenderTarget.h) | 6 | ||||
-rw-r--r-- | include/cru/platform/gui/win/Base.h (renamed from include/cru/win/gui/Base.h) | 2 | ||||
-rw-r--r-- | include/cru/platform/gui/win/Clipboard.h (renamed from include/cru/win/gui/Clipboard.h) | 2 | ||||
-rw-r--r-- | include/cru/platform/gui/win/Cursor.h (renamed from include/cru/win/gui/Cursor.h) | 0 | ||||
-rw-r--r-- | include/cru/platform/gui/win/Exception.h (renamed from include/cru/win/gui/Exception.h) | 4 | ||||
-rw-r--r-- | include/cru/platform/gui/win/GodWindow.h (renamed from include/cru/win/gui/GodWindow.h) | 0 | ||||
-rw-r--r-- | include/cru/platform/gui/win/InputMethod.h (renamed from include/cru/win/gui/InputMethod.h) | 0 | ||||
-rw-r--r-- | include/cru/platform/gui/win/Keyboard.h (renamed from include/cru/win/gui/Keyboard.h) | 0 | ||||
-rw-r--r-- | include/cru/platform/gui/win/Resource.h (renamed from include/cru/win/gui/Resource.h) | 0 | ||||
-rw-r--r-- | include/cru/platform/gui/win/UiApplication.h (renamed from include/cru/win/gui/UiApplication.h) | 6 | ||||
-rw-r--r-- | include/cru/platform/gui/win/Window.h (renamed from include/cru/win/gui/Window.h) | 6 | ||||
-rw-r--r-- | include/cru/platform/gui/win/WindowClass.h (renamed from include/cru/win/gui/WindowClass.h) | 0 | ||||
-rw-r--r-- | include/cru/platform/gui/win/WindowNativeMessageEventArgs.h (renamed from include/cru/win/gui/WindowNativeMessageEventArgs.h) | 0 | ||||
-rw-r--r-- | include/cru/platform/win/Base.h (renamed from include/cru/win/Base.h) | 0 | ||||
-rw-r--r-- | include/cru/platform/win/Exception.h (renamed from include/cru/win/Exception.h) | 0 | ||||
-rw-r--r-- | include/cru/platform/win/WinPreConfig.h (renamed from include/cru/win/WinPreConfig.h) | 0 | ||||
-rw-r--r-- | include/cru/win/graphics/direct/Exception.h | 7 | ||||
-rw-r--r-- | src/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/platform/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/platform/bootstrap/Bootstrap.cpp | 6 | ||||
-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.cpp | 15 | ||||
-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.txt | 1 | ||||
-rw-r--r-- | src/win/graphics/direct/WindowPainter.cpp | 15 | ||||
-rw-r--r-- | test/win/graphics/direct/ConvertTest.cpp | 4 |
65 files changed, 187 insertions, 188 deletions
diff --git a/include/cru/win/graphics/direct/Base.h b/include/cru/platform/graphics/direct2d/Base.h index 5f6f8c99..a2f6772c 100644 --- a/include/cru/win/graphics/direct/Base.h +++ b/include/cru/platform/graphics/direct2d/Base.h @@ -1,5 +1,5 @@ #pragma once -#include "../../WinPreConfig.h" +#include "cru/platform/win/WinPreConfig.h" #include <d2d1_2.h> #include <d3d11.h> diff --git a/include/cru/win/graphics/direct/Brush.h b/include/cru/platform/graphics/direct2d/Brush.h index fe5321b7..98f9018c 100644 --- a/include/cru/win/graphics/direct/Brush.h +++ b/include/cru/platform/graphics/direct2d/Brush.h @@ -4,7 +4,7 @@ #include "cru/platform/graphics/Brush.h" -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { struct CRU_WIN_GRAPHICS_DIRECT_API ID2DBrush : virtual IBrush { virtual ID2D1Brush* GetD2DBrushInterface() const = 0; }; @@ -37,4 +37,4 @@ class CRU_WIN_GRAPHICS_DIRECT_API D2DSolidColorBrush Microsoft::WRL::ComPtr<ID2D1SolidColorBrush> brush_; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/ComResource.h b/include/cru/platform/graphics/direct2d/ComResource.h index 36023b84..2beb4e20 100644 --- a/include/cru/win/graphics/direct/ComResource.h +++ b/include/cru/platform/graphics/direct2d/ComResource.h @@ -3,9 +3,9 @@ #include "cru/common/Base.h" -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { template <typename TInterface> struct CRU_WIN_GRAPHICS_DIRECT_API IComResource : virtual Interface { virtual TInterface* GetComInterface() const = 0; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/ConvertUtil.h b/include/cru/platform/graphics/direct2d/ConvertUtil.h index 8066a265..66fa37f8 100644 --- a/include/cru/win/graphics/direct/ConvertUtil.h +++ b/include/cru/platform/graphics/direct2d/ConvertUtil.h @@ -3,7 +3,7 @@ #include "cru/platform/graphics/Base.h" -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { inline D2D1_MATRIX_3X2_F Convert(const platform::Matrix& matrix) { D2D1_MATRIX_3X2_F m; m._11 = matrix.m11; @@ -104,4 +104,4 @@ inline bool operator==(const D2D1_ELLIPSE& left, const D2D1_ELLIPSE& right) { inline bool operator!=(const D2D1_ELLIPSE& left, const D2D1_ELLIPSE& right) { return !(left == right); } -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/platform/graphics/direct2d/Exception.h b/include/cru/platform/graphics/direct2d/Exception.h new file mode 100644 index 00000000..9be6f10a --- /dev/null +++ b/include/cru/platform/graphics/direct2d/Exception.h @@ -0,0 +1,7 @@ +#pragma once +#include "cru/platform/win/Exception.h" + +namespace cru::platform::graphics::direct2d { +using platform::win::HResultError; +using platform::win::ThrowIfFailed; +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/Factory.h b/include/cru/platform/graphics/direct2d/Factory.h index 368c68f0..d6c43d9f 100644 --- a/include/cru/win/graphics/direct/Factory.h +++ b/include/cru/platform/graphics/direct2d/Factory.h @@ -7,7 +7,7 @@ #include "cru/platform/graphics/Base.h" #include "cru/platform/graphics/Factory.h" -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { class CRU_WIN_GRAPHICS_DIRECT_API DirectGraphicsFactory : public DirectResource, public virtual IGraphicsFactory { @@ -65,4 +65,4 @@ class CRU_WIN_GRAPHICS_DIRECT_API DirectGraphicsFactory std::unique_ptr<WinImageFactory> image_factory_; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/Font.h b/include/cru/platform/graphics/direct2d/Font.h index 0d0dd28b..841a57b5 100644 --- a/include/cru/win/graphics/direct/Font.h +++ b/include/cru/platform/graphics/direct2d/Font.h @@ -6,7 +6,7 @@ #include <string_view> -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { class CRU_WIN_GRAPHICS_DIRECT_API DWriteFont : public DirectGraphicsResource, public virtual IFont, @@ -32,4 +32,4 @@ class CRU_WIN_GRAPHICS_DIRECT_API DWriteFont String font_family_; Microsoft::WRL::ComPtr<IDWriteTextFormat> text_format_; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/Geometry.h b/include/cru/platform/graphics/direct2d/Geometry.h index 7c231d69..64dbae84 100644 --- a/include/cru/win/graphics/direct/Geometry.h +++ b/include/cru/platform/graphics/direct2d/Geometry.h @@ -4,7 +4,7 @@ #include "cru/platform/graphics/Geometry.h" -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { class CRU_WIN_GRAPHICS_DIRECT_API D2DGeometryBuilder : public DirectGraphicsResource, public virtual IGeometryBuilder { @@ -68,4 +68,4 @@ class CRU_WIN_GRAPHICS_DIRECT_API D2DGeometry private: Microsoft::WRL::ComPtr<ID2D1Geometry> geometry_; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/Image.h b/include/cru/platform/graphics/direct2d/Image.h index bcf2386b..9f3f247f 100644 --- a/include/cru/win/graphics/direct/Image.h +++ b/include/cru/platform/graphics/direct2d/Image.h @@ -2,7 +2,7 @@ #include "Resource.h" #include "cru/platform/graphics/Image.h" -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { class CRU_WIN_GRAPHICS_DIRECT_API Direct2DImage : public DirectGraphicsResource, public virtual IImage { public: @@ -30,4 +30,4 @@ class CRU_WIN_GRAPHICS_DIRECT_API Direct2DImage : public DirectGraphicsResource, Microsoft::WRL::ComPtr<ID2D1Bitmap1> d2d_bitmap_; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/ImageFactory.h b/include/cru/platform/graphics/direct2d/ImageFactory.h index df1def0d..87f6c0ee 100644 --- a/include/cru/win/graphics/direct/ImageFactory.h +++ b/include/cru/platform/graphics/direct2d/ImageFactory.h @@ -4,7 +4,7 @@ #include "cru/platform/graphics/Image.h" #include "cru/platform/graphics/ImageFactory.h" -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { class CRU_WIN_GRAPHICS_DIRECT_API WinImageFactory : public DirectGraphicsResource, public virtual IImageFactory { @@ -27,4 +27,4 @@ class CRU_WIN_GRAPHICS_DIRECT_API WinImageFactory private: Microsoft::WRL::ComPtr<IWICImagingFactory> wic_imaging_factory_; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/Painter.h b/include/cru/platform/graphics/direct2d/Painter.h index da89ba5d..f85d840a 100644 --- a/include/cru/win/graphics/direct/Painter.h +++ b/include/cru/platform/graphics/direct2d/Painter.h @@ -7,7 +7,7 @@ #include <vector> -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { class CRU_WIN_GRAPHICS_DIRECT_API D2DDeviceContextPainter : public DirectResource, public virtual IPainter, @@ -77,4 +77,4 @@ class CRU_WIN_GRAPHICS_DIRECT_API D2DDeviceContextPainter bool release_; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/Resource.h b/include/cru/platform/graphics/direct2d/Resource.h index df558686..6d2f968c 100644 --- a/include/cru/win/graphics/direct/Resource.h +++ b/include/cru/platform/graphics/direct2d/Resource.h @@ -5,7 +5,7 @@ #include <string_view> -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { class DirectGraphicsFactory; class CRU_WIN_GRAPHICS_DIRECT_API DirectResource @@ -49,4 +49,4 @@ class CRU_WIN_GRAPHICS_DIRECT_API DirectGraphicsResource private: DirectGraphicsFactory* factory_; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/TextLayout.h b/include/cru/platform/graphics/direct2d/TextLayout.h index fca5d68f..9f2e75a9 100644 --- a/include/cru/win/graphics/direct/TextLayout.h +++ b/include/cru/platform/graphics/direct2d/TextLayout.h @@ -7,7 +7,7 @@ #include <limits> #include <memory> -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { class DWriteFont; class CRU_WIN_GRAPHICS_DIRECT_API DWriteTextLayout @@ -60,4 +60,4 @@ class CRU_WIN_GRAPHICS_DIRECT_API DWriteTextLayout float max_height_ = std::numeric_limits<float>::max(); Microsoft::WRL::ComPtr<IDWriteTextLayout> text_layout_; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/WindowPainter.h b/include/cru/platform/graphics/direct2d/WindowPainter.h index 67ff91e1..01ff3b32 100644 --- a/include/cru/win/graphics/direct/WindowPainter.h +++ b/include/cru/platform/graphics/direct2d/WindowPainter.h @@ -2,9 +2,9 @@ #include "Painter.h" #include "WindowRenderTarget.h" -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { class CRU_WIN_GRAPHICS_DIRECT_API D2DWindowPainter - : public graphics::win::direct::D2DDeviceContextPainter { + : public graphics::direct2d::D2DDeviceContextPainter { public: explicit D2DWindowPainter(D2DWindowRenderTarget* window); @@ -19,4 +19,4 @@ class CRU_WIN_GRAPHICS_DIRECT_API D2DWindowPainter private: D2DWindowRenderTarget* render_target_; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/graphics/direct/WindowRenderTarget.h b/include/cru/platform/graphics/direct2d/WindowRenderTarget.h index c588f261..c0251880 100644 --- a/include/cru/win/graphics/direct/WindowRenderTarget.h +++ b/include/cru/platform/graphics/direct2d/WindowRenderTarget.h @@ -1,7 +1,7 @@ #pragma once #include "Factory.h" -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { // Represents a window render target. class CRU_WIN_GRAPHICS_DIRECT_API D2DWindowRenderTarget : public Object { public: @@ -14,7 +14,7 @@ class CRU_WIN_GRAPHICS_DIRECT_API D2DWindowRenderTarget : public Object { ~D2DWindowRenderTarget() override = default; public: - graphics::win::direct::DirectGraphicsFactory* GetDirectFactory() const { + graphics::direct2d::DirectGraphicsFactory* GetDirectFactory() const { return factory_; } @@ -40,4 +40,4 @@ class CRU_WIN_GRAPHICS_DIRECT_API D2DWindowRenderTarget : public Object { Microsoft::WRL::ComPtr<IDXGISwapChain1> dxgi_swap_chain_; Microsoft::WRL::ComPtr<ID2D1Bitmap1> target_bitmap_; }; -} // namespace cru::platform::graphics::win::direct +} // namespace cru::platform::graphics::direct2d diff --git a/include/cru/win/gui/Base.h b/include/cru/platform/gui/win/Base.h index ab915c57..78068827 100644 --- a/include/cru/win/gui/Base.h +++ b/include/cru/platform/gui/win/Base.h @@ -1,5 +1,5 @@ #pragma once -#include "../WinPreConfig.h" +#include "cru/platform/win/WinPreConfig.h" #include "cru/common/Base.h" diff --git a/include/cru/win/gui/Clipboard.h b/include/cru/platform/gui/win/Clipboard.h index ef05e0f1..dc4bc9b5 100644 --- a/include/cru/win/gui/Clipboard.h +++ b/include/cru/platform/gui/win/Clipboard.h @@ -2,7 +2,7 @@ #include "Resource.h" #include "cru/common/Base.h" #include "cru/platform/gui/Clipboard.h" -#include "cru/win/gui/Base.h" +#include "cru/platform/gui/win/Base.h" namespace cru::platform::gui::win { class WinClipboard : public WinNativeResource, public virtual IClipboard { diff --git a/include/cru/win/gui/Cursor.h b/include/cru/platform/gui/win/Cursor.h index f9cb0a09..f9cb0a09 100644 --- a/include/cru/win/gui/Cursor.h +++ b/include/cru/platform/gui/win/Cursor.h diff --git a/include/cru/win/gui/Exception.h b/include/cru/platform/gui/win/Exception.h index 99ed5863..a0689075 100644 --- a/include/cru/win/gui/Exception.h +++ b/include/cru/platform/gui/win/Exception.h @@ -1,7 +1,7 @@ #pragma once -#include "../Exception.h" +#include "cru/platform/win/Exception.h" namespace cru::platform::gui::win { -using platform::win::Win32Error; using platform::win::HResultError; +using platform::win::Win32Error; } // namespace cru::platform::gui::win diff --git a/include/cru/win/gui/GodWindow.h b/include/cru/platform/gui/win/GodWindow.h index fe61c80d..fe61c80d 100644 --- a/include/cru/win/gui/GodWindow.h +++ b/include/cru/platform/gui/win/GodWindow.h diff --git a/include/cru/win/gui/InputMethod.h b/include/cru/platform/gui/win/InputMethod.h index 8e28f857..8e28f857 100644 --- a/include/cru/win/gui/InputMethod.h +++ b/include/cru/platform/gui/win/InputMethod.h diff --git a/include/cru/win/gui/Keyboard.h b/include/cru/platform/gui/win/Keyboard.h index 18b37b60..18b37b60 100644 --- a/include/cru/win/gui/Keyboard.h +++ b/include/cru/platform/gui/win/Keyboard.h diff --git a/include/cru/win/gui/Resource.h b/include/cru/platform/gui/win/Resource.h index ed43bec3..ed43bec3 100644 --- a/include/cru/win/gui/Resource.h +++ b/include/cru/platform/gui/win/Resource.h diff --git a/include/cru/win/gui/UiApplication.h b/include/cru/platform/gui/win/UiApplication.h index a4dfcf3d..5abe7356 100644 --- a/include/cru/win/gui/UiApplication.h +++ b/include/cru/platform/gui/win/UiApplication.h @@ -6,7 +6,7 @@ #include <memory> -namespace cru::platform::graphics::win::direct { +namespace cru::platform::graphics::direct2d { class DirectGraphicsFactory; } @@ -52,7 +52,7 @@ class CRU_WIN_GUI_API WinUiApplication : public WinNativeResource, cru::platform::graphics::IGraphicsFactory* GetGraphicsFactory() override; - cru::platform::graphics::win::direct::DirectGraphicsFactory* + cru::platform::graphics::direct2d::DirectGraphicsFactory* GetDirectFactory() { return graph_factory_.get(); } @@ -72,7 +72,7 @@ class CRU_WIN_GUI_API WinUiApplication : public WinNativeResource, bool is_quit_on_all_window_closed_ = true; - std::unique_ptr<cru::platform::graphics::win::direct::DirectGraphicsFactory> + std::unique_ptr<cru::platform::graphics::direct2d::DirectGraphicsFactory> graph_factory_; std::unique_ptr<GodWindow> god_window_; diff --git a/include/cru/win/gui/Window.h b/include/cru/platform/gui/win/Window.h index b279a434..292bdee2 100644 --- a/include/cru/win/gui/Window.h +++ b/include/cru/platform/gui/win/Window.h @@ -4,7 +4,7 @@ #include "WindowNativeMessageEventArgs.h" #include "cru/platform/gui/Base.h" #include "cru/platform/gui/Window.h" -#include "cru/win/graphics/direct/WindowRenderTarget.h" +#include "cru/platform/graphics/direct2d/WindowRenderTarget.h" #include <memory> @@ -105,7 +105,7 @@ class CRU_WIN_GUI_API WinNativeWindow : public WinNativeResource, bool HandleNativeWindowMessage(HWND hwnd, UINT msg, WPARAM w_param, LPARAM l_param, LRESULT* result); - graphics::win::direct::D2DWindowRenderTarget* GetWindowRenderTarget() const { + graphics::direct2d::D2DWindowRenderTarget* GetWindowRenderTarget() const { return window_render_target_.get(); } @@ -191,7 +191,7 @@ class CRU_WIN_GUI_API WinNativeWindow : public WinNativeResource, bool has_focus_ = false; bool is_mouse_in_ = false; - std::unique_ptr<graphics::win::direct::D2DWindowRenderTarget> + std::unique_ptr<graphics::direct2d::D2DWindowRenderTarget> window_render_target_; std::shared_ptr<WinCursor> cursor_; diff --git a/include/cru/win/gui/WindowClass.h b/include/cru/platform/gui/win/WindowClass.h index 50729887..50729887 100644 --- a/include/cru/win/gui/WindowClass.h +++ b/include/cru/platform/gui/win/WindowClass.h diff --git a/include/cru/win/gui/WindowNativeMessageEventArgs.h b/include/cru/platform/gui/win/WindowNativeMessageEventArgs.h index bc85a597..bc85a597 100644 --- a/include/cru/win/gui/WindowNativeMessageEventArgs.h +++ b/include/cru/platform/gui/win/WindowNativeMessageEventArgs.h diff --git a/include/cru/win/Base.h b/include/cru/platform/win/Base.h index 75da7287..75da7287 100644 --- a/include/cru/win/Base.h +++ b/include/cru/platform/win/Base.h diff --git a/include/cru/win/Exception.h b/include/cru/platform/win/Exception.h index af8b495c..af8b495c 100644 --- a/include/cru/win/Exception.h +++ b/include/cru/platform/win/Exception.h diff --git a/include/cru/win/WinPreConfig.h b/include/cru/platform/win/WinPreConfig.h index e714bf5e..e714bf5e 100644 --- a/include/cru/win/WinPreConfig.h +++ b/include/cru/platform/win/WinPreConfig.h diff --git a/include/cru/win/graphics/direct/Exception.h b/include/cru/win/graphics/direct/Exception.h deleted file mode 100644 index 21dde875..00000000 --- a/include/cru/win/graphics/direct/Exception.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once -#include "../../Exception.h" - -namespace cru::platform::graphics::win::direct { -using platform::win::HResultError; -using platform::win::ThrowIfFailed; -} // namespace cru::platform::graphics::win::direct 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 diff --git a/test/win/graphics/direct/ConvertTest.cpp b/test/win/graphics/direct/ConvertTest.cpp index 998c93db..c30bb6a5 100644 --- a/test/win/graphics/direct/ConvertTest.cpp +++ b/test/win/graphics/direct/ConvertTest.cpp @@ -1,12 +1,12 @@ #include "cru/platform/Matrix.h" -#include "cru/win/graphics/direct/ConvertUtil.h" +#include "cru/platform/graphics/direct2d/ConvertUtil.h" #include <catch2/catch_test_macros.hpp> #include "catch2/catch_approx.hpp" using Catch::Approx; using cru::platform::Matrix; -using cru::platform::graphics::win::direct::Convert; +using cru::platform::graphics::direct2d::Convert; TEST_CASE("MatrixConvert Rotation", "[matrix]") { auto matrix = Convert(Matrix::Rotation(90)); |