aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/win/win_brush.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/platform/win/win_brush.hpp')
-rw-r--r--include/cru/platform/win/win_brush.hpp10
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_;
};