mirror of
https://github.com/servo/servo.git
synced 2025-10-01 00:59:15 +01:00
Auto merge of #20658 - kvark:deglify, r=emilio
Make gleam optional for compositor, switch various names from glutin to winit <!-- Please describe your changes on the following line: --> The PR goes an extra step towards discriminating GL to a level of an optional dependency. This would ease up the transition to gfx-hal when the time calls for it, and upstreams some of the patches we've been using locally, cleans up some of the old cruft along the way. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach build-geckolib` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #20612 <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because _____ it's just refactoring <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20658) <!-- Reviewable:end -->
This commit is contained in:
commit
89bf7c2a92
10 changed files with 288 additions and 252 deletions
|
@ -3,10 +3,10 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use servo::msg::constellation_msg::{self, Key, KeyModifiers};
|
||||
use winit::{self, VirtualKeyCode};
|
||||
use winit::VirtualKeyCode;
|
||||
|
||||
bitflags! {
|
||||
pub struct GlutinKeyModifiers: u8 {
|
||||
pub struct WinitKeyModifiers: u8 {
|
||||
const LEFT_CONTROL = 1;
|
||||
const RIGHT_CONTROL = 2;
|
||||
const LEFT_SHIFT = 4;
|
||||
|
@ -131,129 +131,130 @@ pub fn char_to_script_key(c: char) -> Option<constellation_msg::Key> {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn glutin_key_to_script_key(key: winit::VirtualKeyCode) -> Result<constellation_msg::Key, ()> {
|
||||
pub fn winit_key_to_script_key(key: VirtualKeyCode) -> Result<constellation_msg::Key, ()> {
|
||||
use winit::VirtualKeyCode::*;
|
||||
// TODO(negge): add more key mappings
|
||||
match key {
|
||||
VirtualKeyCode::A => Ok(Key::A),
|
||||
VirtualKeyCode::B => Ok(Key::B),
|
||||
VirtualKeyCode::C => Ok(Key::C),
|
||||
VirtualKeyCode::D => Ok(Key::D),
|
||||
VirtualKeyCode::E => Ok(Key::E),
|
||||
VirtualKeyCode::F => Ok(Key::F),
|
||||
VirtualKeyCode::G => Ok(Key::G),
|
||||
VirtualKeyCode::H => Ok(Key::H),
|
||||
VirtualKeyCode::I => Ok(Key::I),
|
||||
VirtualKeyCode::J => Ok(Key::J),
|
||||
VirtualKeyCode::K => Ok(Key::K),
|
||||
VirtualKeyCode::L => Ok(Key::L),
|
||||
VirtualKeyCode::M => Ok(Key::M),
|
||||
VirtualKeyCode::N => Ok(Key::N),
|
||||
VirtualKeyCode::O => Ok(Key::O),
|
||||
VirtualKeyCode::P => Ok(Key::P),
|
||||
VirtualKeyCode::Q => Ok(Key::Q),
|
||||
VirtualKeyCode::R => Ok(Key::R),
|
||||
VirtualKeyCode::S => Ok(Key::S),
|
||||
VirtualKeyCode::T => Ok(Key::T),
|
||||
VirtualKeyCode::U => Ok(Key::U),
|
||||
VirtualKeyCode::V => Ok(Key::V),
|
||||
VirtualKeyCode::W => Ok(Key::W),
|
||||
VirtualKeyCode::X => Ok(Key::X),
|
||||
VirtualKeyCode::Y => Ok(Key::Y),
|
||||
VirtualKeyCode::Z => Ok(Key::Z),
|
||||
Ok(match key {
|
||||
A => Key::A,
|
||||
B => Key::B,
|
||||
C => Key::C,
|
||||
D => Key::D,
|
||||
E => Key::E,
|
||||
F => Key::F,
|
||||
G => Key::G,
|
||||
H => Key::H,
|
||||
I => Key::I,
|
||||
J => Key::J,
|
||||
K => Key::K,
|
||||
L => Key::L,
|
||||
M => Key::M,
|
||||
N => Key::N,
|
||||
O => Key::O,
|
||||
P => Key::P,
|
||||
Q => Key::Q,
|
||||
R => Key::R,
|
||||
S => Key::S,
|
||||
T => Key::T,
|
||||
U => Key::U,
|
||||
V => Key::V,
|
||||
W => Key::W,
|
||||
X => Key::X,
|
||||
Y => Key::Y,
|
||||
Z => Key::Z,
|
||||
|
||||
VirtualKeyCode::Numpad0 => Ok(Key::Kp0),
|
||||
VirtualKeyCode::Numpad1 => Ok(Key::Kp1),
|
||||
VirtualKeyCode::Numpad2 => Ok(Key::Kp2),
|
||||
VirtualKeyCode::Numpad3 => Ok(Key::Kp3),
|
||||
VirtualKeyCode::Numpad4 => Ok(Key::Kp4),
|
||||
VirtualKeyCode::Numpad5 => Ok(Key::Kp5),
|
||||
VirtualKeyCode::Numpad6 => Ok(Key::Kp6),
|
||||
VirtualKeyCode::Numpad7 => Ok(Key::Kp7),
|
||||
VirtualKeyCode::Numpad8 => Ok(Key::Kp8),
|
||||
VirtualKeyCode::Numpad9 => Ok(Key::Kp9),
|
||||
Numpad0 => Key::Kp0,
|
||||
Numpad1 => Key::Kp1,
|
||||
Numpad2 => Key::Kp2,
|
||||
Numpad3 => Key::Kp3,
|
||||
Numpad4 => Key::Kp4,
|
||||
Numpad5 => Key::Kp5,
|
||||
Numpad6 => Key::Kp6,
|
||||
Numpad7 => Key::Kp7,
|
||||
Numpad8 => Key::Kp8,
|
||||
Numpad9 => Key::Kp9,
|
||||
|
||||
VirtualKeyCode::Key0 => Ok(Key::Num0),
|
||||
VirtualKeyCode::Key1 => Ok(Key::Num1),
|
||||
VirtualKeyCode::Key2 => Ok(Key::Num2),
|
||||
VirtualKeyCode::Key3 => Ok(Key::Num3),
|
||||
VirtualKeyCode::Key4 => Ok(Key::Num4),
|
||||
VirtualKeyCode::Key5 => Ok(Key::Num5),
|
||||
VirtualKeyCode::Key6 => Ok(Key::Num6),
|
||||
VirtualKeyCode::Key7 => Ok(Key::Num7),
|
||||
VirtualKeyCode::Key8 => Ok(Key::Num8),
|
||||
VirtualKeyCode::Key9 => Ok(Key::Num9),
|
||||
Key0 => Key::Num0,
|
||||
Key1 => Key::Num1,
|
||||
Key2 => Key::Num2,
|
||||
Key3 => Key::Num3,
|
||||
Key4 => Key::Num4,
|
||||
Key5 => Key::Num5,
|
||||
Key6 => Key::Num6,
|
||||
Key7 => Key::Num7,
|
||||
Key8 => Key::Num8,
|
||||
Key9 => Key::Num9,
|
||||
|
||||
VirtualKeyCode::Return => Ok(Key::Enter),
|
||||
VirtualKeyCode::Space => Ok(Key::Space),
|
||||
VirtualKeyCode::Escape => Ok(Key::Escape),
|
||||
VirtualKeyCode::Equals => Ok(Key::Equal),
|
||||
VirtualKeyCode::Minus => Ok(Key::Minus),
|
||||
VirtualKeyCode::Back => Ok(Key::Backspace),
|
||||
VirtualKeyCode::PageDown => Ok(Key::PageDown),
|
||||
VirtualKeyCode::PageUp => Ok(Key::PageUp),
|
||||
Return => Key::Enter,
|
||||
Space => Key::Space,
|
||||
Escape => Key::Escape,
|
||||
Equals => Key::Equal,
|
||||
Minus => Key::Minus,
|
||||
Back => Key::Backspace,
|
||||
PageDown => Key::PageDown,
|
||||
PageUp => Key::PageUp,
|
||||
|
||||
VirtualKeyCode::Insert => Ok(Key::Insert),
|
||||
VirtualKeyCode::Home => Ok(Key::Home),
|
||||
VirtualKeyCode::Delete => Ok(Key::Delete),
|
||||
VirtualKeyCode::End => Ok(Key::End),
|
||||
Insert => Key::Insert,
|
||||
Home => Key::Home,
|
||||
Delete => Key::Delete,
|
||||
End => Key::End,
|
||||
|
||||
VirtualKeyCode::Left => Ok(Key::Left),
|
||||
VirtualKeyCode::Up => Ok(Key::Up),
|
||||
VirtualKeyCode::Right => Ok(Key::Right),
|
||||
VirtualKeyCode::Down => Ok(Key::Down),
|
||||
Left => Key::Left,
|
||||
Up => Key::Up,
|
||||
Right => Key::Right,
|
||||
Down => Key::Down,
|
||||
|
||||
VirtualKeyCode::LShift => Ok(Key::LeftShift),
|
||||
VirtualKeyCode::LControl => Ok(Key::LeftControl),
|
||||
VirtualKeyCode::LAlt => Ok(Key::LeftAlt),
|
||||
VirtualKeyCode::LWin => Ok(Key::LeftSuper),
|
||||
VirtualKeyCode::RShift => Ok(Key::RightShift),
|
||||
VirtualKeyCode::RControl => Ok(Key::RightControl),
|
||||
VirtualKeyCode::RAlt => Ok(Key::RightAlt),
|
||||
VirtualKeyCode::RWin => Ok(Key::RightSuper),
|
||||
LShift => Key::LeftShift,
|
||||
LControl => Key::LeftControl,
|
||||
LAlt => Key::LeftAlt,
|
||||
LWin => Key::LeftSuper,
|
||||
RShift => Key::RightShift,
|
||||
RControl => Key::RightControl,
|
||||
RAlt => Key::RightAlt,
|
||||
RWin => Key::RightSuper,
|
||||
|
||||
VirtualKeyCode::Apostrophe => Ok(Key::Apostrophe),
|
||||
VirtualKeyCode::Backslash => Ok(Key::Backslash),
|
||||
VirtualKeyCode::Comma => Ok(Key::Comma),
|
||||
VirtualKeyCode::Grave => Ok(Key::GraveAccent),
|
||||
VirtualKeyCode::LBracket => Ok(Key::LeftBracket),
|
||||
VirtualKeyCode::Period => Ok(Key::Period),
|
||||
VirtualKeyCode::RBracket => Ok(Key::RightBracket),
|
||||
VirtualKeyCode::Semicolon => Ok(Key::Semicolon),
|
||||
VirtualKeyCode::Slash => Ok(Key::Slash),
|
||||
VirtualKeyCode::Tab => Ok(Key::Tab),
|
||||
VirtualKeyCode::Subtract => Ok(Key::Minus),
|
||||
Apostrophe => Key::Apostrophe,
|
||||
Backslash => Key::Backslash,
|
||||
Comma => Key::Comma,
|
||||
Grave => Key::GraveAccent,
|
||||
LBracket => Key::LeftBracket,
|
||||
Period => Key::Period,
|
||||
RBracket => Key::RightBracket,
|
||||
Semicolon => Key::Semicolon,
|
||||
Slash => Key::Slash,
|
||||
Tab => Key::Tab,
|
||||
Subtract => Key::Minus,
|
||||
|
||||
VirtualKeyCode::F1 => Ok(Key::F1),
|
||||
VirtualKeyCode::F2 => Ok(Key::F2),
|
||||
VirtualKeyCode::F3 => Ok(Key::F3),
|
||||
VirtualKeyCode::F4 => Ok(Key::F4),
|
||||
VirtualKeyCode::F5 => Ok(Key::F5),
|
||||
VirtualKeyCode::F6 => Ok(Key::F6),
|
||||
VirtualKeyCode::F7 => Ok(Key::F7),
|
||||
VirtualKeyCode::F8 => Ok(Key::F8),
|
||||
VirtualKeyCode::F9 => Ok(Key::F9),
|
||||
VirtualKeyCode::F10 => Ok(Key::F10),
|
||||
VirtualKeyCode::F11 => Ok(Key::F11),
|
||||
VirtualKeyCode::F12 => Ok(Key::F12),
|
||||
F1 => Key::F1,
|
||||
F2 => Key::F2,
|
||||
F3 => Key::F3,
|
||||
F4 => Key::F4,
|
||||
F5 => Key::F5,
|
||||
F6 => Key::F6,
|
||||
F7 => Key::F7,
|
||||
F8 => Key::F8,
|
||||
F9 => Key::F9,
|
||||
F10 => Key::F10,
|
||||
F11 => Key::F11,
|
||||
F12 => Key::F12,
|
||||
|
||||
VirtualKeyCode::NavigateBackward => Ok(Key::NavigateBackward),
|
||||
VirtualKeyCode::NavigateForward => Ok(Key::NavigateForward),
|
||||
_ => Err(()),
|
||||
}
|
||||
NavigateBackward => Key::NavigateBackward,
|
||||
NavigateForward => Key::NavigateForward,
|
||||
_ => return Err(()),
|
||||
})
|
||||
}
|
||||
|
||||
pub fn glutin_mods_to_script_mods(modifiers: GlutinKeyModifiers) -> constellation_msg::KeyModifiers {
|
||||
pub fn winit_mods_to_script_mods(modifiers: WinitKeyModifiers) -> constellation_msg::KeyModifiers {
|
||||
let mut result = constellation_msg::KeyModifiers::empty();
|
||||
if modifiers.intersects(GlutinKeyModifiers::LEFT_SHIFT | GlutinKeyModifiers::RIGHT_SHIFT) {
|
||||
if modifiers.intersects(WinitKeyModifiers::LEFT_SHIFT | WinitKeyModifiers::RIGHT_SHIFT) {
|
||||
result.insert(KeyModifiers::SHIFT);
|
||||
}
|
||||
if modifiers.intersects(GlutinKeyModifiers::LEFT_CONTROL | GlutinKeyModifiers::RIGHT_CONTROL) {
|
||||
if modifiers.intersects(WinitKeyModifiers::LEFT_CONTROL | WinitKeyModifiers::RIGHT_CONTROL) {
|
||||
result.insert(KeyModifiers::CONTROL);
|
||||
}
|
||||
if modifiers.intersects(GlutinKeyModifiers::LEFT_ALT | GlutinKeyModifiers::RIGHT_ALT) {
|
||||
if modifiers.intersects(WinitKeyModifiers::LEFT_ALT | WinitKeyModifiers::RIGHT_ALT) {
|
||||
result.insert(KeyModifiers::ALT);
|
||||
}
|
||||
if modifiers.intersects(GlutinKeyModifiers::LEFT_SUPER | GlutinKeyModifiers::RIGHT_SUPER) {
|
||||
if modifiers.intersects(WinitKeyModifiers::LEFT_SUPER | WinitKeyModifiers::RIGHT_SUPER) {
|
||||
result.insert(KeyModifiers::SUPER);
|
||||
}
|
||||
result
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
//! A windowing implementation using glutin.
|
||||
//! A windowing implementation using winit.
|
||||
|
||||
use euclid::{Length, TypedPoint2D, TypedVector2D, TypedScale, TypedSize2D};
|
||||
#[cfg(target_os = "windows")]
|
||||
use gdi32;
|
||||
use gleam::gl;
|
||||
use glutin::{self, Api, GlContext, GlRequest};
|
||||
use glutin::{Api, ContextBuilder, GlContext, GlRequest, GlWindow};
|
||||
#[cfg(any(target_os = "linux", target_os = "macos"))]
|
||||
use osmesa_sys;
|
||||
use servo::compositing::compositor_thread::EventLoopWaker;
|
||||
|
@ -31,7 +31,7 @@ use std::rc::Rc;
|
|||
use std::sync::Arc;
|
||||
use std::thread;
|
||||
use std::time;
|
||||
use super::keyutils::{self, GlutinKeyModifiers};
|
||||
use super::keyutils::{self, WinitKeyModifiers};
|
||||
#[cfg(target_os = "windows")]
|
||||
use user32;
|
||||
#[cfg(target_os = "windows")]
|
||||
|
@ -138,7 +138,7 @@ impl HeadlessContext {
|
|||
}
|
||||
|
||||
enum WindowKind {
|
||||
Window(glutin::GlWindow, RefCell<winit::EventsLoop>),
|
||||
Window(GlWindow, RefCell<winit::EventsLoop>),
|
||||
Headless(HeadlessContext),
|
||||
}
|
||||
|
||||
|
@ -151,7 +151,7 @@ pub struct Window {
|
|||
mouse_down_point: Cell<TypedPoint2D<i32, DevicePixel>>,
|
||||
event_queue: RefCell<Vec<WindowEvent>>,
|
||||
mouse_pos: Cell<TypedPoint2D<i32, DevicePixel>>,
|
||||
key_modifiers: Cell<GlutinKeyModifiers>,
|
||||
key_modifiers: Cell<WinitKeyModifiers>,
|
||||
last_pressed_key: Cell<Option<Key>>,
|
||||
animation_state: Cell<AnimationState>,
|
||||
fullscreen: Cell<bool>,
|
||||
|
@ -203,7 +203,7 @@ impl Window {
|
|||
|
||||
window_builder = builder_with_platform_options(window_builder);
|
||||
|
||||
let mut context_builder = glutin::ContextBuilder::new()
|
||||
let mut context_builder = ContextBuilder::new()
|
||||
.with_gl(Window::gl_version())
|
||||
.with_vsync(opts::get().enable_vsync);
|
||||
|
||||
|
@ -211,7 +211,7 @@ impl Window {
|
|||
context_builder = context_builder.with_multisampling(MULTISAMPLES)
|
||||
}
|
||||
|
||||
let glutin_window = glutin::GlWindow::new(window_builder, context_builder, &events_loop)
|
||||
let glutin_window = GlWindow::new(window_builder, context_builder, &events_loop)
|
||||
.expect("Failed to create window.");
|
||||
|
||||
unsafe {
|
||||
|
@ -270,7 +270,7 @@ impl Window {
|
|||
mouse_down_point: Cell::new(TypedPoint2D::new(0, 0)),
|
||||
|
||||
mouse_pos: Cell::new(TypedPoint2D::new(0, 0)),
|
||||
key_modifiers: Cell::new(GlutinKeyModifiers::empty()),
|
||||
key_modifiers: Cell::new(WinitKeyModifiers::empty()),
|
||||
|
||||
last_pressed_key: Cell::new(None),
|
||||
gl: gl.clone(),
|
||||
|
@ -347,13 +347,13 @@ impl Window {
|
|||
if self.is_animating() {
|
||||
// We block on compositing (servo_callback ends up calling swap_buffers)
|
||||
events_loop.borrow_mut().poll_events(|e| {
|
||||
self.glutin_event_to_servo_event(e);
|
||||
self.winit_event_to_servo_event(e);
|
||||
});
|
||||
stop = servo_callback();
|
||||
} else {
|
||||
// We block on glutin's event loop (window events)
|
||||
// We block on winit's event loop (window events)
|
||||
events_loop.borrow_mut().run_forever(|e| {
|
||||
self.glutin_event_to_servo_event(e);
|
||||
self.winit_event_to_servo_event(e);
|
||||
if !self.event_queue.borrow().is_empty() {
|
||||
if !self.suspended.get() {
|
||||
stop = servo_callback();
|
||||
|
@ -398,7 +398,7 @@ impl Window {
|
|||
}
|
||||
|
||||
fn handle_received_character(&self, ch: char) {
|
||||
let modifiers = keyutils::glutin_mods_to_script_mods(self.key_modifiers.get());
|
||||
let modifiers = keyutils::winit_mods_to_script_mods(self.key_modifiers.get());
|
||||
if keyutils::is_identifier_ignorable(&ch) {
|
||||
return
|
||||
}
|
||||
|
@ -425,14 +425,14 @@ impl Window {
|
|||
|
||||
fn toggle_keyboard_modifiers(&self, virtual_key_code: VirtualKeyCode) {
|
||||
match virtual_key_code {
|
||||
VirtualKeyCode::LControl => self.toggle_modifier(GlutinKeyModifiers::LEFT_CONTROL),
|
||||
VirtualKeyCode::RControl => self.toggle_modifier(GlutinKeyModifiers::RIGHT_CONTROL),
|
||||
VirtualKeyCode::LShift => self.toggle_modifier(GlutinKeyModifiers::LEFT_SHIFT),
|
||||
VirtualKeyCode::RShift => self.toggle_modifier(GlutinKeyModifiers::RIGHT_SHIFT),
|
||||
VirtualKeyCode::LAlt => self.toggle_modifier(GlutinKeyModifiers::LEFT_ALT),
|
||||
VirtualKeyCode::RAlt => self.toggle_modifier(GlutinKeyModifiers::RIGHT_ALT),
|
||||
VirtualKeyCode::LWin => self.toggle_modifier(GlutinKeyModifiers::LEFT_SUPER),
|
||||
VirtualKeyCode::RWin => self.toggle_modifier(GlutinKeyModifiers::RIGHT_SUPER),
|
||||
VirtualKeyCode::LControl => self.toggle_modifier(WinitKeyModifiers::LEFT_CONTROL),
|
||||
VirtualKeyCode::RControl => self.toggle_modifier(WinitKeyModifiers::RIGHT_CONTROL),
|
||||
VirtualKeyCode::LShift => self.toggle_modifier(WinitKeyModifiers::LEFT_SHIFT),
|
||||
VirtualKeyCode::RShift => self.toggle_modifier(WinitKeyModifiers::RIGHT_SHIFT),
|
||||
VirtualKeyCode::LAlt => self.toggle_modifier(WinitKeyModifiers::LEFT_ALT),
|
||||
VirtualKeyCode::RAlt => self.toggle_modifier(WinitKeyModifiers::RIGHT_ALT),
|
||||
VirtualKeyCode::LWin => self.toggle_modifier(WinitKeyModifiers::LEFT_SUPER),
|
||||
VirtualKeyCode::RWin => self.toggle_modifier(WinitKeyModifiers::RIGHT_SUPER),
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
|
@ -440,7 +440,7 @@ impl Window {
|
|||
fn handle_keyboard_input(&self, element_state: ElementState, virtual_key_code: VirtualKeyCode) {
|
||||
self.toggle_keyboard_modifiers(virtual_key_code);
|
||||
|
||||
if let Ok(key) = keyutils::glutin_key_to_script_key(virtual_key_code) {
|
||||
if let Ok(key) = keyutils::winit_key_to_script_key(virtual_key_code) {
|
||||
let state = match element_state {
|
||||
ElementState::Pressed => KeyState::Pressed,
|
||||
ElementState::Released => KeyState::Released,
|
||||
|
@ -450,12 +450,12 @@ impl Window {
|
|||
self.last_pressed_key.set(Some(key));
|
||||
}
|
||||
}
|
||||
let modifiers = keyutils::glutin_mods_to_script_mods(self.key_modifiers.get());
|
||||
let modifiers = keyutils::winit_mods_to_script_mods(self.key_modifiers.get());
|
||||
self.event_queue.borrow_mut().push(WindowEvent::KeyEvent(None, key, state, modifiers));
|
||||
}
|
||||
}
|
||||
|
||||
fn glutin_event_to_servo_event(&self, event: winit::Event) {
|
||||
fn winit_event_to_servo_event(&self, event: winit::Event) {
|
||||
match event {
|
||||
Event::WindowEvent {
|
||||
event: winit::WindowEvent::ReceivedCharacter(ch),
|
||||
|
@ -505,7 +505,7 @@ impl Window {
|
|||
}
|
||||
|
||||
let scroll_location = ScrollLocation::Delta(TypedVector2D::new(dx, dy));
|
||||
let phase = glutin_phase_to_touch_event_type(phase);
|
||||
let phase = winit_phase_to_touch_event_type(phase);
|
||||
let event = WindowEvent::Scroll(scroll_location, self.mouse_pos.get(), phase);
|
||||
self.event_queue.borrow_mut().push(event);
|
||||
},
|
||||
|
@ -515,7 +515,7 @@ impl Window {
|
|||
} => {
|
||||
use servo::script_traits::TouchId;
|
||||
|
||||
let phase = glutin_phase_to_touch_event_type(touch.phase);
|
||||
let phase = winit_phase_to_touch_event_type(touch.phase);
|
||||
let id = TouchId(touch.id as i32);
|
||||
let point = TypedPoint2D::new(touch.location.0 as f32, touch.location.1 as f32);
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Touch(phase, id, point));
|
||||
|
@ -560,7 +560,7 @@ impl Window {
|
|||
}
|
||||
}
|
||||
|
||||
fn toggle_modifier(&self, modifier: GlutinKeyModifiers) {
|
||||
fn toggle_modifier(&self, modifier: WinitKeyModifiers) {
|
||||
let mut modifiers = self.key_modifiers.get();
|
||||
modifiers.toggle(modifier);
|
||||
self.key_modifiers.set(modifiers);
|
||||
|
@ -636,7 +636,7 @@ impl Window {
|
|||
WindowKind::Window(ref window, ..) => {
|
||||
use winit::MouseCursor;
|
||||
|
||||
let glutin_cursor = match cursor {
|
||||
let winit_cursor = match cursor {
|
||||
CursorKind::Auto => MouseCursor::Default,
|
||||
CursorKind::None => MouseCursor::NoneCursor,
|
||||
CursorKind::Default => MouseCursor::Default,
|
||||
|
@ -674,7 +674,7 @@ impl Window {
|
|||
CursorKind::ZoomIn => MouseCursor::ZoomIn,
|
||||
CursorKind::ZoomOut => MouseCursor::ZoomOut,
|
||||
};
|
||||
window.set_cursor(glutin_cursor);
|
||||
window.set_cursor(winit_cursor);
|
||||
}
|
||||
WindowKind::Headless(..) => {}
|
||||
}
|
||||
|
@ -786,7 +786,7 @@ impl WindowMethods for Window {
|
|||
}
|
||||
}
|
||||
|
||||
fn glutin_phase_to_touch_event_type(phase: TouchPhase) -> TouchEventType {
|
||||
fn winit_phase_to_touch_event_type(phase: TouchPhase) -> TouchEventType {
|
||||
match phase {
|
||||
TouchPhase::Started => TouchEventType::Down,
|
||||
TouchPhase::Moved => TouchEventType::Move,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue