aboutsummaryrefslogtreecommitdiff
path: root/src/ui/control.hpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2018-11-14 21:07:59 +0800
committercrupest <crupest@outlook.com>2018-11-14 21:07:59 +0800
commit714a757ee435b83156ddee6b16edc99408357170 (patch)
tree637aaae9536229ef903c403e35418652732889a1 /src/ui/control.hpp
parent77f9d6d47660b642c991809387e4e5c114760f84 (diff)
downloadcru-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.hpp29
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_{};