Make the CompositorTask Paint message take multiple replies

This commit is contained in:
Cameron Zwarich 2014-07-10 01:31:48 -07:00
parent 340d9caba5
commit acc0daa519
2 changed files with 6 additions and 7 deletions

View file

@ -303,9 +303,10 @@ impl IOCompositor {
self.set_layer_clip_rect(pipeline_id, layer_id, new_rect);
}
(Ok(Paint(pipeline_id, layer_id, new_layer_buffer_set, epoch)),
NotShuttingDown) => {
self.paint(pipeline_id, layer_id, new_layer_buffer_set, epoch);
(Ok(Paint(pipeline_id, epoch, replies)), NotShuttingDown) => {
for (layer_id, new_layer_buffer_set) in replies.move_iter() {
self.paint(pipeline_id, layer_id, new_layer_buffer_set, epoch);
}
}
(Ok(ScrollFragmentPoint(pipeline_id, layer_id, point)), NotShuttingDown) => {

View file

@ -98,9 +98,7 @@ impl RenderListener for CompositorChan {
pipeline_id: PipelineId,
epoch: Epoch,
replies: Vec<(LayerId, Box<LayerBufferSet>)>) {
for (layer_id, layer_buffer_set) in replies.move_iter() {
self.chan.send(Paint(pipeline_id, layer_id, layer_buffer_set, epoch))
}
self.chan.send(Paint(pipeline_id, epoch, replies));
}
fn initialize_layers_for_pipeline(&self,
@ -181,7 +179,7 @@ pub enum Msg {
/// Scroll a page in a window
ScrollFragmentPoint(PipelineId, LayerId, Point2D<f32>),
/// Requests that the compositor paint the given layer buffer set for the given page size.
Paint(PipelineId, LayerId, Box<LayerBufferSet>, Epoch),
Paint(PipelineId, Epoch, Vec<(LayerId, Box<LayerBufferSet>)>),
/// Alerts the compositor to the current status of page loading.
ChangeReadyState(ReadyState),
/// Alerts the compositor to the current status of rendering.