static bool zarch_zui_check_button_up(zui_t *zui, unsigned id, int x1, int y1, int x2, int y2) { menu_input_ctx_hitbox_t hitbox; bool result = false; hitbox.x1 = x1; hitbox.x2 = x2; hitbox.y1 = y1; hitbox.y2 = y2; if (menu_input_mouse_check_vector_inside_hitbox(&hitbox)) zui->item.hot = id; if ( zui->item.active == id && !zarch_zui_input_state(zui, MENU_ZARCH_PRESSED)) { if (zui->item.hot == id) result = true; zui->item.active = 0; } zarch_zui_check_button_down(zui, id, x1, y1, x2, y2); return result; }
static bool zarch_zui_check_button_up(zui_t *zui, unsigned id, int x1, int y1, int x2, int y2) { bool result = false; bool inside = menu_input_mouse_check_hitbox(x1, y1, x2, y2); if (inside) zui->item.hot = id; if (zui->item.active == id && !zarch_zui_input_state(zui, MENU_ZARCH_PRESSED)) { if (zui->item.hot == id) result = true; zui->item.active = 0; } zarch_zui_check_button_down(zui, id, x1, y1, x2, y2); return result; }