Window dragging working

This commit is contained in:
2024-07-31 16:01:10 -04:00
parent 8e7f146b22
commit 4a70e0e2f4

View File

@@ -119,46 +119,43 @@ namespace JUI
}
void Window::Update(float delta) {
Widget::Update(delta);
hovered = IsMouseInside();
if (IsHovered() && !hover_debounce) {
OnHover(last_known_mouse_pos);
hover_debounce = true;
}
if (!IsHovered() && hover_debounce) {
OnExit(last_known_mouse_pos);
hover_debounce = false;
}
if (hover_debounce && (mb_state == true && prev_mb_state != true)) {
clicked = true;
//click_debounce = true;
//
} else {
clicked = false;
//click_debounce = false;
//
}
if (clicked && !click_debounce) {
OnClick(last_known_mouse_pos, mbtn);
click_debounce = true;
}
if (clicked && click_debounce) {
OnRelease(last_known_mouse_pos, mbtn, mb_state);
click_debounce = true;
}
if (dragging) {
DEBUG(std::format("mpos {} {}", last_known_mouse_pos.x, last_known_mouse_pos.y));
Vector2 mpos = last_known_mouse_pos - initial_drag_offset;
this->SetPosition(UDim2{(int)mpos.x, (int)mpos.y, 0,0});
}
Widget::Update(delta);
hovered = IsMouseInside();
if (IsHovered() && !hover_debounce) {
OnHover(last_known_mouse_pos);
hovered = true;
hover_debounce = true;
}
if (!IsHovered() && hover_debounce) {
OnExit(last_known_mouse_pos);
hovered = true;
hover_debounce = false;
}
if (hovered && (mb_state == true && prev_mb_state != true)) {
clicked = true;
click_debounce = true;
}
if (mb_state != true && prev_mb_state == true) {
clicked = false;
click_debounce = false;
}
if (clicked) {
OnClick(last_known_mouse_pos, mbtn);
} else {
OnRelease(last_known_mouse_pos, mbtn, mb_state);
}
prev_mb_state = mb_state;