diff options
author | Edit Balint <edbalint@inf.u-szeged.hu> | 2015-01-15 13:56:42 +0100 |
---|---|---|
committer | Edit Balint <edbalint@inf.u-szeged.hu> | 2015-01-15 14:04:46 +0100 |
commit | 1d91e9000c721ac55f34c194b87f34955be08178 (patch) | |
tree | de2fdd8b2d61fe36a81317c8e25d99de4113e70c /components/canvas/canvas_paint_task.rs | |
parent | ddf77a1cff3b55cf316fa08164e2bb262b618d02 (diff) | |
download | servo-1d91e9000c721ac55f34c194b87f34955be08178.tar.gz servo-1d91e9000c721ac55f34c194b87f34955be08178.zip |
Use DrawTarget::new instead of DrawTarget::new_with_data in CanvasPaintTask
Diffstat (limited to 'components/canvas/canvas_paint_task.rs')
-rw-r--r-- | components/canvas/canvas_paint_task.rs | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/components/canvas/canvas_paint_task.rs b/components/canvas/canvas_paint_task.rs index f2e8323d6a2..6f9898c4c26 100644 --- a/components/canvas/canvas_paint_task.rs +++ b/components/canvas/canvas_paint_task.rs @@ -9,7 +9,6 @@ use geom::size::Size2D; use servo_util::task::spawn_named; use std::comm; -use std::sync::Arc; #[deriving(Clone)] pub enum CanvasMsg { @@ -17,7 +16,7 @@ pub enum CanvasMsg { ClearRect(Rect<f32>), StrokeRect(Rect<f32>), Recreate(Size2D<i32>), - SendPixelContents(Sender<Arc<Vec<u8>>>), + SendPixelContents(Sender<Vec<u8>>), Close, } @@ -31,7 +30,7 @@ pub struct CanvasPaintTask { impl CanvasPaintTask { fn new(size: Size2D<i32>) -> CanvasPaintTask { CanvasPaintTask { - drawtarget: CanvasPaintTask::create_with_data(size), + drawtarget: CanvasPaintTask::create(size), fill_color: ColorPattern::new(Color::new(0., 0., 0., 1.)), stroke_color: ColorPattern::new(Color::new(0., 0., 0., 1.)), stroke_opts: StrokeOptions::new(1.0, 1.0), @@ -71,20 +70,17 @@ impl CanvasPaintTask { self.drawtarget.stroke_rect(rect, &self.stroke_color, &self.stroke_opts, &drawopts); } - fn create_with_data(size: Size2D<i32>) -> DrawTarget { - DrawTarget::new_with_data(BackendType::Skia, - Vec::from_elem((size.width * size.height * 4) as uint, 0u8), - 0, - size, - size.width * 4, - SurfaceFormat::B8G8R8A8) + fn create(size: Size2D<i32>) -> DrawTarget { + DrawTarget::new(BackendType::Skia, size, SurfaceFormat::B8G8R8A8) } fn recreate(&mut self, size: Size2D<i32>) { - self.drawtarget = CanvasPaintTask::create_with_data(size); + self.drawtarget = CanvasPaintTask::create(size); } - fn send_pixel_contents(&mut self, chan: Sender<Arc<Vec<u8>>>) { - chan.send(self.drawtarget.data.clone().unwrap()); + fn send_pixel_contents(&mut self, chan: Sender<Vec<u8>>) { + self.drawtarget.snapshot().get_data_surface().with_data(|element| { + chan.send(element.to_vec()); + }) } } |