diff options
author | crupest <crupest@outlook.com> | 2019-12-12 19:53:17 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-12-12 19:53:17 +0800 |
commit | e69911a8b161b81ce3f7b209175766da2b7b3d4b (patch) | |
tree | 76b1f4b6f9f5ad6111578771be783ee456aeb912 /include/cru/platform/graph/brush.hpp | |
parent | 154b5b838edfdcef93cd0a33c013ad7f5f9d7337 (diff) | |
download | cru-e69911a8b161b81ce3f7b209175766da2b7b3d4b.tar.gz cru-e69911a8b161b81ce3f7b209175766da2b7b3d4b.tar.bz2 cru-e69911a8b161b81ce3f7b209175766da2b7b3d4b.zip |
...
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 |