diff options
author | Matt Brubeck <mbrubeck@limpet.net> | 2015-08-14 07:24:50 -0700 |
---|---|---|
committer | Matt Brubeck <mbrubeck@limpet.net> | 2015-10-22 10:37:03 -0700 |
commit | fe7460f34d20d5f17d21d60e1053028b21c63ebc (patch) | |
tree | 6cc401775f503ce01b528021cc87bc7580fc7140 /components/compositing/compositor_task.rs | |
parent | 4ed15a8853fc49d0940ed24d939fd0c407ee80a9 (diff) | |
download | servo-fe7460f34d20d5f17d21d60e1053028b21c63ebc.tar.gz servo-fe7460f34d20d5f17d21d60e1053028b21c63ebc.zip |
Dispatch touch events and perform default touch actions.
This is currently limited to simple single-touch actions. It does not include
momentum scrolling or pinch zooming.
Diffstat (limited to 'components/compositing/compositor_task.rs')
-rw-r--r-- | components/compositing/compositor_task.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/components/compositing/compositor_task.rs b/components/compositing/compositor_task.rs index cff97842653..b9d73c6b25d 100644 --- a/components/compositing/compositor_task.rs +++ b/components/compositing/compositor_task.rs @@ -10,7 +10,7 @@ use headless; use ipc_channel::ipc::{IpcReceiver, IpcSender}; use layers::layers::{BufferRequest, LayerBufferSet}; use layers::platform::surface::{NativeDisplay, NativeSurface}; -use msg::compositor_msg::{Epoch, FrameTreeId, LayerId, LayerProperties}; +use msg::compositor_msg::{Epoch, EventResult, FrameTreeId, LayerId, LayerProperties}; use msg::compositor_msg::{PaintListener, ScriptToCompositorMsg}; use msg::constellation_msg::{AnimationState, ConstellationChan, PipelineId}; use msg::constellation_msg::{Image, Key, KeyModifiers, KeyState}; @@ -94,6 +94,10 @@ pub fn run_script_listener_thread(compositor_proxy: Box<CompositorProxy + 'stati ScriptToCompositorMsg::SendKeyEvent(key, key_state, key_modifiers) => { compositor_proxy.send(Msg::KeyEvent(key, key_state, key_modifiers)) } + + ScriptToCompositorMsg::TouchEventProcessed(result) => { + compositor_proxy.send(Msg::TouchEventProcessed(result)) + } } } } @@ -189,6 +193,8 @@ pub enum Msg { RecompositeAfterScroll, /// Sends an unconsumed key event back to the compositor. KeyEvent(Key, KeyState, KeyModifiers), + /// Script has handled a touch event, and either prevented or allowed default actions. + TouchEventProcessed(EventResult), /// Changes the cursor. SetCursor(Cursor), /// Composite to a PNG file and return the Image over a passed channel. @@ -238,6 +244,7 @@ impl Debug for Msg { Msg::ScrollTimeout(..) => write!(f, "ScrollTimeout"), Msg::RecompositeAfterScroll => write!(f, "RecompositeAfterScroll"), Msg::KeyEvent(..) => write!(f, "KeyEvent"), + Msg::TouchEventProcessed(..) => write!(f, "TouchEventProcessed"), Msg::SetCursor(..) => write!(f, "SetCursor"), Msg::CreatePng(..) => write!(f, "CreatePng"), Msg::PaintTaskExited(..) => write!(f, "PaintTaskExited"), |