diff options
author | Yuqian Yang <crupest@outlook.com> | 2018-10-01 17:11:11 +0000 |
---|---|---|
committer | Yuqian Yang <crupest@outlook.com> | 2018-10-01 17:11:11 +0000 |
commit | 30ecda8bb354d5982978af97aa90b5f49d9ea195 (patch) | |
tree | a271bddb244fa2041f14f8d46d249457cee09e5f /src/ui/controls/button.h | |
parent | 398b8f3ba535bb43c4b8593e3027c14894a7a211 (diff) | |
parent | 040a6c18f18100b825a56443a73aa1de64e4518c (diff) | |
download | cru-30ecda8bb354d5982978af97aa90b5f49d9ea195.tar.gz cru-30ecda8bb354d5982978af97aa90b5f49d9ea195.tar.bz2 cru-30ecda8bb354d5982978af97aa90b5f49d9ea195.zip |
Merge branch '9-border' into 'master'
Resolve "Abstract out border control of button and border."
Closes #9
See merge request crupest/CruUI!11
Diffstat (limited to 'src/ui/controls/button.h')
-rw-r--r-- | src/ui/controls/button.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/ui/controls/button.h b/src/ui/controls/button.h index bd3f6eb3..4b57a5a3 100644 --- a/src/ui/controls/button.h +++ b/src/ui/controls/button.h @@ -3,6 +3,7 @@ #include <initializer_list> #include "ui/control.h" +#include "border_delegate.h" namespace cru::ui::controls { @@ -30,12 +31,16 @@ namespace cru::ui::controls protected: void OnDraw(ID2D1DeviceContext* device_context) override; + Size OnMeasure(const Size& available_size) override; + void OnLayout(const Rect& rect) override; + void OnMouseClickBegin(MouseButton button) override final; void OnMouseClickEnd(MouseButton button) override final; private: - Microsoft::WRL::ComPtr<ID2D1Brush> normal_border_brush_; - Microsoft::WRL::ComPtr<ID2D1Brush> pressed_border_brush_; - ID2D1Brush* current_border_brush_; + std::unique_ptr<BorderDelegate> border_delegate_; + + BorderProperty::Ptr normal_border_border_; + BorderProperty::Ptr pressed_border_border_; }; } |