mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Make RenderListener::paint take multiple replies
This commit is contained in:
parent
a832acc4c8
commit
340d9caba5
3 changed files with 8 additions and 10 deletions
|
@ -96,10 +96,11 @@ impl RenderListener for CompositorChan {
|
|||
|
||||
fn paint(&self,
|
||||
pipeline_id: PipelineId,
|
||||
layer_id: LayerId,
|
||||
layer_buffer_set: Box<LayerBufferSet>,
|
||||
epoch: Epoch) {
|
||||
self.chan.send(Paint(pipeline_id, layer_id, layer_buffer_set, epoch))
|
||||
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))
|
||||
}
|
||||
}
|
||||
|
||||
fn initialize_layers_for_pipeline(&self,
|
||||
|
|
|
@ -256,9 +256,7 @@ impl<C:RenderListener + Send> RenderTask<C> {
|
|||
}
|
||||
|
||||
debug!("render_task: returning surfaces");
|
||||
for (layer_id, layer_buffer_set) in replies.move_iter() {
|
||||
self.compositor.paint(self.id, layer_id, layer_buffer_set, self.epoch);
|
||||
}
|
||||
self.compositor.paint(self.id, self.epoch, replies);
|
||||
}
|
||||
UnusedBufferMsg(unused_buffers) => {
|
||||
for buffer in unused_buffers.move_iter().rev() {
|
||||
|
|
|
@ -102,9 +102,8 @@ pub trait RenderListener {
|
|||
/// Sends new tiles for the given layer to the compositor.
|
||||
fn paint(&self,
|
||||
pipeline_id: PipelineId,
|
||||
layer_id: LayerId,
|
||||
layer_buffer_set: Box<LayerBufferSet>,
|
||||
epoch: Epoch);
|
||||
epoch: Epoch,
|
||||
replies: Vec<(LayerId, Box<LayerBufferSet>)>);
|
||||
|
||||
fn set_render_state(&self, render_state: RenderState);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue