From 576b19c2aee9314371f2f905a66eeac9cab800c0 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 15 May 2022 15:47:11 +0800 Subject: ... --- include/cru/platform/graphics/cairo/CairoBrush.h | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 include/cru/platform/graphics/cairo/CairoBrush.h (limited to 'include/cru/platform/graphics/cairo/CairoBrush.h') diff --git a/include/cru/platform/graphics/cairo/CairoBrush.h b/include/cru/platform/graphics/cairo/CairoBrush.h new file mode 100644 index 00000000..818295a3 --- /dev/null +++ b/include/cru/platform/graphics/cairo/CairoBrush.h @@ -0,0 +1,32 @@ +#pragma once +#include "CairoResource.h" +#include "cru/platform/graphics/Brush.h" + +#include + +namespace cru::platform::graphics::cairo { +class CRU_PLATFORM_GRAPHICS_CAIRO_API CairoBrush : public CairoResource, + public virtual IBrush { + public: + explicit CairoBrush(CairoGraphicsFactory* factory); + ~CairoBrush() override; +}; + +class CRU_PLATFORM_GRAPHICS_CAIRO_API CairoSolidColorBrush + : public CairoBrush, + public virtual ISolidColorBrush { + public: + explicit CairoSolidColorBrush(CairoGraphicsFactory* factory); + ~CairoSolidColorBrush() override; + + public: + Color GetColor() override; + void SetColor(const Color& color) override; + + cairo_pattern_t* GetCairoPattern() const { return pattern_; } + + private: + Color color_; + cairo_pattern_t* pattern_; +}; +} // namespace cru::platform::graphics::cairo -- cgit v1.2.3