aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-11-03 19:49:41 +0800
committerYuqian Yang <crupest@crupest.life>2025-11-03 19:49:41 +0800
commit5b46d14997c2ff2244f303216e4e286665ac8a42 (patch)
tree4afc73dde8537a72184ad58058c5903c4a0492aa
parentd740f0b4d21d1ae45e9d17b70d9cdc82bda709c7 (diff)
downloadcru-5b46d14997c2ff2244f303216e4e286665ac8a42.tar.gz
cru-5b46d14997c2ff2244f303216e4e286665ac8a42.tar.bz2
cru-5b46d14997c2ff2244f303216e4e286665ac8a42.zip
Merge platform/Resource.h to Base.h.
-rw-r--r--include/cru/platform/Base.h12
-rw-r--r--include/cru/platform/Check.h2
-rw-r--r--include/cru/platform/Resource.h13
-rw-r--r--include/cru/platform/graphics/Base.h4
-rw-r--r--include/cru/platform/graphics/Brush.h2
-rw-r--r--include/cru/platform/graphics/Font.h2
-rw-r--r--include/cru/platform/graphics/Geometry.h2
-rw-r--r--include/cru/platform/graphics/Image.h2
-rw-r--r--include/cru/platform/graphics/ImageFactory.h5
-rw-r--r--include/cru/platform/graphics/NullPainter.h3
-rw-r--r--include/cru/platform/graphics/Painter.h2
-rw-r--r--include/cru/platform/graphics/Resource.h12
-rw-r--r--include/cru/platform/graphics/SvgGeometryBuilderMixin.h1
-rw-r--r--include/cru/platform/graphics/TextLayout.h2
-rw-r--r--include/cru/platform/graphics/cairo/Base.h29
-rw-r--r--include/cru/platform/graphics/cairo/CairoBrush.h5
-rw-r--r--include/cru/platform/graphics/cairo/CairoGeometry.h5
-rw-r--r--include/cru/platform/graphics/cairo/CairoGraphicsFactory.h5
-rw-r--r--include/cru/platform/graphics/cairo/CairoImage.h5
-rw-r--r--include/cru/platform/graphics/cairo/CairoImageFactory.h5
-rw-r--r--include/cru/platform/graphics/cairo/CairoPainter.h5
-rw-r--r--include/cru/platform/graphics/cairo/CairoResource.h27
-rw-r--r--include/cru/platform/graphics/cairo/PangoFont.h4
-rw-r--r--include/cru/platform/graphics/cairo/PangoTextLayout.h5
-rw-r--r--include/cru/platform/graphics/direct2d/Resource.h2
-rw-r--r--include/cru/platform/graphics/quartz/Resource.h1
-rw-r--r--include/cru/platform/graphics/web_canvas/WebCanvasResource.h6
-rw-r--r--include/cru/platform/gui/Base.h1
-rw-r--r--include/cru/platform/gui/sdl/Base.h5
-rw-r--r--include/cru/platform/gui/win/Resource.h2
-rw-r--r--include/cru/platform/gui/xcb/Base.h2
-rw-r--r--include/cru/platform/osx/Resource.h2
-rw-r--r--src/platform/Base.cpp (renamed from src/platform/Resource.cpp)2
-rw-r--r--src/platform/CMakeLists.txt2
-rw-r--r--src/platform/graphics/cairo/Base.cpp15
-rw-r--r--src/platform/graphics/cairo/CMakeLists.txt1
-rw-r--r--src/platform/graphics/cairo/CairoGraphicsFactory.cpp2
-rw-r--r--src/platform/graphics/cairo/CairoImageFactory.cpp2
-rw-r--r--src/platform/graphics/cairo/CairoPainter.cpp2
-rw-r--r--src/platform/graphics/cairo/CairoResource.cpp17
40 files changed, 104 insertions, 119 deletions
diff --git a/include/cru/platform/Base.h b/include/cru/platform/Base.h
index 4bcca380..9a8540f2 100644
--- a/include/cru/platform/Base.h
+++ b/include/cru/platform/Base.h
@@ -1,5 +1,9 @@
#pragma once
+#include <cru/base/Base.h>
+
+#include <string>
+
#ifdef CRU_IS_DLL
#ifdef CRU_PLATFORM_EXPORT_API
#define CRU_PLATFORM_API __declspec(dllexport)
@@ -9,3 +13,11 @@
#else
#define CRU_PLATFORM_API
#endif
+
+
+namespace cru::platform {
+struct CRU_PLATFORM_API IPlatformResource : virtual Interface {
+ virtual std::string GetPlatformId() const = 0;
+ virtual std::string GetDebugString();
+};
+} // namespace cru::platform
diff --git a/include/cru/platform/Check.h b/include/cru/platform/Check.h
index 6b002c0c..5b6cd2be 100644
--- a/include/cru/platform/Check.h
+++ b/include/cru/platform/Check.h
@@ -1,6 +1,6 @@
#pragma once
+#include "Base.h"
#include "Exception.h"
-#include "Resource.h"
#include <memory>
#include <type_traits>
diff --git a/include/cru/platform/Resource.h b/include/cru/platform/Resource.h
deleted file mode 100644
index d49e9bab..00000000
--- a/include/cru/platform/Resource.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#pragma once
-#include "Base.h"
-
-#include <cru/base/Base.h>
-
-#include <string>
-
-namespace cru::platform {
-struct CRU_PLATFORM_API IPlatformResource : virtual Interface {
- virtual std::string GetPlatformId() const = 0;
- virtual std::string GetDebugString();
-};
-} // namespace cru::platform
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_; }
diff --git a/include/cru/platform/gui/Base.h b/include/cru/platform/gui/Base.h
index f8ffbc51..9e4fb3c8 100644
--- a/include/cru/platform/gui/Base.h
+++ b/include/cru/platform/gui/Base.h
@@ -1,6 +1,5 @@
#pragma once
#include <cru/platform/Base.h> // IWYU pragma: export
-#include <cru/platform/Resource.h> // IWYU pragma: export
#ifdef CRU_IS_DLL
#ifdef CRU_PLATFORM_GUI_EXPORT_API
diff --git a/include/cru/platform/gui/sdl/Base.h b/include/cru/platform/gui/sdl/Base.h
index 0de2fd1f..d4b61dbf 100644
--- a/include/cru/platform/gui/sdl/Base.h
+++ b/include/cru/platform/gui/sdl/Base.h
@@ -2,8 +2,7 @@
#pragma once
#include <cru/base/Exception.h>
-
-#include "../../Resource.h"
+#include <cru/platform/Base.h>
namespace cru::platform::gui::sdl {
class SdlResource : public Object, public virtual IPlatformResource {
@@ -21,4 +20,4 @@ class SdlException : public PlatformException {
public:
using PlatformException::PlatformException;
};
-} // namespace cru::platform::gui::xcb
+} // namespace cru::platform::gui::sdl
diff --git a/include/cru/platform/gui/win/Resource.h b/include/cru/platform/gui/win/Resource.h
index 16cde194..2e2a225c 100644
--- a/include/cru/platform/gui/win/Resource.h
+++ b/include/cru/platform/gui/win/Resource.h
@@ -1,7 +1,7 @@
#pragma once
#include "Base.h"
-#include "cru/platform/Resource.h"
+#include <cru/platform/Base.h>
namespace cru::platform::gui::win {
class CRU_WIN_GUI_API WinNativeResource : public Object,
diff --git a/include/cru/platform/gui/xcb/Base.h b/include/cru/platform/gui/xcb/Base.h
index 71007f87..0d72fbaa 100644
--- a/include/cru/platform/gui/xcb/Base.h
+++ b/include/cru/platform/gui/xcb/Base.h
@@ -1,7 +1,7 @@
#pragma once
#include <cru/base/Exception.h>
-#include <cru/platform/Resource.h>
+#include <cru/platform/Base.h>
#include <cru/platform/gui/Base.h>
namespace cru::platform::gui::xcb {
diff --git a/include/cru/platform/osx/Resource.h b/include/cru/platform/osx/Resource.h
index 4a3b6b7d..59a545b2 100644
--- a/include/cru/platform/osx/Resource.h
+++ b/include/cru/platform/osx/Resource.h
@@ -1,5 +1,5 @@
#pragma once
-#include "cru/platform/Resource.h"
+#include <cru/platform/Base.h>
namespace cru::platform::osx {
class OsxResource : public Object, public virtual IPlatformResource {
diff --git a/src/platform/Resource.cpp b/src/platform/Base.cpp
index b530bd0c..c660ad13 100644
--- a/src/platform/Resource.cpp
+++ b/src/platform/Base.cpp
@@ -1,4 +1,4 @@
-#include "cru/platform/Resource.h"
+#include "cru/platform/Base.h"
namespace cru::platform {
std::string IPlatformResource::GetDebugString() { return {}; }
diff --git a/src/platform/CMakeLists.txt b/src/platform/CMakeLists.txt
index a917f81f..4cb6b9e8 100644
--- a/src/platform/CMakeLists.txt
+++ b/src/platform/CMakeLists.txt
@@ -1,8 +1,8 @@
add_library(CruPlatformBase
+ Base.cpp
Color.cpp
Exception.cpp
GraphicsBase.cpp
- Resource.cpp
)
target_link_libraries(CruPlatformBase PUBLIC CruBase)
target_compile_definitions(CruPlatformBase PRIVATE CRU_PLATFORM_EXPORT_API)
diff --git a/src/platform/graphics/cairo/Base.cpp b/src/platform/graphics/cairo/Base.cpp
index 3e24efc9..6019c9db 100644
--- a/src/platform/graphics/cairo/Base.cpp
+++ b/src/platform/graphics/cairo/Base.cpp
@@ -1,4 +1,6 @@
#include "cru/platform/graphics/cairo/Base.h"
+#include "cru/platform/graphics/cairo/CairoGraphicsFactory.h"
+
#include <cairo/cairo.h>
namespace cru::platform::graphics::cairo {
@@ -15,4 +17,17 @@ Matrix Convert(const cairo_matrix_t* matrix) {
}
Matrix Convert(const cairo_matrix_t& matrix) { return Convert(&matrix); }
+
+static const std::string kCairoGraphicsPlatformId("cairo");
+
+CairoResource::CairoResource(CairoGraphicsFactory* factory)
+ : factory_(factory) {}
+
+CairoResource::~CairoResource() {}
+
+std::string CairoResource::GetPlatformId() const {
+ return kCairoGraphicsPlatformId;
+}
+
+IGraphicsFactory* CairoResource::GetGraphicsFactory() { return factory_; }
} // namespace cru::platform::graphics::cairo
diff --git a/src/platform/graphics/cairo/CMakeLists.txt b/src/platform/graphics/cairo/CMakeLists.txt
index 8dcba709..b00262a3 100644
--- a/src/platform/graphics/cairo/CMakeLists.txt
+++ b/src/platform/graphics/cairo/CMakeLists.txt
@@ -6,7 +6,6 @@ add_library(CruPlatformGraphicsCairo
CairoImage.cpp
CairoImageFactory.cpp
CairoPainter.cpp
- CairoResource.cpp
PangoFont.cpp
PangoTextLayout.cpp
)
diff --git a/src/platform/graphics/cairo/CairoGraphicsFactory.cpp b/src/platform/graphics/cairo/CairoGraphicsFactory.cpp
index 7414e14f..cc7c4dcf 100644
--- a/src/platform/graphics/cairo/CairoGraphicsFactory.cpp
+++ b/src/platform/graphics/cairo/CairoGraphicsFactory.cpp
@@ -1,8 +1,8 @@
#include "cru/platform/graphics/cairo/CairoGraphicsFactory.h"
+#include "cru/platform/graphics/cairo/Base.h"
#include "cru/platform/graphics/cairo/CairoBrush.h"
#include "cru/platform/graphics/cairo/CairoGeometry.h"
#include "cru/platform/graphics/cairo/CairoImageFactory.h"
-#include "cru/platform/graphics/cairo/CairoResource.h"
#include "cru/platform/graphics/cairo/PangoFont.h"
#include "cru/platform/graphics/cairo/PangoTextLayout.h"
diff --git a/src/platform/graphics/cairo/CairoImageFactory.cpp b/src/platform/graphics/cairo/CairoImageFactory.cpp
index 6225247a..070eb245 100644
--- a/src/platform/graphics/cairo/CairoImageFactory.cpp
+++ b/src/platform/graphics/cairo/CairoImageFactory.cpp
@@ -1,8 +1,8 @@
#include "cru/platform/graphics/cairo/CairoImageFactory.h"
#include "cru/base/Exception.h"
#include "cru/platform/Check.h"
+#include "cru/platform/graphics/cairo/Base.h"
#include "cru/platform/graphics/cairo/CairoImage.h"
-#include "cru/platform/graphics/cairo/CairoResource.h"
#include <png.h>
#include <memory>
diff --git a/src/platform/graphics/cairo/CairoPainter.cpp b/src/platform/graphics/cairo/CairoPainter.cpp
index d043e686..f2a2ce50 100644
--- a/src/platform/graphics/cairo/CairoPainter.cpp
+++ b/src/platform/graphics/cairo/CairoPainter.cpp
@@ -1,5 +1,4 @@
#include "cru/platform/graphics/cairo/CairoPainter.h"
-#include "cru/base/Exception.h"
#include "cru/base/log/Logger.h"
#include "cru/platform/Check.h"
#include "cru/platform/Exception.h"
@@ -7,7 +6,6 @@
#include "cru/platform/graphics/cairo/CairoBrush.h"
#include "cru/platform/graphics/cairo/CairoGeometry.h"
#include "cru/platform/graphics/cairo/CairoImage.h"
-#include "cru/platform/graphics/cairo/CairoResource.h"
#include "cru/platform/graphics/cairo/PangoTextLayout.h"
#include <cairo.h>
diff --git a/src/platform/graphics/cairo/CairoResource.cpp b/src/platform/graphics/cairo/CairoResource.cpp
deleted file mode 100644
index f8ce9666..00000000
--- a/src/platform/graphics/cairo/CairoResource.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "cru/platform/graphics/cairo/CairoResource.h"
-#include "cru/platform/graphics/cairo/CairoGraphicsFactory.h"
-
-namespace cru::platform::graphics::cairo {
-static const std::string kCairoGraphicsPlatformId("cairo");
-
-CairoResource::CairoResource(CairoGraphicsFactory* factory)
- : factory_(factory) {}
-
-CairoResource::~CairoResource() {}
-
-std::string CairoResource::GetPlatformId() const {
- return kCairoGraphicsPlatformId;
-}
-
-IGraphicsFactory* CairoResource::GetGraphicsFactory() { return factory_; }
-} // namespace cru::platform::graphics::cairo