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:
parent
f01d337fa8
commit
7733d1d87c
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue