diff options
Diffstat (limited to 'include/cru/platform/graph/brush.hpp')
-rw-r--r-- | include/cru/platform/graph/brush.hpp | 45 |
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 |