diff options
author | crupest <crupest@outlook.com> | 2018-11-14 21:07:59 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2018-11-14 21:07:59 +0800 |
commit | 714a757ee435b83156ddee6b16edc99408357170 (patch) | |
tree | 637aaae9536229ef903c403e35418652732889a1 /src/ui/control.hpp | |
parent | 77f9d6d47660b642c991809387e4e5c114760f84 (diff) | |
download | cru-714a757ee435b83156ddee6b16edc99408357170.tar.gz cru-714a757ee435b83156ddee6b16edc99408357170.tar.bz2 cru-714a757ee435b83156ddee6b16edc99408357170.zip |
Add fore/bakcground brush.
Diffstat (limited to 'src/ui/control.hpp')
-rw-r--r-- | src/ui/control.hpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/ui/control.hpp b/src/ui/control.hpp index 776eacb0..a1ad7ea7 100644 --- a/src/ui/control.hpp +++ b/src/ui/control.hpp @@ -129,6 +129,29 @@ namespace cru::ui virtual void Repaint(); + Microsoft::WRL::ComPtr<ID2D1Brush> GetForegroundBrush() const + { + return foreground_brush_; + } + + void SetForegroundBrush(Microsoft::WRL::ComPtr<ID2D1Brush> foreground_brush) + { + foreground_brush_ = std::move(foreground_brush); + Repaint(); + } + + Microsoft::WRL::ComPtr<ID2D1Brush> GetBackgroundBrush() const + { + return background_brush_; + } + + void SetBackgroundBrush(Microsoft::WRL::ComPtr<ID2D1Brush> background_brush) + { + background_brush_ = std::move(background_brush); + Repaint(); + } + + //*************** region: focus *************** bool RequestFocus(); @@ -245,6 +268,8 @@ namespace cru::ui void OnDrawCore(ID2D1DeviceContext* device_context); protected: + + //*************** region: graphic events *************** virtual void OnDrawContent(ID2D1DeviceContext* device_context); virtual void OnDrawForeground(ID2D1DeviceContext* device_context); virtual void OnDrawBackground(ID2D1DeviceContext* device_context); @@ -373,6 +398,10 @@ namespace cru::ui BorderProperty border_property_; Microsoft::WRL::ComPtr<ID2D1Geometry> border_geometry_ = nullptr; + Microsoft::WRL::ComPtr<ID2D1Geometry> in_border_geometry_ = nullptr; //used for foreground and background brush. + + Microsoft::WRL::ComPtr<ID2D1Brush> foreground_brush_ = nullptr; + Microsoft::WRL::ComPtr<ID2D1Brush> background_brush_ = nullptr; AnyMap additional_property_map_{}; |