Send position on button release

This commit is contained in:
dAxpeDDa 2023-06-04 01:08:47 +02:00 committed by daxpedda
parent 587fa67571
commit 61bd8b8254
5 changed files with 54 additions and 35 deletions

View file

@ -243,7 +243,7 @@ impl Canvas {
pub fn on_mouse_release<M, T>(&mut self, mouse_handler: M, touch_handler: T)
where
M: 'static + FnMut(i32, MouseButton, ModifiersState),
M: 'static + FnMut(i32, PhysicalPosition<f64>, MouseButton, ModifiersState),
T: 'static + FnMut(i32, PhysicalPosition<f64>, Force),
{
match &mut self.mouse_state {

View file

@ -84,7 +84,7 @@ impl MouseHandler {
pub fn on_mouse_release<F>(&mut self, canvas_common: &super::Common, mut handler: F)
where
F: 'static + FnMut(i32, MouseButton, ModifiersState),
F: 'static + FnMut(i32, PhysicalPosition<f64>, MouseButton, ModifiersState),
{
let on_mouse_leave_handler = self.on_mouse_leave_handler.clone();
let mouse_capture_state = self.mouse_capture_state.clone();
@ -110,6 +110,7 @@ impl MouseHandler {
event.stop_propagation();
handler(
0,
event::mouse_position(&event).to_physical(super::super::scale_factor()),
event::mouse_button(&event).expect("no mouse button released"),
event::mouse_modifiers(&event),
);

View file

@ -75,7 +75,7 @@ impl PointerHandler {
mut mouse_handler: M,
mut touch_handler: T,
) where
M: 'static + FnMut(i32, MouseButton, ModifiersState),
M: 'static + FnMut(i32, PhysicalPosition<f64>, MouseButton, ModifiersState),
T: 'static + FnMut(i32, PhysicalPosition<f64>, Force),
{
let canvas = canvas_common.raw.clone();
@ -91,6 +91,7 @@ impl PointerHandler {
),
"mouse" => mouse_handler(
event.pointer_id(),
event::mouse_position(&event).to_physical(super::super::scale_factor()),
event::mouse_button(&event).expect("no mouse button released"),
event::mouse_modifiers(&event),
),