winit-core: move event
This commit is contained in:
parent
056421546a
commit
79fa4061cb
11 changed files with 46 additions and 36 deletions
|
|
@ -330,7 +330,7 @@ pub(super) fn event_mods(event: &NSEvent) -> Modifiers {
|
|||
pressed_mods.set(ModifiersKeys::LMETA, flags.contains(NX_DEVICELCMDKEYMASK));
|
||||
pressed_mods.set(ModifiersKeys::RMETA, flags.contains(NX_DEVICERCMDKEYMASK));
|
||||
|
||||
Modifiers { state, pressed_mods }
|
||||
Modifiers::new(state, pressed_mods)
|
||||
}
|
||||
|
||||
pub(super) fn dummy_event() -> Option<Retained<NSEvent>> {
|
||||
|
|
|
|||
|
|
@ -1096,7 +1096,7 @@ fn mouse_button(event: &NSEvent) -> MouseButton {
|
|||
// we're getting from the operating system, which makes it
|
||||
// impossible to provide such events as extra in `KeyEvent`.
|
||||
fn replace_event(event: &NSEvent, option_as_alt: OptionAsAlt) -> Retained<NSEvent> {
|
||||
let ev_mods = event_mods(event).state;
|
||||
let ev_mods = event_mods(event).state();
|
||||
let ignore_alt_characters = match option_as_alt {
|
||||
OptionAsAlt::OnlyLeft if lalt_pressed(event) => true,
|
||||
OptionAsAlt::OnlyRight if ralt_pressed(event) => true,
|
||||
|
|
|
|||
|
|
@ -267,7 +267,7 @@ impl EventState {
|
|||
pressed_mods
|
||||
.set(ModifiersKeys::RMETA, self.keyboard.contains(KeyboardModifierState::RMETA));
|
||||
|
||||
Modifiers { state, pressed_mods }
|
||||
Modifiers::new(state, pressed_mods)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ use crate::platform::web::{PollStrategy, WaitUntilStrategy};
|
|||
use crate::platform_impl::platform::backend::{EventListenerHandle, SafeAreaHandle};
|
||||
use crate::platform_impl::platform::r#async::DispatchRunner;
|
||||
use crate::platform_impl::platform::window::Inner;
|
||||
use crate::platform_impl::web::web_sys::event::mouse_button_to_id;
|
||||
use crate::window::WindowId;
|
||||
|
||||
#[derive(Debug)]
|
||||
|
|
@ -325,7 +326,10 @@ impl Shared {
|
|||
|
||||
runner.send_event(Event::DeviceEvent {
|
||||
device_id,
|
||||
event: DeviceEvent::Button { button: button.to_id().into(), state },
|
||||
event: DeviceEvent::Button {
|
||||
button: mouse_button_to_id(button).into(),
|
||||
state,
|
||||
},
|
||||
});
|
||||
|
||||
return;
|
||||
|
|
@ -374,7 +378,7 @@ impl Shared {
|
|||
runner.send_event(Event::DeviceEvent {
|
||||
device_id: event::mkdid(event.pointer_id()),
|
||||
event: DeviceEvent::Button {
|
||||
button: button.to_id().into(),
|
||||
button: mouse_button_to_id(button).into(),
|
||||
state: ElementState::Pressed,
|
||||
},
|
||||
});
|
||||
|
|
@ -393,7 +397,7 @@ impl Shared {
|
|||
runner.send_event(Event::DeviceEvent {
|
||||
device_id: event::mkdid(event.pointer_id()),
|
||||
event: DeviceEvent::Button {
|
||||
button: button.to_id().into(),
|
||||
button: mouse_button_to_id(button).into(),
|
||||
state: ElementState::Released,
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -68,16 +68,14 @@ pub fn mouse_button(event: &MouseEvent) -> Option<MouseButton> {
|
|||
}
|
||||
}
|
||||
|
||||
impl MouseButton {
|
||||
pub fn to_id(self) -> u16 {
|
||||
match self {
|
||||
MouseButton::Left => 0,
|
||||
MouseButton::Right => 1,
|
||||
MouseButton::Middle => 2,
|
||||
MouseButton::Back => 3,
|
||||
MouseButton::Forward => 4,
|
||||
MouseButton::Other(value) => value,
|
||||
}
|
||||
pub fn mouse_button_to_id(button: MouseButton) -> u16 {
|
||||
match button {
|
||||
MouseButton::Left => 0,
|
||||
MouseButton::Right => 1,
|
||||
MouseButton::Middle => 2,
|
||||
MouseButton::Back => 3,
|
||||
MouseButton::Forward => 4,
|
||||
MouseButton::Other(value) => value,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ use crate::dpi::PhysicalPosition;
|
|||
use crate::event::{ButtonSource, DeviceId, ElementState, Force, PointerKind, PointerSource};
|
||||
use crate::keyboard::ModifiersState;
|
||||
use crate::platform_impl::web::event::mkdid;
|
||||
use crate::platform_impl::web::web_sys::event::mouse_button_to_id;
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub(super) struct PointerHandler {
|
||||
|
|
@ -89,7 +90,7 @@ impl PointerHandler {
|
|||
finger_id,
|
||||
force: Some(Force::Normalized(event.pressure().into())),
|
||||
},
|
||||
PointerKind::Unknown => ButtonSource::Unknown(button.to_id()),
|
||||
PointerKind::Unknown => ButtonSource::Unknown(mouse_button_to_id(button)),
|
||||
};
|
||||
|
||||
handler(
|
||||
|
|
@ -142,7 +143,7 @@ impl PointerHandler {
|
|||
finger_id,
|
||||
force: Some(Force::Normalized(event.pressure().into())),
|
||||
},
|
||||
PointerKind::Unknown => ButtonSource::Unknown(button.to_id()),
|
||||
PointerKind::Unknown => ButtonSource::Unknown(mouse_button_to_id(button)),
|
||||
};
|
||||
|
||||
handler(
|
||||
|
|
@ -206,7 +207,7 @@ impl PointerHandler {
|
|||
let button = match kind {
|
||||
PointerKind::Mouse => ButtonSource::Mouse(button),
|
||||
PointerKind::Touch(finger_id) => {
|
||||
let button_id = button.to_id();
|
||||
let button_id = mouse_button_to_id(button);
|
||||
|
||||
if button_id != 1 {
|
||||
tracing::error!("unexpected touch button id: {button_id}");
|
||||
|
|
|
|||
|
|
@ -399,7 +399,7 @@ impl Event {
|
|||
} => Event::BufferedScaleFactorChanged(
|
||||
window_id.into_raw() as HWND,
|
||||
scale_factor,
|
||||
*surface_size_writer.new_surface_size.upgrade().unwrap().lock().unwrap(),
|
||||
surface_size_writer.surface_size().unwrap(),
|
||||
),
|
||||
event => event,
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue