Fix ui::button updating to new event sources
This commit is contained in:
parent
9ce8082e4d
commit
84905b6f05
2 changed files with 18 additions and 6 deletions
|
|
@ -19,6 +19,9 @@ namespace psemek::ui::impl
|
||||||
private:
|
private:
|
||||||
react::source<bool> mouseover_;
|
react::source<bool> mouseover_;
|
||||||
react::source<bool> mousedown_;
|
react::source<bool> mousedown_;
|
||||||
|
|
||||||
|
bool is_mouseover_ = false;
|
||||||
|
bool is_mousedown_ = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,11 @@ namespace psemek::ui::impl
|
||||||
{
|
{
|
||||||
bool const mouseover = geom::contains(shape(), geom::cast<float>(event.position));
|
bool const mouseover = geom::contains(shape(), geom::cast<float>(event.position));
|
||||||
|
|
||||||
if (*mouseover_ != mouseover)
|
if (is_mouseover_ != mouseover)
|
||||||
mouseover_.set(mouseover);
|
{
|
||||||
|
is_mouseover_ = mouseover;
|
||||||
|
mouseover_.set(is_mouseover_);
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -21,12 +24,15 @@ namespace psemek::ui::impl
|
||||||
{
|
{
|
||||||
bool const mousedown = event.button == app::mouse_button::left && event.down;
|
bool const mousedown = event.button == app::mouse_button::left && event.down;
|
||||||
|
|
||||||
if (*mouseover_ || !mousedown)
|
if (is_mouseover_ || !mousedown)
|
||||||
{
|
{
|
||||||
if (*mousedown_ != mousedown)
|
if (is_mousedown_ != mousedown)
|
||||||
mousedown_.set(mousedown);
|
{
|
||||||
|
is_mousedown_ = mousedown;
|
||||||
|
mousedown_.set(is_mousedown_);
|
||||||
|
}
|
||||||
|
|
||||||
return *mouseover_ && mousedown;
|
return is_mouseover_ && is_mousedown_;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -36,6 +42,9 @@ namespace psemek::ui::impl
|
||||||
{
|
{
|
||||||
mouseover_ = value.mouseover;
|
mouseover_ = value.mouseover;
|
||||||
mousedown_ = value.mousedown;
|
mousedown_ = value.mousedown;
|
||||||
|
|
||||||
|
mouseover_.set(is_mouseover_);
|
||||||
|
mousedown_.set(is_mousedown_);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue