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/cairo/Base.h | |
| 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/cairo/Base.h')
| -rw-r--r-- | include/cru/platform/graphics/cairo/Base.h | 29 |
1 files changed, 25 insertions, 4 deletions
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 |
