From baa7cf141b8121473edceae16c1a20a6d47bd202 Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 27 Jun 2019 00:18:48 +0800 Subject: ...... --- include/cru/win/graph/direct/brush.hpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 include/cru/win/graph/direct/brush.hpp (limited to 'include/cru/win/graph/direct/brush.hpp') diff --git a/include/cru/win/graph/direct/brush.hpp b/include/cru/win/graph/direct/brush.hpp new file mode 100644 index 00000000..9775b5c1 --- /dev/null +++ b/include/cru/win/graph/direct/brush.hpp @@ -0,0 +1,26 @@ +#pragma once +#include "com_resource.hpp" +#include "direct_factory.hpp" + +#include "cru/platform/graph/brush.hpp" + +namespace cru::platform::graph::win::direct { +class D2DSolidColorBrush : public SolidColorBrush, + public IComResource { + public: + explicit D2DSolidColorBrush(IDirectFactory* factory); + D2DSolidColorBrush(const D2DSolidColorBrush& other) = delete; + D2DSolidColorBrush(D2DSolidColorBrush&& other) = delete; + D2DSolidColorBrush& operator=(const D2DSolidColorBrush& other) = delete; + D2DSolidColorBrush& operator=(D2DSolidColorBrush&& other) = delete; + ~D2DSolidColorBrush() override = default; + + ID2D1SolidColorBrush* GetComInterface() override { return brush_.Get(); } + + protected: + void OnSetColor(const Color& color) override; + + private: + Microsoft::WRL::ComPtr brush_; +}; +} // namespace cru::platform::graph::win::direct -- cgit v1.2.3