diff options
author | crupest <crupest@outlook.com> | 2022-05-15 15:47:11 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-05-15 15:47:11 +0800 |
commit | 576b19c2aee9314371f2f905a66eeac9cab800c0 (patch) | |
tree | 7fc91bc9bce317b85b2c0cb192314025847d8ff4 /include/cru/platform | |
parent | 6677597c7751c87cd80192b27dd39fe83ef02351 (diff) | |
download | cru-576b19c2aee9314371f2f905a66eeac9cab800c0.tar.gz cru-576b19c2aee9314371f2f905a66eeac9cab800c0.tar.bz2 cru-576b19c2aee9314371f2f905a66eeac9cab800c0.zip |
...
Diffstat (limited to 'include/cru/platform')
-rw-r--r-- | include/cru/platform/graphics/cairo/CairoBrush.h | 32 |
1 files changed, 32 insertions, 0 deletions
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 <cairo/cairo.h> + +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 |