aboutsummaryrefslogtreecommitdiff
path: root/src/ui/control.hpp
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2018-11-13 22:44:07 +0800
committerGitHub <noreply@github.com>2018-11-13 22:44:07 +0800
commitb08ba6c83902d140fb14131b3f01837985d39c17 (patch)
tree98719593d5854f2162ea8d87b7fecdc3472968bc /src/ui/control.hpp
parent91dda866a0919f9e6cfb5e7857ac0466572d96d8 (diff)
parent6d0a44597eb6e35993b46642ebf85abd94bca2d7 (diff)
downloadcru-b08ba6c83902d140fb14131b3f01837985d39c17.tar.gz
cru-b08ba6c83902d140fb14131b3f01837985d39c17.tar.bz2
cru-b08ba6c83902d140fb14131b3f01837985d39c17.zip
Merge pull request #18 from crupest/bound
Add support for enhanced bound check.
Diffstat (limited to 'src/ui/control.hpp')
-rw-r--r--src/ui/control.hpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ui/control.hpp b/src/ui/control.hpp
index 7afc0c4e..776eacb0 100644
--- a/src/ui/control.hpp
+++ b/src/ui/control.hpp
@@ -117,6 +117,8 @@ namespace cru::ui
//Absolute point to local point.
Point WindowToControl(const Point& point) const;
+ // Default implement in Control is test point in border geometry's
+ // fill and stroke with width of border.
virtual bool IsPointInside(const Point& point);
@@ -264,6 +266,8 @@ namespace cru::ui
void RaisePositionChangedEvent(events::PositionChangedEventArgs& args);
void RaiseSizeChangedEvent(events::SizeChangedEventArgs& args);
+ void RegenerateBorderGeometry();
+
//*************** region: mouse event ***************
virtual void OnMouseEnter(events::MouseEventArgs& args);
virtual void OnMouseLeave(events::MouseEventArgs& args);
@@ -368,6 +372,8 @@ namespace cru::ui
bool is_bordered_ = false;
BorderProperty border_property_;
+ Microsoft::WRL::ComPtr<ID2D1Geometry> border_geometry_ = nullptr;
+
AnyMap additional_property_map_{};
bool is_focus_on_pressed_ = true;