Add ui helper for sending fake mouse move events to force mouseover status

This commit is contained in:
Nikita Lisitsa 2022-03-10 12:19:57 +03:00
parent 73d05a5ec4
commit 4a6d3a9d88
2 changed files with 11 additions and 0 deletions

View file

@ -119,4 +119,6 @@ namespace psemek::ui
}
}
void send_fake_mouse_move_event(element * e, bool mouseover);
}

View file

@ -169,4 +169,13 @@ namespace psemek::ui
c->post_delayed_callbacks();
}
void send_fake_mouse_move_event(element * e, bool mouseover)
{
auto const box = e->shape().bbox();
if (mouseover)
e->on_event(mouse_move{geom::cast<int>(box.center())});
else
e->on_event(mouse_move{geom::cast<int>(box.corner(0.f, 0.f) - geom::vector{1000.f, 1000.f})});
}
}