mirror of
https://github.com/emilk/egui.git
synced 2026-09-02 14:50:03 -04:00
Bug Fix : Response::is_pointer_button_down_on is now false the frame the button is released (#3833)
* Closes #3809 * Closes #3669 * Closes #3791 --------- Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
This commit is contained in:
@@ -1081,6 +1081,7 @@ impl Context {
|
|||||||
clicked && click.is_triple();
|
clicked && click.is_triple();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
response.is_pointer_button_down_on = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -942,7 +942,8 @@ impl Widgets {
|
|||||||
pub fn style(&self, response: &Response) -> &WidgetVisuals {
|
pub fn style(&self, response: &Response) -> &WidgetVisuals {
|
||||||
if !response.sense.interactive() {
|
if !response.sense.interactive() {
|
||||||
&self.noninteractive
|
&self.noninteractive
|
||||||
} else if response.is_pointer_button_down_on() || response.has_focus() {
|
} else if response.is_pointer_button_down_on() || response.has_focus() || response.clicked()
|
||||||
|
{
|
||||||
&self.active
|
&self.active
|
||||||
} else if response.hovered() || response.highlighted() {
|
} else if response.hovered() || response.highlighted() {
|
||||||
&self.hovered
|
&self.hovered
|
||||||
|
|||||||
@@ -105,7 +105,9 @@ fn title_bar_ui(ui: &mut egui::Ui, title_bar_rect: eframe::epaint::Rect, title:
|
|||||||
let is_maximized = ui.input(|i| i.viewport().maximized.unwrap_or(false));
|
let is_maximized = ui.input(|i| i.viewport().maximized.unwrap_or(false));
|
||||||
ui.ctx()
|
ui.ctx()
|
||||||
.send_viewport_cmd(ViewportCommand::Maximized(!is_maximized));
|
.send_viewport_cmd(ViewportCommand::Maximized(!is_maximized));
|
||||||
} else if title_bar_response.is_pointer_button_down_on() {
|
}
|
||||||
|
|
||||||
|
if title_bar_response.is_pointer_button_down_on() {
|
||||||
ui.ctx().send_viewport_cmd(ViewportCommand::StartDrag);
|
ui.ctx().send_viewport_cmd(ViewportCommand::StartDrag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user