aboutsummaryrefslogtreecommitdiffstats
path: root/src/servo/gfx/renderer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/servo/gfx/renderer.rs')
-rw-r--r--src/servo/gfx/renderer.rs21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/servo/gfx/renderer.rs b/src/servo/gfx/renderer.rs
index 34a42aec65b..3fe50ee6c7a 100644
--- a/src/servo/gfx/renderer.rs
+++ b/src/servo/gfx/renderer.rs
@@ -4,26 +4,25 @@ import comm::*;
import layout::display_list::*;
enum msg {
- draw(display_list),
+ render(display_list),
exit(comm::chan<()>)
}
fn renderer(osmain: chan<osmain::msg>) -> chan<msg> {
task::spawn_listener::<msg> {|po|
listen {|draw_target_ch|
- osmain.send(osmain::get_draw_target(draw_target_ch));
- let draw_target = draw_target_ch.recv();
-
+ #debug("renderer: beginning rendering loop");
+ osmain.send(osmain::begin_drawing(draw_target_ch));
+
loop {
alt po.recv() {
- draw(display_list) {
-
+ render(display_list) {
+ #debug("renderer: got render request");
+ let draw_target = draw_target_ch.recv();
+ #debug("renderer: rendering");
draw_display_list(draw_target, display_list);
-
- listen {|draw_ch|
- osmain.send(osmain::draw(draw_ch));
- draw_ch.recv();
- }
+ #debug("renderer: returning surface");
+ osmain.send(osmain::draw(draw_target_ch, draw_target));
}
exit(response_ch) {
response_ch.send(());