diff options
Diffstat (limited to 'include/cru/platform/win/win_brush.hpp')
-rw-r--r-- | include/cru/platform/win/win_brush.hpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/cru/platform/win/win_brush.hpp b/include/cru/platform/win/win_brush.hpp index 2668215d..d32f6bbc 100644 --- a/include/cru/platform/win/win_brush.hpp +++ b/include/cru/platform/win/win_brush.hpp @@ -4,7 +4,13 @@ #include "../brush.hpp" namespace cru::platform::win { -class WinSolidColorBrush : public Object, public virtual SolidColorBrush { +struct WinBrush : virtual Brush { + virtual ID2D1Brush* GetD2DBrush() = 0; +}; + +class WinSolidColorBrush : public Object, + public virtual SolidColorBrush, + public virtual WinBrush { public: explicit WinSolidColorBrush( Microsoft::WRL::ComPtr<ID2D1SolidColorBrush> brush); @@ -17,6 +23,8 @@ class WinSolidColorBrush : public Object, public virtual SolidColorBrush { ui::Color GetColor() override; void SetColor(const ui::Color& color) override; + ID2D1Brush* GetD2DBrush() override { return brush_.Get(); } + private: Microsoft::WRL::ComPtr<ID2D1SolidColorBrush> brush_; }; |