Separate mouseover state vs mouseover event in ui::button

This commit is contained in:
Nikita Lisitsa 2024-08-09 15:17:11 +03:00
parent 84905b6f05
commit ddddfb67ce
3 changed files with 9 additions and 0 deletions

View file

@ -10,6 +10,8 @@ namespace psemek::ui
{
react::source<bool> mouseover = {};
react::source<bool> mousedown = {};
react::source<bool> on_mouseover = {};
react::source<bool> on_mousedown = {};
};
}

View file

@ -19,6 +19,8 @@ namespace psemek::ui::impl
private:
react::source<bool> mouseover_;
react::source<bool> mousedown_;
react::source<bool> on_mouseover_;
react::source<bool> on_mousedown_;
bool is_mouseover_ = false;
bool is_mousedown_ = false;

View file

@ -15,6 +15,7 @@ namespace psemek::ui::impl
{
is_mouseover_ = mouseover;
mouseover_.set(is_mouseover_);
on_mouseover_.set(is_mouseover_);
}
return false;
@ -30,6 +31,7 @@ namespace psemek::ui::impl
{
is_mousedown_ = mousedown;
mousedown_.set(is_mousedown_);
on_mousedown_.set(is_mousedown_);
}
return is_mouseover_ && is_mousedown_;
@ -43,6 +45,9 @@ namespace psemek::ui::impl
mouseover_ = value.mouseover;
mousedown_ = value.mousedown;
on_mouseover_ = value.on_mouseover;
on_mousedown_ = value.on_mousedown;
mouseover_.set(is_mouseover_);
mousedown_.set(is_mousedown_);
}