diff options
| author | Yuqian Yang <crupest@crupest.life> | 2025-11-03 19:49:41 +0800 |
|---|---|---|
| committer | Yuqian Yang <crupest@crupest.life> | 2025-11-03 19:49:41 +0800 |
| commit | 5b46d14997c2ff2244f303216e4e286665ac8a42 (patch) | |
| tree | 4afc73dde8537a72184ad58058c5903c4a0492aa /include/cru/platform/graphics | |
| parent | d740f0b4d21d1ae45e9d17b70d9cdc82bda709c7 (diff) | |
| download | cru-5b46d14997c2ff2244f303216e4e286665ac8a42.tar.gz cru-5b46d14997c2ff2244f303216e4e286665ac8a42.tar.bz2 cru-5b46d14997c2ff2244f303216e4e286665ac8a42.zip | |
Merge platform/Resource.h to Base.h.
Diffstat (limited to 'include/cru/platform/graphics')
24 files changed, 67 insertions, 74 deletions
diff --git a/include/cru/platform/graphics/Base.h b/include/cru/platform/graphics/Base.h index c3381394..7f12dbef 100644 --- a/include/cru/platform/graphics/Base.h +++ b/include/cru/platform/graphics/Base.h @@ -32,4 +32,8 @@ struct TextHitTestResult { bool trailing; bool inside_text; }; + +struct CRU_PLATFORM_GRAPHICS_API IGraphicsResource : virtual IPlatformResource { + virtual IGraphicsFactory* GetGraphicsFactory() = 0; +}; } // namespace cru::platform::graphics diff --git a/include/cru/platform/graphics/Brush.h b/include/cru/platform/graphics/Brush.h index 6f4a6902..177de768 100644 --- a/include/cru/platform/graphics/Brush.h +++ b/include/cru/platform/graphics/Brush.h @@ -1,5 +1,5 @@ #pragma once -#include "Resource.h" +#include "Base.h" namespace cru::platform::graphics { struct CRU_PLATFORM_GRAPHICS_API IBrush : virtual IGraphicsResource {}; diff --git a/include/cru/platform/graphics/Font.h b/include/cru/platform/graphics/Font.h index de24222c..923d581c 100644 --- a/include/cru/platform/graphics/Font.h +++ b/include/cru/platform/graphics/Font.h @@ -1,5 +1,5 @@ #pragma once -#include "Resource.h" +#include "Base.h" #include <string> diff --git a/include/cru/platform/graphics/Geometry.h b/include/cru/platform/graphics/Geometry.h index 2b251495..ef661f2a 100644 --- a/include/cru/platform/graphics/Geometry.h +++ b/include/cru/platform/graphics/Geometry.h @@ -1,5 +1,5 @@ #pragma once -#include "Resource.h" +#include "Base.h" #include <memory> diff --git a/include/cru/platform/graphics/Image.h b/include/cru/platform/graphics/Image.h index 17d2170e..22c011ef 100644 --- a/include/cru/platform/graphics/Image.h +++ b/include/cru/platform/graphics/Image.h @@ -1,5 +1,5 @@ #pragma once -#include "Resource.h" +#include "Base.h" namespace cru::platform::graphics { struct CRU_PLATFORM_GRAPHICS_API IImage : public virtual IGraphicsResource { diff --git a/include/cru/platform/graphics/ImageFactory.h b/include/cru/platform/graphics/ImageFactory.h index e7e28143..cb6cf492 100644 --- a/include/cru/platform/graphics/ImageFactory.h +++ b/include/cru/platform/graphics/ImageFactory.h @@ -1,6 +1,7 @@ #pragma once -#include "Resource.h" -#include "cru/base/io/Stream.h" +#include "Base.h" + +#include <cru/base/io/Stream.h> namespace cru::platform::graphics { enum class ImageFormat { Jpeg, Png, Gif }; diff --git a/include/cru/platform/graphics/NullPainter.h b/include/cru/platform/graphics/NullPainter.h index 42c2763e..29ed8a3e 100644 --- a/include/cru/platform/graphics/NullPainter.h +++ b/include/cru/platform/graphics/NullPainter.h @@ -1,6 +1,7 @@ #pragma once #include "Painter.h" -#include "cru/base/Base.h" + +#include <cru/base/Base.h> namespace cru::platform::graphics { class NullPainter : public Object, public virtual IPainter { diff --git a/include/cru/platform/graphics/Painter.h b/include/cru/platform/graphics/Painter.h index 4268133e..de44c7b4 100644 --- a/include/cru/platform/graphics/Painter.h +++ b/include/cru/platform/graphics/Painter.h @@ -1,5 +1,5 @@ #pragma once -#include "Resource.h" +#include "Base.h" namespace cru::platform::graphics { diff --git a/include/cru/platform/graphics/Resource.h b/include/cru/platform/graphics/Resource.h deleted file mode 100644 index f910ca8a..00000000 --- a/include/cru/platform/graphics/Resource.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once -#include "Base.h" - -#include <cru/platform/Resource.h> - -namespace cru::platform::graphics { -struct IGraphicsFactory; - -struct CRU_PLATFORM_GRAPHICS_API IGraphicsResource : virtual IPlatformResource { - virtual IGraphicsFactory* GetGraphicsFactory() = 0; -}; -} // namespace cru::platform::graphics diff --git a/include/cru/platform/graphics/SvgGeometryBuilderMixin.h b/include/cru/platform/graphics/SvgGeometryBuilderMixin.h index 586872b0..f88783c2 100644 --- a/include/cru/platform/graphics/SvgGeometryBuilderMixin.h +++ b/include/cru/platform/graphics/SvgGeometryBuilderMixin.h @@ -1,5 +1,4 @@ #pragma once - #include "Geometry.h" #include <format> diff --git a/include/cru/platform/graphics/TextLayout.h b/include/cru/platform/graphics/TextLayout.h index 4c5302eb..90d2d044 100644 --- a/include/cru/platform/graphics/TextLayout.h +++ b/include/cru/platform/graphics/TextLayout.h @@ -1,5 +1,5 @@ #pragma once -#include "Resource.h" +#include "Base.h" #include <string> #include <vector> diff --git a/include/cru/platform/graphics/cairo/Base.h b/include/cru/platform/graphics/cairo/Base.h index a776f90c..4338d7f7 100644 --- a/include/cru/platform/graphics/cairo/Base.h +++ b/include/cru/platform/graphics/cairo/Base.h @@ -1,5 +1,9 @@ #pragma once +#include <cru/platform/graphics/Base.h> + +#include <cairo/cairo.h> + #ifdef CRU_PLATFORM_WINDOWS #ifdef CRU_PLATFORM_GRAPHICS_CAIRO_EXPORT_API #define CRU_PLATFORM_GRAPHICS_CAIRO_API __declspec(dllexport) @@ -10,12 +14,29 @@ #define CRU_PLATFORM_GRAPHICS_CAIRO_API #endif -#include <cairo/cairo.h> - -#include "../Base.h" - namespace cru::platform::graphics::cairo { cairo_matrix_t CRU_PLATFORM_GRAPHICS_CAIRO_API Convert(const Matrix& matrix); Matrix CRU_PLATFORM_GRAPHICS_CAIRO_API Convert(const cairo_matrix_t* matrix); Matrix CRU_PLATFORM_GRAPHICS_CAIRO_API Convert(const cairo_matrix_t& matrix); + +class CairoGraphicsFactory; + +class CRU_PLATFORM_GRAPHICS_CAIRO_API CairoResource + : public Object, + public virtual IGraphicsResource { + public: + explicit CairoResource(CairoGraphicsFactory* factory); + + CRU_DELETE_COPY(CairoResource) + CRU_DELETE_MOVE(CairoResource) + + ~CairoResource() override; + + std::string GetPlatformId() const override; + IGraphicsFactory* GetGraphicsFactory() override; + CairoGraphicsFactory* GetCairoGraphicsFactory() const { return factory_; } + + private: + CairoGraphicsFactory* factory_; +}; } // namespace cru::platform::graphics::cairo diff --git a/include/cru/platform/graphics/cairo/CairoBrush.h b/include/cru/platform/graphics/cairo/CairoBrush.h index f2a15e06..0ba0723c 100644 --- a/include/cru/platform/graphics/cairo/CairoBrush.h +++ b/include/cru/platform/graphics/cairo/CairoBrush.h @@ -1,6 +1,7 @@ #pragma once -#include "CairoResource.h" -#include "cru/platform/graphics/Brush.h" +#include "Base.h" + +#include <cru/platform/graphics/Brush.h> #include <cairo/cairo.h> diff --git a/include/cru/platform/graphics/cairo/CairoGeometry.h b/include/cru/platform/graphics/cairo/CairoGeometry.h index b1c31a18..1d69ebf2 100644 --- a/include/cru/platform/graphics/cairo/CairoGeometry.h +++ b/include/cru/platform/graphics/cairo/CairoGeometry.h @@ -1,6 +1,7 @@ #pragma once -#include "CairoResource.h" -#include "cru/platform/graphics/Geometry.h" +#include "Base.h" + +#include <cru/platform/graphics/Geometry.h> #include <cairo/cairo.h> diff --git a/include/cru/platform/graphics/cairo/CairoGraphicsFactory.h b/include/cru/platform/graphics/cairo/CairoGraphicsFactory.h index 563c6b40..545992fb 100644 --- a/include/cru/platform/graphics/cairo/CairoGraphicsFactory.h +++ b/include/cru/platform/graphics/cairo/CairoGraphicsFactory.h @@ -1,7 +1,8 @@ #pragma once -#include "../Factory.h" -#include "CairoResource.h" +#include "Base.h" + +#include <cru/platform/graphics/Factory.h> #include <cairo/cairo.h> #include <pango/pango.h> diff --git a/include/cru/platform/graphics/cairo/CairoImage.h b/include/cru/platform/graphics/cairo/CairoImage.h index 61a2e65b..77209803 100644 --- a/include/cru/platform/graphics/cairo/CairoImage.h +++ b/include/cru/platform/graphics/cairo/CairoImage.h @@ -1,6 +1,7 @@ #pragma once -#include "../Image.h" -#include "CairoResource.h" +#include "Base.h" + +#include <cru/platform/graphics/Image.h> namespace cru::platform::graphics::cairo { class CRU_PLATFORM_GRAPHICS_CAIRO_API CairoImage : public CairoResource, diff --git a/include/cru/platform/graphics/cairo/CairoImageFactory.h b/include/cru/platform/graphics/cairo/CairoImageFactory.h index 6bc41309..c8f94a01 100644 --- a/include/cru/platform/graphics/cairo/CairoImageFactory.h +++ b/include/cru/platform/graphics/cairo/CairoImageFactory.h @@ -1,6 +1,7 @@ #pragma once -#include "../ImageFactory.h" -#include "CairoResource.h" +#include "Base.h" + +#include <cru/platform/graphics/ImageFactory.h> namespace cru::platform::graphics::cairo { class CairoImageFactory : public CairoResource, public virtual IImageFactory { diff --git a/include/cru/platform/graphics/cairo/CairoPainter.h b/include/cru/platform/graphics/cairo/CairoPainter.h index 1c071fb0..0833e42b 100644 --- a/include/cru/platform/graphics/cairo/CairoPainter.h +++ b/include/cru/platform/graphics/cairo/CairoPainter.h @@ -1,7 +1,8 @@ #pragma once +#include "Base.h" + #include <cru/base/Base.h> -#include "../Painter.h" -#include "CairoResource.h" +#include <cru/platform/graphics/Painter.h> #include <vector> diff --git a/include/cru/platform/graphics/cairo/CairoResource.h b/include/cru/platform/graphics/cairo/CairoResource.h deleted file mode 100644 index 14730e8a..00000000 --- a/include/cru/platform/graphics/cairo/CairoResource.h +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once -#include "Base.h" - -#include "../Resource.h" - -namespace cru::platform::graphics::cairo { -class CairoGraphicsFactory; - -class CRU_PLATFORM_GRAPHICS_CAIRO_API CairoResource - : public Object, - public virtual IGraphicsResource { - public: - explicit CairoResource(CairoGraphicsFactory* factory); - - CRU_DELETE_COPY(CairoResource) - CRU_DELETE_MOVE(CairoResource) - - ~CairoResource() override; - - std::string GetPlatformId() const override; - IGraphicsFactory* GetGraphicsFactory() override; - CairoGraphicsFactory* GetCairoGraphicsFactory() const { return factory_; } - - private: - CairoGraphicsFactory* factory_; -}; -} // namespace cru::platform::graphics::cairo diff --git a/include/cru/platform/graphics/cairo/PangoFont.h b/include/cru/platform/graphics/cairo/PangoFont.h index e8dbf3ec..e06cbc71 100644 --- a/include/cru/platform/graphics/cairo/PangoFont.h +++ b/include/cru/platform/graphics/cairo/PangoFont.h @@ -1,7 +1,7 @@ #pragma once +#include "Base.h" -#include "../Font.h" -#include "CairoResource.h" +#include <cru/platform/graphics/Font.h> #include <pango/pango.h> diff --git a/include/cru/platform/graphics/cairo/PangoTextLayout.h b/include/cru/platform/graphics/cairo/PangoTextLayout.h index 270022ee..0ef900d0 100644 --- a/include/cru/platform/graphics/cairo/PangoTextLayout.h +++ b/include/cru/platform/graphics/cairo/PangoTextLayout.h @@ -1,8 +1,9 @@ #pragma once -#include "../TextLayout.h" -#include "CairoResource.h" +#include "Base.h" #include "PangoFont.h" +#include <cru/platform/graphics/TextLayout.h> + #include <pango/pango.h> namespace cru::platform::graphics::cairo { diff --git a/include/cru/platform/graphics/direct2d/Resource.h b/include/cru/platform/graphics/direct2d/Resource.h index 63459294..ca67a463 100644 --- a/include/cru/platform/graphics/direct2d/Resource.h +++ b/include/cru/platform/graphics/direct2d/Resource.h @@ -1,7 +1,7 @@ #pragma once #include "Base.h" -#include "cru/platform/graphics/Resource.h" +#include "cru/platform/graphics/Base.h" #include <string_view> diff --git a/include/cru/platform/graphics/quartz/Resource.h b/include/cru/platform/graphics/quartz/Resource.h index 23fe6fa9..f683e5ad 100644 --- a/include/cru/platform/graphics/quartz/Resource.h +++ b/include/cru/platform/graphics/quartz/Resource.h @@ -1,6 +1,5 @@ #pragma once #include "cru/platform/graphics/Base.h" -#include "cru/platform/graphics/Resource.h" #include "cru/platform/osx/Resource.h" namespace cru::platform::graphics::quartz { diff --git a/include/cru/platform/graphics/web_canvas/WebCanvasResource.h b/include/cru/platform/graphics/web_canvas/WebCanvasResource.h index 6c8087d0..e3866f38 100644 --- a/include/cru/platform/graphics/web_canvas/WebCanvasResource.h +++ b/include/cru/platform/graphics/web_canvas/WebCanvasResource.h @@ -1,14 +1,14 @@ #pragma once #include "cru/base/Base.h" -#include "cru/platform/Resource.h" +#include "cru/platform/Base.h" namespace cru::platform::graphics::web_canvas { class WebCanvasGraphicsFactory; class WebCanvasResource : public Object, public virtual IPlatformResource { public: - static const String kPlatformId; + static const std::string kPlatformId; explicit WebCanvasResource(WebCanvasGraphicsFactory* factory); @@ -18,7 +18,7 @@ class WebCanvasResource : public Object, public virtual IPlatformResource { ~WebCanvasResource() override; public: - String GetPlatformId() const override; + std::string GetPlatformId() const override; WebCanvasGraphicsFactory* GetFactory() const { return factory_; } |
