diff options
Diffstat (limited to 'src/platform/graphics')
| -rw-r--r-- | src/platform/graphics/direct2d/Base.cpp (renamed from src/platform/graphics/direct2d/Resource.cpp) | 7 | ||||
| -rw-r--r-- | src/platform/graphics/direct2d/Brush.cpp | 3 | ||||
| -rw-r--r-- | src/platform/graphics/direct2d/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | src/platform/graphics/direct2d/Factory.cpp | 7 | ||||
| -rw-r--r-- | src/platform/graphics/direct2d/Font.cpp | 2 | ||||
| -rw-r--r-- | src/platform/graphics/direct2d/Geometry.cpp | 4 | ||||
| -rw-r--r-- | src/platform/graphics/direct2d/Image.cpp | 8 | ||||
| -rw-r--r-- | src/platform/graphics/direct2d/ImageFactory.cpp | 2 | ||||
| -rw-r--r-- | src/platform/graphics/direct2d/Painter.cpp | 13 | ||||
| -rw-r--r-- | src/platform/graphics/direct2d/TextLayout.cpp | 4 | ||||
| -rw-r--r-- | src/platform/graphics/direct2d/WindowPainter.cpp | 8 | ||||
| -rw-r--r-- | src/platform/graphics/direct2d/WindowRenderTarget.cpp | 2 |
12 files changed, 21 insertions, 43 deletions
diff --git a/src/platform/graphics/direct2d/Resource.cpp b/src/platform/graphics/direct2d/Base.cpp index 2f1b7654..0dd4a7e1 100644 --- a/src/platform/graphics/direct2d/Resource.cpp +++ b/src/platform/graphics/direct2d/Base.cpp @@ -1,15 +1,18 @@ -#include "cru/platform/graphics/direct2d/Resource.h" +#include "cru/platform/graphics/direct2d/Base.h" #include "cru/platform/graphics/direct2d/Factory.h" namespace cru::platform::graphics::direct2d { -std::string DirectResource::kPlatformId = "Windows Direct"; DirectGraphicsResource::DirectGraphicsResource(DirectGraphicsFactory* factory) : factory_(factory) { Expects(factory); } +std::string DirectGraphicsResource::GetPlatformId() const { + return kPlatformId; +} + IGraphicsFactory* DirectGraphicsResource::GetGraphicsFactory() { return factory_; } diff --git a/src/platform/graphics/direct2d/Brush.cpp b/src/platform/graphics/direct2d/Brush.cpp index 27b76202..7ab35273 100644 --- a/src/platform/graphics/direct2d/Brush.cpp +++ b/src/platform/graphics/direct2d/Brush.cpp @@ -1,7 +1,4 @@ #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/Factory.h" namespace cru::platform::graphics::direct2d { diff --git a/src/platform/graphics/direct2d/CMakeLists.txt b/src/platform/graphics/direct2d/CMakeLists.txt index 4776e773..322c91e9 100644 --- a/src/platform/graphics/direct2d/CMakeLists.txt +++ b/src/platform/graphics/direct2d/CMakeLists.txt @@ -1,4 +1,5 @@ add_library(CruPlatformGraphicsDirect2d + Base.cpp Brush.cpp Font.cpp Geometry.cpp @@ -6,11 +7,10 @@ add_library(CruPlatformGraphicsDirect2d ImageFactory.cpp Factory.cpp Painter.cpp - Resource.cpp TextLayout.cpp WindowPainter.cpp WindowRenderTarget.cpp ) target_link_libraries(CruPlatformGraphicsDirect2d PUBLIC D3D11 D2d1 DWrite) -target_link_libraries(CruPlatformGraphicsDirect2d PUBLIC CruWinBase CruPlatformGraphics) +target_link_libraries(CruPlatformGraphicsDirect2d PUBLIC CruPlatformGraphics) target_compile_definitions(CruPlatformGraphicsDirect2d PRIVATE CRU_WIN_GRAPHICS_DIRECT_EXPORT_API) diff --git a/src/platform/graphics/direct2d/Factory.cpp b/src/platform/graphics/direct2d/Factory.cpp index af3f174d..414ef2ab 100644 --- a/src/platform/graphics/direct2d/Factory.cpp +++ b/src/platform/graphics/direct2d/Factory.cpp @@ -1,19 +1,16 @@ #include "cru/platform/graphics/direct2d/Factory.h" - -#include "cru/base/log/Logger.h" +#include "cru/platform/graphics/direct2d/Base.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::direct2d { -DirectGraphicsFactory::DirectGraphicsFactory() { +DirectGraphicsFactory::DirectGraphicsFactory() : DirectGraphicsResource(this) { // TODO: Detect repeated creation. Because I don't think we can create two d2d // and dwrite factory so we need to prevent the "probably dangerous" behavior. diff --git a/src/platform/graphics/direct2d/Font.cpp b/src/platform/graphics/direct2d/Font.cpp index f8dfbf38..50f7c266 100644 --- a/src/platform/graphics/direct2d/Font.cpp +++ b/src/platform/graphics/direct2d/Font.cpp @@ -1,7 +1,5 @@ #include "cru/platform/graphics/direct2d/Font.h" - #include "cru/base/StringUtil.h" -#include "cru/platform/graphics/direct2d/Exception.h" #include "cru/platform/graphics/direct2d/Factory.h" #include <array> diff --git a/src/platform/graphics/direct2d/Geometry.cpp b/src/platform/graphics/direct2d/Geometry.cpp index 45971b76..89b2cfd9 100644 --- a/src/platform/graphics/direct2d/Geometry.cpp +++ b/src/platform/graphics/direct2d/Geometry.cpp @@ -1,8 +1,4 @@ #include "cru/platform/graphics/direct2d/Geometry.h" - -#include "cru/base/platform/win/Exception.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> diff --git a/src/platform/graphics/direct2d/Image.cpp b/src/platform/graphics/direct2d/Image.cpp index 2f60b373..1c4619b3 100644 --- a/src/platform/graphics/direct2d/Image.cpp +++ b/src/platform/graphics/direct2d/Image.cpp @@ -1,8 +1,4 @@ #include "cru/platform/graphics/direct2d/Image.h" -#include <d2d1_1.h> -#include "cru/base/platform/win/Exception.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" @@ -39,7 +35,7 @@ std::unique_ptr<IImage> Direct2DImage::CreateWithRect(const Rect& rect) { std::unique_ptr<IPainter> Direct2DImage::CreatePainter() { auto device_context = GetDirectFactory()->CreateD2D1DeviceContext(); device_context->SetTarget(d2d_bitmap_.Get()); - return std::make_unique<D2DDeviceContextPainter>(device_context.Detach(), - true); + return std::make_unique<D2DDeviceContextPainter>( + GetDirectFactory(), device_context.Detach(), true); } } // namespace cru::platform::graphics::direct2d diff --git a/src/platform/graphics/direct2d/ImageFactory.cpp b/src/platform/graphics/direct2d/ImageFactory.cpp index df162561..5e667f48 100644 --- a/src/platform/graphics/direct2d/ImageFactory.cpp +++ b/src/platform/graphics/direct2d/ImageFactory.cpp @@ -1,7 +1,5 @@ #include "cru/platform/graphics/direct2d/ImageFactory.h" -#include "cru/base/platform/win/Exception.h" #include "cru/base/platform/win/StreamConvert.h" -#include "cru/platform/graphics/direct2d/Exception.h" #include "cru/platform/graphics/direct2d/Factory.h" #include "cru/platform/graphics/direct2d/Image.h" diff --git a/src/platform/graphics/direct2d/Painter.cpp b/src/platform/graphics/direct2d/Painter.cpp index c62947e0..1744a638 100644 --- a/src/platform/graphics/direct2d/Painter.cpp +++ b/src/platform/graphics/direct2d/Painter.cpp @@ -1,18 +1,16 @@ #include "cru/platform/graphics/direct2d/Painter.h" - #include "cru/base/log/Logger.h" +#include "cru/platform/graphics/direct2d/Base.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::direct2d { D2DDeviceContextPainter::D2DDeviceContextPainter( - ID2D1DeviceContext1* device_context, bool release) { + DirectGraphicsFactory* graphics_factory, + ID2D1DeviceContext1* device_context, bool release) + : DirectGraphicsResource(graphics_factory) { Expects(device_context); device_context_ = device_context; release_ = release; @@ -21,7 +19,8 @@ D2DDeviceContextPainter::D2DDeviceContextPainter( D2DDeviceContextPainter::~D2DDeviceContextPainter() { if (is_drawing_) { - CRU_LOG_TAG_INFO("You may forget to call EndDraw before destroying painter."); + CRU_LOG_TAG_INFO( + "You may forget to call EndDraw before destroying painter."); } if (release_) { diff --git a/src/platform/graphics/direct2d/TextLayout.cpp b/src/platform/graphics/direct2d/TextLayout.cpp index 1abaa383..ce584608 100644 --- a/src/platform/graphics/direct2d/TextLayout.cpp +++ b/src/platform/graphics/direct2d/TextLayout.cpp @@ -1,9 +1,5 @@ #include "cru/platform/graphics/direct2d/TextLayout.h" -#include <dwrite.h> - #include "cru/base/StringUtil.h" -#include "cru/base/log/Logger.h" -#include "cru/platform/graphics/direct2d/Exception.h" #include "cru/platform/graphics/direct2d/Factory.h" #include "cru/platform/graphics/direct2d/Font.h" diff --git a/src/platform/graphics/direct2d/WindowPainter.cpp b/src/platform/graphics/direct2d/WindowPainter.cpp index c950a2b6..b27fa735 100644 --- a/src/platform/graphics/direct2d/WindowPainter.cpp +++ b/src/platform/graphics/direct2d/WindowPainter.cpp @@ -1,12 +1,12 @@ #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()), +D2DWindowPainter::D2DWindowPainter(DirectGraphicsFactory* graphics_factory, + D2DWindowRenderTarget* render_target) + : D2DDeviceContextPainter(graphics_factory, + render_target->GetD2D1DeviceContext(), false), render_target_(render_target) {} D2DWindowPainter::~D2DWindowPainter() {} diff --git a/src/platform/graphics/direct2d/WindowRenderTarget.cpp b/src/platform/graphics/direct2d/WindowRenderTarget.cpp index a8d988f4..51b6ab22 100644 --- a/src/platform/graphics/direct2d/WindowRenderTarget.cpp +++ b/src/platform/graphics/direct2d/WindowRenderTarget.cpp @@ -1,6 +1,4 @@ #include "cru/platform/graphics/direct2d/WindowRenderTarget.h" - -#include "cru/platform/graphics/direct2d/Exception.h" #include "cru/platform/graphics/direct2d/Factory.h" namespace cru::platform::graphics::direct2d { |
