From 23e1886458e08dc92935630c4e5abf375a2e19c4 Mon Sep 17 00:00:00 2001 From: Linus Behrbohm Date: Sun, 25 Jul 2021 19:41:24 +0200 Subject: [PATCH] Open ContextMenu on pointer button press, not click clicks only occur on button release, button press feels more responsive --- egui/src/context_menu.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/egui/src/context_menu.rs b/egui/src/context_menu.rs index ad8401201ac1..f070c1d5595f 100644 --- a/egui/src/context_menu.rs +++ b/egui/src/context_menu.rs @@ -17,7 +17,7 @@ impl ContextMenuSystem { fn sense_click(&mut self, response: &Response) -> MenuResponse { let response = response.interact(Sense::click()); let pointer = &response.ctx.input().pointer; - if pointer.any_click() { + if pointer.any_pressed() { if let Some(pos) = pointer.interact_pos() { let mut destroy = false; let mut in_old_menu = false; @@ -26,9 +26,10 @@ impl ContextMenuSystem { destroy = context_menu.ui_id == response.id; } if !in_old_menu { - if response.secondary_clicked() { + let in_target = response.rect.contains(pos); + if in_target && pointer.secondary_down() { return MenuResponse::Create(pos); - } else if response.clicked() || destroy { + } else if (in_target && pointer.primary_down()) || destroy { return MenuResponse::Close; } }