mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
add 'onmouseenter', 'onmouseleave' ui events
This commit is contained in:
parent
d457b2ee7f
commit
78e0ac5a95
5 changed files with 36 additions and 1 deletions
|
|
@ -144,6 +144,28 @@ void GUI::actMouse(float delta, const CursorState& cursor) {
|
|||
}
|
||||
}
|
||||
this->hover = hover;
|
||||
auto node = hover;
|
||||
while (node) {
|
||||
if (mouseOver.find(hover) != mouseOver.end()) {
|
||||
break;
|
||||
}
|
||||
mouseOver.insert(node);
|
||||
node->setMouseOver(true);
|
||||
auto parent = node->getParent();
|
||||
if (parent) {
|
||||
node = parent->shared_from_this();
|
||||
}
|
||||
}
|
||||
|
||||
for (auto it = mouseOver.begin(); it != mouseOver.end(); ) {
|
||||
auto node = *it;
|
||||
if (node->isInside(cursor.pos)) {
|
||||
++it;
|
||||
continue;
|
||||
}
|
||||
node->setMouseOver(false);
|
||||
it = mouseOver.erase(it);
|
||||
}
|
||||
|
||||
if (input.jclicked(Mousecode::BUTTON_1)) {
|
||||
if (pressed == nullptr && this->hover) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue