From 0e35b2c022599bca2df61488945f07e4d6b4eb35 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Sun, 11 Aug 2019 01:09:49 +0800 Subject: ... --- include/cru/ui/control.hpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'include/cru/ui/control.hpp') diff --git a/include/cru/ui/control.hpp b/include/cru/ui/control.hpp index 15eeb6fa..f78557a3 100644 --- a/include/cru/ui/control.hpp +++ b/include/cru/ui/control.hpp @@ -1,6 +1,6 @@ #pragma once -#include "cru/common/base.hpp" #include "base.hpp" +#include "cru/common/base.hpp" #include "cru/platform/native/basic_types.hpp" #include "event/ui_event.hpp" @@ -58,6 +58,10 @@ class Control : public Object { bool HasFocus(); + //*************** region: focus *************** + public: + bool IsMouseOver() const { return is_mouse_over_; } + //*************** region: events *************** public: // Raised when mouse enter the control. @@ -130,9 +134,19 @@ class Control : public Object { protected: virtual void OnMouseClickBegin(platform::native::MouseButton button); virtual void OnMouseClickEnd(platform::native::MouseButton button); + virtual void OnMouseClickCancel(platform::native::MouseButton button); private: Window* window_ = nullptr; Control* parent_ = nullptr; + + private: + bool is_mouse_over_ = false; + + struct { + bool left; + bool middle; + bool right; + } click_map_; }; } // namespace cru::ui -- cgit v1.2.3