aboutsummaryrefslogtreecommitdiffstats
path: root/components/msg/compositor_msg.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2014-10-19 09:23:18 -0700
committerPatrick Walton <pcwalton@mimiga.net>2014-11-04 13:51:56 -0800
commit10f7b49cf7dc8f77cf70750927a2c85650312033 (patch)
tree12f36afcf90ee22be0bfc41906bd628d0f07c6fa /components/msg/compositor_msg.rs
parente483a189a3c24d0fe475cf2a8dedb11821f7ee21 (diff)
downloadservo-10f7b49cf7dc8f77cf70750927a2c85650312033.tar.gz
servo-10f7b49cf7dc8f77cf70750927a2c85650312033.zip
Invert control flow, fix resizing, and improve checkerboarding
significantly by giving tiles some time to paint before we render unrendered content.
Diffstat (limited to 'components/msg/compositor_msg.rs')
-rw-r--r--components/msg/compositor_msg.rs22
1 files changed, 11 insertions, 11 deletions
diff --git a/components/msg/compositor_msg.rs b/components/msg/compositor_msg.rs
index c8713d7a119..a4cc14a12ea 100644
--- a/components/msg/compositor_msg.rs
+++ b/components/msg/compositor_msg.rs
@@ -84,36 +84,36 @@ pub struct LayerMetadata {
/// The interface used by the renderer to acquire draw targets for each render frame and
/// submit them to be drawn to the display.
-pub trait RenderListener {
- fn get_graphics_metadata(&self) -> Option<NativeGraphicsMetadata>;
+pub trait RenderListener for Sized? {
+ fn get_graphics_metadata(&mut self) -> Option<NativeGraphicsMetadata>;
/// Informs the compositor of the layers for the given pipeline. The compositor responds by
/// creating and/or destroying render layers as necessary.
- fn initialize_layers_for_pipeline(&self,
+ fn initialize_layers_for_pipeline(&mut self,
pipeline_id: PipelineId,
metadata: Vec<LayerMetadata>,
epoch: Epoch);
/// Sends new tiles for the given layer to the compositor.
- fn paint(&self,
+ fn paint(&mut self,
pipeline_id: PipelineId,
epoch: Epoch,
replies: Vec<(LayerId, Box<LayerBufferSet>)>);
- fn render_msg_discarded(&self);
- fn set_render_state(&self, PipelineId, RenderState);
+ fn render_msg_discarded(&mut self);
+ fn set_render_state(&mut self, PipelineId, RenderState);
}
/// The interface used by the script task to tell the compositor to update its ready state,
/// which is used in displaying the appropriate message in the window's title.
-pub trait ScriptListener : Clone {
- fn set_ready_state(&self, PipelineId, ReadyState);
- fn scroll_fragment_point(&self,
+pub trait ScriptListener {
+ fn set_ready_state(&mut self, PipelineId, ReadyState);
+ fn scroll_fragment_point(&mut self,
pipeline_id: PipelineId,
layer_id: LayerId,
point: Point2D<f32>);
- fn close(&self);
- fn dup(&self) -> Box<ScriptListener+'static>;
+ fn close(&mut self);
+ fn dup(&mut self) -> Box<ScriptListener+'static>;
}
impl<E, S: Encoder<E>> Encodable<S, E> for Box<ScriptListener+'static> {