mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
Store a Sender<ConstellationControlMsg> in CompositionPipeline.
This commit is contained in:
parent
9476474267
commit
fafcc0a5da
3 changed files with 7 additions and 10 deletions
|
@ -39,7 +39,7 @@ use msg::constellation_msg::{PipelineId, WindowSizeData};
|
||||||
use png;
|
use png;
|
||||||
use profile_traits::mem::{self, Reporter, ReporterRequest, ReportKind};
|
use profile_traits::mem::{self, Reporter, ReporterRequest, ReportKind};
|
||||||
use profile_traits::time::{self, ProfilerCategory, profile};
|
use profile_traits::time::{self, ProfilerCategory, profile};
|
||||||
use script_traits::{ConstellationControlMsg, LayoutControlMsg, ScriptControlChan};
|
use script_traits::{ConstellationControlMsg, LayoutControlMsg};
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::collections::hash_map::Entry::{Occupied, Vacant};
|
use std::collections::hash_map::Entry::{Occupied, Vacant};
|
||||||
use std::mem as std_mem;
|
use std::mem as std_mem;
|
||||||
|
@ -1278,8 +1278,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
||||||
let layer_rect = Rect::new(-layer.extra_data.borrow().scroll_offset.to_untyped(),
|
let layer_rect = Rect::new(-layer.extra_data.borrow().scroll_offset.to_untyped(),
|
||||||
layer.bounds.borrow().size.to_untyped());
|
layer.bounds.borrow().size.to_untyped());
|
||||||
let pipeline = self.get_pipeline(layer.pipeline_id());
|
let pipeline = self.get_pipeline(layer.pipeline_id());
|
||||||
let ScriptControlChan(ref chan) = pipeline.script_chan;
|
pipeline.script_chan.send(ConstellationControlMsg::Viewport(pipeline.id.clone(), layer_rect)).unwrap();
|
||||||
chan.send(ConstellationControlMsg::Viewport(pipeline.id.clone(), layer_rect)).unwrap();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for kid in layer.children().iter() {
|
for kid in layer.children().iter() {
|
||||||
|
|
|
@ -14,7 +14,7 @@ use layers::color::Color;
|
||||||
use layers::geometry::LayerPixel;
|
use layers::geometry::LayerPixel;
|
||||||
use layers::layers::{Layer, LayerBufferSet};
|
use layers::layers::{Layer, LayerBufferSet};
|
||||||
use script_traits::CompositorEvent::{ClickEvent, MouseDownEvent, MouseMoveEvent, MouseUpEvent};
|
use script_traits::CompositorEvent::{ClickEvent, MouseDownEvent, MouseMoveEvent, MouseUpEvent};
|
||||||
use script_traits::{ScriptControlChan, ConstellationControlMsg};
|
use script_traits::ConstellationControlMsg;
|
||||||
use msg::compositor_msg::{Epoch, LayerId, LayerProperties, ScrollPolicy};
|
use msg::compositor_msg::{Epoch, LayerId, LayerProperties, ScrollPolicy};
|
||||||
use msg::constellation_msg::PipelineId;
|
use msg::constellation_msg::PipelineId;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
@ -360,8 +360,7 @@ impl CompositorLayer for Layer<CompositorData> {
|
||||||
};
|
};
|
||||||
|
|
||||||
let pipeline = compositor.get_pipeline(self.pipeline_id());
|
let pipeline = compositor.get_pipeline(self.pipeline_id());
|
||||||
let ScriptControlChan(ref chan) = pipeline.script_chan;
|
let _ = pipeline.script_chan.send(ConstellationControlMsg::SendEvent(pipeline.id.clone(), message));
|
||||||
let _ = chan.send(ConstellationControlMsg::SendEvent(pipeline.id.clone(), message));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn send_mouse_move_event<Window>(&self,
|
fn send_mouse_move_event<Window>(&self,
|
||||||
|
@ -370,8 +369,7 @@ impl CompositorLayer for Layer<CompositorData> {
|
||||||
where Window: WindowMethods {
|
where Window: WindowMethods {
|
||||||
let message = MouseMoveEvent(cursor.to_untyped());
|
let message = MouseMoveEvent(cursor.to_untyped());
|
||||||
let pipeline = compositor.get_pipeline(self.pipeline_id());
|
let pipeline = compositor.get_pipeline(self.pipeline_id());
|
||||||
let ScriptControlChan(ref chan) = pipeline.script_chan;
|
let _ = pipeline.script_chan.send(ConstellationControlMsg::SendEvent(pipeline.id.clone(), message));
|
||||||
let _ = chan.send(ConstellationControlMsg::SendEvent(pipeline.id.clone(), message));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn scroll_layer_and_all_child_layers(&self, new_offset: TypedPoint2D<LayerPixel, f32>)
|
fn scroll_layer_and_all_child_layers(&self, new_offset: TypedPoint2D<LayerPixel, f32>)
|
||||||
|
|
|
@ -59,7 +59,7 @@ pub struct Pipeline {
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct CompositionPipeline {
|
pub struct CompositionPipeline {
|
||||||
pub id: PipelineId,
|
pub id: PipelineId,
|
||||||
pub script_chan: ScriptControlChan,
|
pub script_chan: Sender<ConstellationControlMsg>,
|
||||||
pub layout_chan: LayoutControlChan,
|
pub layout_chan: LayoutControlChan,
|
||||||
pub chrome_to_paint_chan: Sender<ChromeToPaintMsg>,
|
pub chrome_to_paint_chan: Sender<ChromeToPaintMsg>,
|
||||||
}
|
}
|
||||||
|
@ -257,7 +257,7 @@ impl Pipeline {
|
||||||
pub fn to_sendable(&self) -> CompositionPipeline {
|
pub fn to_sendable(&self) -> CompositionPipeline {
|
||||||
CompositionPipeline {
|
CompositionPipeline {
|
||||||
id: self.id.clone(),
|
id: self.id.clone(),
|
||||||
script_chan: self.script_chan.clone(),
|
script_chan: self.script_chan.0.clone(),
|
||||||
layout_chan: self.layout_chan.clone(),
|
layout_chan: self.layout_chan.clone(),
|
||||||
chrome_to_paint_chan: self.chrome_to_paint_chan.clone(),
|
chrome_to_paint_chan: self.chrome_to_paint_chan.clone(),
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue