From d62a643c91a0afde9036238093be738ad47bbe50 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 3 May 2012 19:45:58 -0700 Subject: [PATCH] Use a more modern style in renderer --- src/servo/gfx/renderer.rs | 76 ++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 37 deletions(-) diff --git a/src/servo/gfx/renderer.rs b/src/servo/gfx/renderer.rs index 67016f29dc7..7c901738761 100644 --- a/src/servo/gfx/renderer.rs +++ b/src/servo/gfx/renderer.rs @@ -7,32 +7,34 @@ enum msg { exit(comm::chan<()>) } -fn renderer(osmain_ch: comm::chan) -> comm::chan { - task::spawn_listener {|po| - let draw_target_po = comm::port(); - comm::send(osmain_ch, osmain::get_draw_target(comm::chan(draw_target_po))); - let draw_target = comm::recv(draw_target_po); +fn renderer(osmain: chan) -> chan { + task::spawn_listener:: {|po| + listen {|draw_target_ch| + osmain.send(osmain::get_draw_target(draw_target_ch)); + let draw_target = draw_target_ch.recv(); - let mut exit_confirm_ch = none; - loop { - alt comm::recv::(po) { - draw(display_list) { + let mut exit_confirm_ch = none; + loop { + alt po.recv() { + draw(display_list) { - draw_display_list(draw_target, display_list); + draw_display_list(draw_target, display_list); - let draw_po = comm::port(); - comm::send(osmain_ch, osmain::draw(comm::chan(draw_po))); - comm::recv(draw_po); - } - exit(response_ch) { - exit_confirm_ch = some(response_ch); - break; - } + listen {|draw_ch| + osmain.send(osmain::draw(draw_ch)); + draw_ch.recv(); + } + } + exit(response_ch) { + exit_confirm_ch = some(response_ch); + break; + } + } } - } - assert exit_confirm_ch.is_some(); - comm::send(exit_confirm_ch.get(), ()); + assert exit_confirm_ch.is_some(); + exit_confirm_ch.get().send(()); + } } } @@ -46,18 +48,18 @@ fn draw_display_list( let bounds = (*item).bounds; let red_color = { - r: 1f as azure::AzFloat, - g: 0f as azure::AzFloat, - b: 0f as azure::AzFloat, - a: 0.5f as azure::AzFloat + r: 1f as AzFloat, + g: 0f as AzFloat, + b: 0f as AzFloat, + a: 0.5f as AzFloat }; let red_pattern = AzCreateColorPattern(ptr::addr_of(red_color)); let red_rect = { - x: au_to_int(bounds.origin.x) as azure::AzFloat, - y: au_to_int(bounds.origin.y) as azure::AzFloat, - width: au_to_int(bounds.size.width) as azure::AzFloat, - height: au_to_int(bounds.size.height) as azure::AzFloat + x: au_to_int(bounds.origin.x) as AzFloat, + y: au_to_int(bounds.origin.y) as AzFloat, + width: au_to_int(bounds.size.width) as AzFloat, + height: au_to_int(bounds.size.height) as AzFloat }; AzDrawTargetFillRect( draw_target, @@ -72,18 +74,18 @@ fn draw_display_list( fn clear(draw_target: AzDrawTargetRef) { let black_color = { - r: 0f as azure::AzFloat, - g: 0f as azure::AzFloat, - b: 0f as azure::AzFloat, - a: 1f as azure::AzFloat + r: 0f as AzFloat, + g: 0f as AzFloat, + b: 0f as AzFloat, + a: 1f as AzFloat }; let black_pattern = AzCreateColorPattern(ptr::addr_of(black_color)); let black_rect = { - x: 0 as azure::AzFloat, - y: 0 as azure::AzFloat, - width: 800 as azure::AzFloat, - height: 600 as azure::AzFloat, + x: 0 as AzFloat, + y: 0 as AzFloat, + width: 800 as AzFloat, + height: 600 as AzFloat, }; AzDrawTargetFillRect(