From 1e65c7cdcf016bed687b5b3d7b1404f9c7811716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Madar=C3=A1sz?= Date: Tue, 28 Nov 2023 21:04:46 +0100 Subject: [PATCH] fix btn press regression --- demos/{99-sprite2.c => 99-sprite3d.c} | 0 demos/art/gui/golden.ase | Bin 48623 -> 49410 bytes engine/joint/v4k.h | 11 +++++++---- engine/split/v4k_gui.c | 11 +++++++---- engine/v4k.c | 11 +++++++---- 5 files changed, 21 insertions(+), 12 deletions(-) rename demos/{99-sprite2.c => 99-sprite3d.c} (100%) diff --git a/demos/99-sprite2.c b/demos/99-sprite3d.c similarity index 100% rename from demos/99-sprite2.c rename to demos/99-sprite3d.c diff --git a/demos/art/gui/golden.ase b/demos/art/gui/golden.ase index d6147fb9e45b754d9a604f86c31f3264fb4152e9..0114e0520d2cd073ce5da071ecf80ed226586ff7 100644 GIT binary patch delta 9683 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"_press":entry->hover?"_hover":""); - if (gui_ismouseinrect(btn, r) && !any_widget_used) { + if (gui_ismouseinrect(btn, r)) { if (input_up(MOUSE_L) && entry->held) { was_clicked=1; } - any_widget_used = entry->held = input_held(MOUSE_L); - entry->hover = true; + if (!any_widget_used) { + any_widget_used = entry->held = input_held(MOUSE_L); + entry->hover = true; + } } else if (input_up(MOUSE_L) && entry->held) { entry->held = false; @@ -359129,11 +359131,12 @@ bool gui_slider_label_id(int id, const char *text, vec4 rect, const char *skin, bool state = gui_slider_id(id, rect, skin, min, max, step, value); vec2 slidersize={0}; skin=skin?skin:"slider"; + if (last_skin->getskinsize) last_skin->getskinsize(last_skin->userdata, skin, &slidersize); vec2 textsize = font_rect(text); vec2 pos; pos.x = rect.x + max(slidersize.x, rect.z) + 8 /*padding*/; - pos.y = rect.y - max(slidersize.y*.5f, rect.w*.5f) + textsize.y*.5f; + pos.y = rect.y + max(slidersize.y*.5f, rect.w*.5f) - textsize.y*.5f; font_goto(pos.x, pos.y); font_print(text); return state; diff --git a/engine/split/v4k_gui.c b/engine/split/v4k_gui.c index 750b0b7..c170636 100644 --- a/engine/split/v4k_gui.c +++ b/engine/split/v4k_gui.c @@ -164,13 +164,15 @@ bool gui_button_id(int id, vec4 r, const char *skin) { skin=skin?skin:"button"; char *btn = va("%s%s", skin, entry->held?"_press":entry->hover?"_hover":""); - if (gui_ismouseinrect(btn, r) && !any_widget_used) { + if (gui_ismouseinrect(btn, r)) { if (input_up(MOUSE_L) && entry->held) { was_clicked=1; } - any_widget_used = entry->held = input_held(MOUSE_L); - entry->hover = true; + if (!any_widget_used) { + any_widget_used = entry->held = input_held(MOUSE_L); + entry->hover = true; + } } else if (input_up(MOUSE_L) && entry->held) { entry->held = false; @@ -261,11 +263,12 @@ bool gui_slider_label_id(int id, const char *text, vec4 rect, const char *skin, bool state = gui_slider_id(id, rect, skin, min, max, step, value); vec2 slidersize={0}; skin=skin?skin:"slider"; + if (last_skin->getskinsize) last_skin->getskinsize(last_skin->userdata, skin, &slidersize); vec2 textsize = font_rect(text); vec2 pos; pos.x = rect.x + max(slidersize.x, rect.z) + 8 /*padding*/; - pos.y = rect.y - max(slidersize.y*.5f, rect.w*.5f) + textsize.y*.5f; + pos.y = rect.y + max(slidersize.y*.5f, rect.w*.5f) - textsize.y*.5f; font_goto(pos.x, pos.y); font_print(text); return state; diff --git a/engine/v4k.c b/engine/v4k.c index 8db95b5..dc08b79 100644 --- a/engine/v4k.c +++ b/engine/v4k.c @@ -11174,13 +11174,15 @@ bool gui_button_id(int id, vec4 r, const char *skin) { skin=skin?skin:"button"; char *btn = va("%s%s", skin, entry->held?"_press":entry->hover?"_hover":""); - if (gui_ismouseinrect(btn, r) && !any_widget_used) { + if (gui_ismouseinrect(btn, r)) { if (input_up(MOUSE_L) && entry->held) { was_clicked=1; } - any_widget_used = entry->held = input_held(MOUSE_L); - entry->hover = true; + if (!any_widget_used) { + any_widget_used = entry->held = input_held(MOUSE_L); + entry->hover = true; + } } else if (input_up(MOUSE_L) && entry->held) { entry->held = false; @@ -11271,11 +11273,12 @@ bool gui_slider_label_id(int id, const char *text, vec4 rect, const char *skin, bool state = gui_slider_id(id, rect, skin, min, max, step, value); vec2 slidersize={0}; skin=skin?skin:"slider"; + if (last_skin->getskinsize) last_skin->getskinsize(last_skin->userdata, skin, &slidersize); vec2 textsize = font_rect(text); vec2 pos; pos.x = rect.x + max(slidersize.x, rect.z) + 8 /*padding*/; - pos.y = rect.y - max(slidersize.y*.5f, rect.w*.5f) + textsize.y*.5f; + pos.y = rect.y + max(slidersize.y*.5f, rect.w*.5f) - textsize.y*.5f; font_goto(pos.x, pos.y); font_print(text); return state;