diff options
author | 杨宇千 <crupest@outlook.com> | 2019-08-11 01:09:49 +0800 |
---|---|---|
committer | 杨宇千 <crupest@outlook.com> | 2019-08-11 01:09:49 +0800 |
commit | 0e35b2c022599bca2df61488945f07e4d6b4eb35 (patch) | |
tree | 71daef6f9725a250b9fcaf97fdecc9bdf46bd6e3 /include/cru/ui/control.hpp | |
parent | 9eed31954c14f2d60c906adb5b49b58fbee4ff7f (diff) | |
download | cru-0e35b2c022599bca2df61488945f07e4d6b4eb35.tar.gz cru-0e35b2c022599bca2df61488945f07e4d6b4eb35.tar.bz2 cru-0e35b2c022599bca2df61488945f07e4d6b4eb35.zip |
...
Diffstat (limited to 'include/cru/ui/control.hpp')
-rw-r--r-- | include/cru/ui/control.hpp | 16 |
1 files changed, 15 insertions, 1 deletions
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 |