mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
auto merge of #4558 : mrobinson/servo/compositor-message-renames, r=zwarich
These names no longer reflect what the messages do, so rename them to SetFrameTree, AssignPaintedBuffers, and CreateOrUpdateBaseLayer.
This commit is contained in:
commit
1458709247
6 changed files with 63 additions and 63 deletions
|
@ -113,8 +113,8 @@ pub struct IOCompositor<Window: WindowMethods> {
|
||||||
/// many times for a single page.
|
/// many times for a single page.
|
||||||
got_load_complete_message: bool,
|
got_load_complete_message: bool,
|
||||||
|
|
||||||
/// Whether we have gotten a `SetIds` message.
|
/// Whether we have received a `SetFrameTree` message.
|
||||||
got_set_ids_message: bool,
|
got_set_frame_tree_message: bool,
|
||||||
|
|
||||||
/// The channel on which messages can be sent to the constellation.
|
/// The channel on which messages can be sent to the constellation.
|
||||||
constellation_chan: ConstellationChan,
|
constellation_chan: ConstellationChan,
|
||||||
|
@ -195,7 +195,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
||||||
ready_states: HashMap::new(),
|
ready_states: HashMap::new(),
|
||||||
paint_states: HashMap::new(),
|
paint_states: HashMap::new(),
|
||||||
got_load_complete_message: false,
|
got_load_complete_message: false,
|
||||||
got_set_ids_message: false,
|
got_set_frame_tree_message: false,
|
||||||
constellation_chan: constellation_chan,
|
constellation_chan: constellation_chan,
|
||||||
time_profiler_chan: time_profiler_chan,
|
time_profiler_chan: time_profiler_chan,
|
||||||
memory_profiler_chan: memory_profiler_chan,
|
memory_profiler_chan: memory_profiler_chan,
|
||||||
|
@ -268,7 +268,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
||||||
self.remove_outstanding_paint_msg();
|
self.remove_outstanding_paint_msg();
|
||||||
}
|
}
|
||||||
|
|
||||||
(Msg::SetIds(frame_tree, response_chan, new_constellation_chan),
|
(Msg::SetFrameTree(frame_tree, response_chan, new_constellation_chan),
|
||||||
ShutdownState::NotShuttingDown) => {
|
ShutdownState::NotShuttingDown) => {
|
||||||
self.set_frame_tree(&frame_tree,
|
self.set_frame_tree(&frame_tree,
|
||||||
response_chan,
|
response_chan,
|
||||||
|
@ -282,8 +282,8 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
||||||
response_channel.send(());
|
response_channel.send(());
|
||||||
}
|
}
|
||||||
|
|
||||||
(Msg::CreateOrUpdateRootLayer(layer_properties), ShutdownState::NotShuttingDown) => {
|
(Msg::CreateOrUpdateBaseLayer(layer_properties), ShutdownState::NotShuttingDown) => {
|
||||||
self.create_or_update_root_layer(layer_properties);
|
self.create_or_update_base_layer(layer_properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
(Msg::CreateOrUpdateDescendantLayer(layer_properties),
|
(Msg::CreateOrUpdateDescendantLayer(layer_properties),
|
||||||
|
@ -300,9 +300,9 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
||||||
self.set_layer_origin(pipeline_id, layer_id, origin);
|
self.set_layer_origin(pipeline_id, layer_id, origin);
|
||||||
}
|
}
|
||||||
|
|
||||||
(Msg::Paint(pipeline_id, epoch, replies), ShutdownState::NotShuttingDown) => {
|
(Msg::AssignPaintedBuffers(pipeline_id, epoch, replies), ShutdownState::NotShuttingDown) => {
|
||||||
for (layer_id, new_layer_buffer_set) in replies.into_iter() {
|
for (layer_id, new_layer_buffer_set) in replies.into_iter() {
|
||||||
self.paint(pipeline_id, layer_id, new_layer_buffer_set, epoch);
|
self.assign_painted_buffers(pipeline_id, layer_id, new_layer_buffer_set, epoch);
|
||||||
}
|
}
|
||||||
self.remove_outstanding_paint_msg();
|
self.remove_outstanding_paint_msg();
|
||||||
}
|
}
|
||||||
|
@ -464,7 +464,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
||||||
self.constellation_chan = new_constellation_chan;
|
self.constellation_chan = new_constellation_chan;
|
||||||
self.send_window_size();
|
self.send_window_size();
|
||||||
|
|
||||||
self.got_set_ids_message = true;
|
self.got_set_frame_tree_message = true;
|
||||||
self.composite_if_necessary();
|
self.composite_if_necessary();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -540,24 +540,24 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn create_or_update_root_layer(&mut self, layer_properties: LayerProperties) {
|
fn create_or_update_base_layer(&mut self, layer_properties: LayerProperties) {
|
||||||
let need_new_root_layer = !self.update_layer_if_exists(layer_properties);
|
let need_new_base_layer = !self.update_layer_if_exists(layer_properties);
|
||||||
if need_new_root_layer {
|
if need_new_base_layer {
|
||||||
let root_layer = self.find_pipeline_root_layer(layer_properties.pipeline_id);
|
let root_layer = self.find_pipeline_root_layer(layer_properties.pipeline_id);
|
||||||
root_layer.update_layer_except_bounds(layer_properties);
|
root_layer.update_layer_except_bounds(layer_properties);
|
||||||
|
|
||||||
let root_layer_pipeline = root_layer.extra_data.borrow().pipeline.clone();
|
let root_layer_pipeline = root_layer.extra_data.borrow().pipeline.clone();
|
||||||
let first_child = CompositorData::new_layer(
|
let base_layer = CompositorData::new_layer(
|
||||||
root_layer_pipeline.clone(),
|
root_layer_pipeline.clone(),
|
||||||
layer_properties,
|
layer_properties,
|
||||||
WantsScrollEventsFlag::DoesntWantScrollEvents,
|
WantsScrollEventsFlag::DoesntWantScrollEvents,
|
||||||
opts::get().tile_size);
|
opts::get().tile_size);
|
||||||
|
|
||||||
// Add the first child / base layer to the front of the child list, so that
|
// Add the base layer to the front of the child list, so that child
|
||||||
// child iframe layers are painted on top of the base layer. These iframe
|
// iframe layers are painted on top of the base layer. These iframe
|
||||||
// layers were added previously when creating the layer tree skeleton in
|
// layers were added previously when creating the layer tree
|
||||||
// create_frame_tree_root_layers.
|
// skeleton in create_frame_tree_root_layers.
|
||||||
root_layer.children().insert(0, first_child);
|
root_layer.children().insert(0, base_layer);
|
||||||
}
|
}
|
||||||
|
|
||||||
self.scroll_layer_to_fragment_point_if_necessary(layer_properties.pipeline_id,
|
self.scroll_layer_to_fragment_point_if_necessary(layer_properties.pipeline_id,
|
||||||
|
@ -654,13 +654,13 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
||||||
self.send_buffer_requests_for_all_layers();
|
self.send_buffer_requests_for_all_layers();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn paint(&mut self,
|
fn assign_painted_buffers(&mut self,
|
||||||
pipeline_id: PipelineId,
|
pipeline_id: PipelineId,
|
||||||
layer_id: LayerId,
|
layer_id: LayerId,
|
||||||
new_layer_buffer_set: Box<LayerBufferSet>,
|
new_layer_buffer_set: Box<LayerBufferSet>,
|
||||||
epoch: Epoch) {
|
epoch: Epoch) {
|
||||||
match self.find_layer_with_pipeline_and_layer_id(pipeline_id, layer_id) {
|
match self.find_layer_with_pipeline_and_layer_id(pipeline_id, layer_id) {
|
||||||
Some(layer) => self.paint_to_layer(layer, new_layer_buffer_set, epoch),
|
Some(layer) => self.assign_painted_buffers_to_layer(layer, new_layer_buffer_set, epoch),
|
||||||
None => {
|
None => {
|
||||||
match self.paint_channels.entry(pipeline_id) {
|
match self.paint_channels.entry(pipeline_id) {
|
||||||
Occupied(entry) => {
|
Occupied(entry) => {
|
||||||
|
@ -673,10 +673,10 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn paint_to_layer(&mut self,
|
fn assign_painted_buffers_to_layer(&mut self,
|
||||||
layer: Rc<Layer<CompositorData>>,
|
layer: Rc<Layer<CompositorData>>,
|
||||||
new_layer_buffer_set: Box<LayerBufferSet>,
|
new_layer_buffer_set: Box<LayerBufferSet>,
|
||||||
epoch: Epoch) {
|
epoch: Epoch) {
|
||||||
debug!("compositor received new frame at size {}x{}",
|
debug!("compositor received new frame at size {}x{}",
|
||||||
self.window_size.width.get(),
|
self.window_size.width.get(),
|
||||||
self.window_size.height.get());
|
self.window_size.height.get());
|
||||||
|
@ -1038,7 +1038,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if !self.got_set_ids_message {
|
if !self.got_set_frame_tree_message {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1295,12 +1295,12 @@ impl<Window> CompositorEventListener for IOCompositor<Window> where Window: Wind
|
||||||
fn repaint_synchronously(&mut self) {
|
fn repaint_synchronously(&mut self) {
|
||||||
while self.shutdown_state != ShutdownState::ShuttingDown {
|
while self.shutdown_state != ShutdownState::ShuttingDown {
|
||||||
let msg = self.port.recv_compositor_msg();
|
let msg = self.port.recv_compositor_msg();
|
||||||
let is_paint = match msg {
|
let received_new_buffers = match msg {
|
||||||
Msg::Paint(..) => true,
|
Msg::AssignPaintedBuffers(..) => true,
|
||||||
_ => false,
|
_ => false,
|
||||||
};
|
};
|
||||||
let keep_going = self.handle_browser_message(msg);
|
let keep_going = self.handle_browser_message(msg);
|
||||||
if is_paint {
|
if received_new_buffers {
|
||||||
self.composite();
|
self.composite();
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
@ -1318,7 +1318,7 @@ impl<Window> CompositorEventListener for IOCompositor<Window> where Window: Wind
|
||||||
}
|
}
|
||||||
|
|
||||||
// Drain compositor port, sometimes messages contain channels that are blocking
|
// Drain compositor port, sometimes messages contain channels that are blocking
|
||||||
// another task from finishing (i.e. SetIds)
|
// another task from finishing (i.e. SetFrameTree).
|
||||||
while self.port.try_recv_compositor_msg().is_some() {}
|
while self.port.try_recv_compositor_msg().is_some() {}
|
||||||
|
|
||||||
// Tell the profiler, memory profiler, and scrolling timer to shut down.
|
// Tell the profiler, memory profiler, and scrolling timer to shut down.
|
||||||
|
|
|
@ -130,11 +130,11 @@ impl PaintListener for Box<CompositorProxy+'static+Send> {
|
||||||
port.recv()
|
port.recv()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn paint(&mut self,
|
fn assign_painted_buffers(&mut self,
|
||||||
pipeline_id: PipelineId,
|
pipeline_id: PipelineId,
|
||||||
epoch: Epoch,
|
epoch: Epoch,
|
||||||
replies: Vec<(LayerId, Box<LayerBufferSet>)>) {
|
replies: Vec<(LayerId, Box<LayerBufferSet>)>) {
|
||||||
self.send(Msg::Paint(pipeline_id, epoch, replies));
|
self.send(Msg::AssignPaintedBuffers(pipeline_id, epoch, replies));
|
||||||
}
|
}
|
||||||
|
|
||||||
fn initialize_layers_for_pipeline(&mut self,
|
fn initialize_layers_for_pipeline(&mut self,
|
||||||
|
@ -148,7 +148,7 @@ impl PaintListener for Box<CompositorProxy+'static+Send> {
|
||||||
for metadata in metadata.iter() {
|
for metadata in metadata.iter() {
|
||||||
let layer_properties = LayerProperties::new(pipeline_id, epoch, metadata);
|
let layer_properties = LayerProperties::new(pipeline_id, epoch, metadata);
|
||||||
if first {
|
if first {
|
||||||
self.send(Msg::CreateOrUpdateRootLayer(layer_properties));
|
self.send(Msg::CreateOrUpdateBaseLayer(layer_properties));
|
||||||
first = false
|
first = false
|
||||||
} else {
|
} else {
|
||||||
self.send(Msg::CreateOrUpdateDescendantLayer(layer_properties));
|
self.send(Msg::CreateOrUpdateDescendantLayer(layer_properties));
|
||||||
|
@ -171,8 +171,8 @@ pub enum Msg {
|
||||||
Exit(Sender<()>),
|
Exit(Sender<()>),
|
||||||
|
|
||||||
/// Informs the compositor that the constellation has completed shutdown.
|
/// Informs the compositor that the constellation has completed shutdown.
|
||||||
/// Required because the constellation can have pending calls to make (e.g. SetIds)
|
/// Required because the constellation can have pending calls to make
|
||||||
/// at the time that we send it an ExitMsg.
|
/// (e.g. SetFrameTree) at the time that we send it an ExitMsg.
|
||||||
ShutdownComplete,
|
ShutdownComplete,
|
||||||
|
|
||||||
/// Requests the compositor's graphics metadata. Graphics metadata is what the painter needs
|
/// Requests the compositor's graphics metadata. Graphics metadata is what the painter needs
|
||||||
|
@ -184,7 +184,7 @@ pub enum Msg {
|
||||||
|
|
||||||
/// Tells the compositor to create the root layer for a pipeline if necessary (i.e. if no layer
|
/// Tells the compositor to create the root layer for a pipeline if necessary (i.e. if no layer
|
||||||
/// with that ID exists).
|
/// with that ID exists).
|
||||||
CreateOrUpdateRootLayer(LayerProperties),
|
CreateOrUpdateBaseLayer(LayerProperties),
|
||||||
/// Tells the compositor to create a descendant layer for a pipeline if necessary (i.e. if no
|
/// Tells the compositor to create a descendant layer for a pipeline if necessary (i.e. if no
|
||||||
/// layer with that ID exists).
|
/// layer with that ID exists).
|
||||||
CreateOrUpdateDescendantLayer(LayerProperties),
|
CreateOrUpdateDescendantLayer(LayerProperties),
|
||||||
|
@ -192,8 +192,8 @@ pub enum Msg {
|
||||||
SetLayerOrigin(PipelineId, LayerId, Point2D<f32>),
|
SetLayerOrigin(PipelineId, LayerId, Point2D<f32>),
|
||||||
/// Scroll a page in a window
|
/// Scroll a page in a window
|
||||||
ScrollFragmentPoint(PipelineId, LayerId, Point2D<f32>),
|
ScrollFragmentPoint(PipelineId, LayerId, Point2D<f32>),
|
||||||
/// Requests that the compositor paint the given layer buffer set for the given page size.
|
/// Requests that the compositor assign the painted buffers to the given layers.
|
||||||
Paint(PipelineId, Epoch, Vec<(LayerId, Box<LayerBufferSet>)>),
|
AssignPaintedBuffers(PipelineId, Epoch, Vec<(LayerId, Box<LayerBufferSet>)>),
|
||||||
/// Alerts the compositor to the current status of page loading.
|
/// Alerts the compositor to the current status of page loading.
|
||||||
ChangeReadyState(PipelineId, ReadyState),
|
ChangeReadyState(PipelineId, ReadyState),
|
||||||
/// Alerts the compositor to the current status of painting.
|
/// Alerts the compositor to the current status of painting.
|
||||||
|
@ -204,8 +204,8 @@ pub enum Msg {
|
||||||
ChangePageLoadData(FrameId, LoadData),
|
ChangePageLoadData(FrameId, LoadData),
|
||||||
/// Alerts the compositor that a `PaintMsg` has been discarded.
|
/// Alerts the compositor that a `PaintMsg` has been discarded.
|
||||||
PaintMsgDiscarded,
|
PaintMsgDiscarded,
|
||||||
/// Sets the channel to the current layout and paint tasks, along with their ID.
|
/// Replaces the current frame tree, typically called during main frame navigation.
|
||||||
SetIds(SendableFrameTree, Sender<()>, ConstellationChan),
|
SetFrameTree(SendableFrameTree, Sender<()>, ConstellationChan),
|
||||||
/// Sends an updated version of the frame tree.
|
/// Sends an updated version of the frame tree.
|
||||||
FrameTreeUpdate(FrameTreeDiff, Sender<()>),
|
FrameTreeUpdate(FrameTreeDiff, Sender<()>),
|
||||||
/// The load of a page has completed.
|
/// The load of a page has completed.
|
||||||
|
@ -227,18 +227,18 @@ impl Show for Msg {
|
||||||
Msg::Exit(..) => write!(f, "Exit"),
|
Msg::Exit(..) => write!(f, "Exit"),
|
||||||
Msg::ShutdownComplete(..) => write!(f, "ShutdownComplete"),
|
Msg::ShutdownComplete(..) => write!(f, "ShutdownComplete"),
|
||||||
Msg::GetGraphicsMetadata(..) => write!(f, "GetGraphicsMetadata"),
|
Msg::GetGraphicsMetadata(..) => write!(f, "GetGraphicsMetadata"),
|
||||||
Msg::CreateOrUpdateRootLayer(..) => write!(f, "CreateOrUpdateRootLayer"),
|
Msg::CreateOrUpdateBaseLayer(..) => write!(f, "CreateOrUpdateBaseLayer"),
|
||||||
Msg::CreateOrUpdateDescendantLayer(..) => write!(f, "CreateOrUpdateDescendantLayer"),
|
Msg::CreateOrUpdateDescendantLayer(..) => write!(f, "CreateOrUpdateDescendantLayer"),
|
||||||
Msg::SetLayerOrigin(..) => write!(f, "SetLayerOrigin"),
|
Msg::SetLayerOrigin(..) => write!(f, "SetLayerOrigin"),
|
||||||
Msg::ScrollFragmentPoint(..) => write!(f, "ScrollFragmentPoint"),
|
Msg::ScrollFragmentPoint(..) => write!(f, "ScrollFragmentPoint"),
|
||||||
Msg::Paint(..) => write!(f, "Paint"),
|
Msg::AssignPaintedBuffers(..) => write!(f, "AssignPaintedBuffers"),
|
||||||
Msg::ChangeReadyState(..) => write!(f, "ChangeReadyState"),
|
Msg::ChangeReadyState(..) => write!(f, "ChangeReadyState"),
|
||||||
Msg::ChangePaintState(..) => write!(f, "ChangePaintState"),
|
Msg::ChangePaintState(..) => write!(f, "ChangePaintState"),
|
||||||
Msg::ChangePageTitle(..) => write!(f, "ChangePageTitle"),
|
Msg::ChangePageTitle(..) => write!(f, "ChangePageTitle"),
|
||||||
Msg::ChangePageLoadData(..) => write!(f, "ChangePageLoadData"),
|
Msg::ChangePageLoadData(..) => write!(f, "ChangePageLoadData"),
|
||||||
Msg::PaintMsgDiscarded(..) => write!(f, "PaintMsgDiscarded"),
|
Msg::PaintMsgDiscarded(..) => write!(f, "PaintMsgDiscarded"),
|
||||||
Msg::FrameTreeUpdate(..) => write!(f, "FrameTreeUpdate"),
|
Msg::FrameTreeUpdate(..) => write!(f, "FrameTreeUpdate"),
|
||||||
Msg::SetIds(..) => write!(f, "SetIds"),
|
Msg::SetFrameTree(..) => write!(f, "SetFrameTree"),
|
||||||
Msg::LoadComplete => write!(f, "LoadComplete"),
|
Msg::LoadComplete => write!(f, "LoadComplete"),
|
||||||
Msg::ScrollTimeout(..) => write!(f, "ScrollTimeout"),
|
Msg::ScrollTimeout(..) => write!(f, "ScrollTimeout"),
|
||||||
Msg::KeyEvent(..) => write!(f, "KeyEvent"),
|
Msg::KeyEvent(..) => write!(f, "KeyEvent"),
|
||||||
|
|
|
@ -1021,10 +1021,10 @@ impl<LTF: LayoutTaskFactory, STF: ScriptTaskFactory> Constellation<LTF, STF> {
|
||||||
|
|
||||||
fn set_ids(&mut self, frame_tree: &Rc<FrameTree>) {
|
fn set_ids(&mut self, frame_tree: &Rc<FrameTree>) {
|
||||||
let (chan, port) = channel();
|
let (chan, port) = channel();
|
||||||
debug!("Constellation sending SetIds");
|
debug!("Constellation sending SetFrameTree");
|
||||||
self.compositor_proxy.send(CompositorMsg::SetIds(frame_tree.to_sendable(),
|
self.compositor_proxy.send(CompositorMsg::SetFrameTree(frame_tree.to_sendable(),
|
||||||
chan,
|
chan,
|
||||||
self.chan.clone()));
|
self.chan.clone()));
|
||||||
match port.recv_opt() {
|
match port.recv_opt() {
|
||||||
Ok(()) => {
|
Ok(()) => {
|
||||||
let mut iter = frame_tree.iter();
|
let mut iter = frame_tree.iter();
|
||||||
|
|
|
@ -86,7 +86,7 @@ impl CompositorEventListener for NullCompositor {
|
||||||
chan.send(None);
|
chan.send(None);
|
||||||
}
|
}
|
||||||
|
|
||||||
Msg::SetIds(_, response_chan, _) => {
|
Msg::SetFrameTree(_, response_chan, _) => {
|
||||||
response_chan.send(());
|
response_chan.send(());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,12 +96,12 @@ impl CompositorEventListener for NullCompositor {
|
||||||
|
|
||||||
// Explicitly list ignored messages so that when we add a new one,
|
// Explicitly list ignored messages so that when we add a new one,
|
||||||
// we'll notice and think about whether it needs a response, like
|
// we'll notice and think about whether it needs a response, like
|
||||||
// SetIds.
|
// SetFrameTree.
|
||||||
|
|
||||||
Msg::CreateOrUpdateRootLayer(..) |
|
Msg::CreateOrUpdateBaseLayer(..) |
|
||||||
Msg::CreateOrUpdateDescendantLayer(..) |
|
Msg::CreateOrUpdateDescendantLayer(..) |
|
||||||
Msg::SetLayerOrigin(..) |
|
Msg::SetLayerOrigin(..) |
|
||||||
Msg::Paint(..) |
|
Msg::AssignPaintedBuffers(..) |
|
||||||
Msg::ChangeReadyState(..) |
|
Msg::ChangeReadyState(..) |
|
||||||
Msg::ChangePaintState(..) |
|
Msg::ChangePaintState(..) |
|
||||||
Msg::ScrollFragmentPoint(..) |
|
Msg::ScrollFragmentPoint(..) |
|
||||||
|
|
|
@ -278,7 +278,7 @@ impl<C> PaintTask<C> where C: PaintListener + Send {
|
||||||
}
|
}
|
||||||
|
|
||||||
debug!("PaintTask: returning surfaces");
|
debug!("PaintTask: returning surfaces");
|
||||||
self.compositor.paint(self.id, self.epoch, replies);
|
self.compositor.assign_painted_buffers(self.id, self.epoch, replies);
|
||||||
}
|
}
|
||||||
Msg::UnusedBuffer(unused_buffers) => {
|
Msg::UnusedBuffer(unused_buffers) => {
|
||||||
debug!("PaintTask: Received {} unused buffers", unused_buffers.len());
|
debug!("PaintTask: Received {} unused buffers", unused_buffers.len());
|
||||||
|
|
|
@ -95,11 +95,11 @@ pub trait PaintListener for Sized? {
|
||||||
metadata: Vec<LayerMetadata>,
|
metadata: Vec<LayerMetadata>,
|
||||||
epoch: Epoch);
|
epoch: Epoch);
|
||||||
|
|
||||||
/// Sends new tiles for the given layer to the compositor.
|
/// Sends new buffers for the given layers to the compositor.
|
||||||
fn paint(&mut self,
|
fn assign_painted_buffers(&mut self,
|
||||||
pipeline_id: PipelineId,
|
pipeline_id: PipelineId,
|
||||||
epoch: Epoch,
|
epoch: Epoch,
|
||||||
replies: Vec<(LayerId, Box<LayerBufferSet>)>);
|
replies: Vec<(LayerId, Box<LayerBufferSet>)>);
|
||||||
|
|
||||||
fn paint_msg_discarded(&mut self);
|
fn paint_msg_discarded(&mut self);
|
||||||
fn set_paint_state(&mut self, PipelineId, PaintState);
|
fn set_paint_state(&mut self, PipelineId, PaintState);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue