aboutsummaryrefslogtreecommitdiff
path: root/src/ui/control.hpp
diff options
context:
space:
mode:
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..75c10c04 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<ID2D1RoundedRectangleGeometry> border_geometry_ = nullptr;
+
AnyMap additional_property_map_{};
bool is_focus_on_pressed_ = true;