From 7fa6f61b1d7b253f749be73a4bfeee9a77cd2e88 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 22 Aug 2021 21:15:33 +0800 Subject: ... --- src/osx/graphics/quartz/Brush.cpp | 21 +++++++++++++++++++++ src/osx/graphics/quartz/CMakeLists.txt | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 src/osx/graphics/quartz/Brush.cpp (limited to 'src/osx/graphics') diff --git a/src/osx/graphics/quartz/Brush.cpp b/src/osx/graphics/quartz/Brush.cpp new file mode 100644 index 00000000..a930719c --- /dev/null +++ b/src/osx/graphics/quartz/Brush.cpp @@ -0,0 +1,21 @@ +#include "cru/osx/graphics/quartz/Brush.hpp" + +namespace cru::platform::graphics::osx::quartz { +QuartzSolidColorBrush::QuartzSolidColorBrush(IGraphFactory* graphics_factory, + const Color& color) + : QuartzBrush(graphics_factory), color_(color) { + cg_color_ = + CGColorCreateGenericRGB(color.GetFloatRed(), color.GetFloatGreen(), + color.GetFloatBlue(), color.GetFloatAlpha()); +} + +QuartzSolidColorBrush::~QuartzSolidColorBrush() { CGColorRelease(cg_color_); } + +void QuartzSolidColorBrush::SetColor(const Color& color) { + color_ = color; + CGColorRelease(cg_color_); + cg_color_ = + CGColorCreateGenericRGB(color.GetFloatRed(), color.GetFloatGreen(), + color.GetFloatBlue(), color.GetFloatAlpha()); +} +} // namespace cru::platform::graphics::osx::quartz diff --git a/src/osx/graphics/quartz/CMakeLists.txt b/src/osx/graphics/quartz/CMakeLists.txt index 2d66c3e7..fcbda648 100644 --- a/src/osx/graphics/quartz/CMakeLists.txt +++ b/src/osx/graphics/quartz/CMakeLists.txt @@ -1,12 +1,14 @@ set(CRU_OSX_GRAPHICS_NATIVE_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/osx/graphics/quartz) add_library(cru_osx_graphics_quartz SHARED + Brush.cpp Convert.cpp Factory.cpp Painter.cpp Resource.cpp ) target_sources(cru_osx_graphics_quartz PUBLIC + ${CRU_OSX_GRAPHICS_NATIVE_INCLUDE_DIR}/Brush.hpp ${CRU_OSX_GRAPHICS_NATIVE_INCLUDE_DIR}/Convert.hpp ${CRU_OSX_GRAPHICS_NATIVE_INCLUDE_DIR}/Factory.hpp ${CRU_OSX_GRAPHICS_NATIVE_INCLUDE_DIR}/Painter.hpp -- cgit v1.2.3