aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/graph/brush.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/platform/graph/brush.hpp')
-rw-r--r--include/cru/platform/graph/brush.hpp45
1 files changed, 5 insertions, 40 deletions
diff --git a/include/cru/platform/graph/brush.hpp b/include/cru/platform/graph/brush.hpp
index d292ae82..af7a1dec 100644
--- a/include/cru/platform/graph/brush.hpp
+++ b/include/cru/platform/graph/brush.hpp
@@ -1,46 +1,11 @@
#pragma once
-#include "../graphic_base.hpp"
-#include "../native_resource.hpp"
+#include "resource.hpp"
namespace cru::platform::graph {
-class Brush : public NativeResource {
- protected:
- Brush() = default;
+struct IBrush : virtual IGraphResource {};
- public:
- Brush(const Brush& other) = delete;
- Brush& operator=(const Brush& other) = delete;
-
- Brush(Brush&& other) = delete;
- Brush& operator=(Brush&& other) = delete;
-
- ~Brush() override = default;
-};
-
-class SolidColorBrush : public Brush {
- protected:
- SolidColorBrush() = default;
-
- public:
- SolidColorBrush(const SolidColorBrush& other) = delete;
- SolidColorBrush& operator=(const SolidColorBrush& other) = delete;
-
- SolidColorBrush(SolidColorBrush&& other) = delete;
- SolidColorBrush& operator=(SolidColorBrush&& other) = delete;
-
- ~SolidColorBrush() = default;
-
- public:
- Color GetColor() { return color_; }
- void SetColor(const Color& color) {
- color_ = color;
- OnSetColor(color);
- }
-
- protected:
- virtual void OnSetColor(const Color& color) = 0;
-
- protected:
- Color color_ = colors::black;
+struct ISolidColorBrush : virtual IBrush {
+ virtual Color GetColor() = 0;
+ virtual void SetColor(const Color& color) = 0;
};
} // namespace cru::platform::graph