diff options
Diffstat (limited to 'components/canvas/canvas_paint_thread.rs')
-rw-r--r-- | components/canvas/canvas_paint_thread.rs | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/components/canvas/canvas_paint_thread.rs b/components/canvas/canvas_paint_thread.rs index 82a221d560d..93aff081c35 100644 --- a/components/canvas/canvas_paint_thread.rs +++ b/components/canvas/canvas_paint_thread.rs @@ -97,7 +97,10 @@ impl<'a> CanvasPaintThread<'a> { let canvas_data = canvas_paint_thread.create_canvas(size); creator.send(canvas_data).unwrap(); }, - Ok(ConstellationCanvasMsg::Exit) => break, + Ok(ConstellationCanvasMsg::Exit(exit_sender)) => { + let _ = exit_sender.send(()); + break; + }, Err(e) => { warn!("Error on CanvasPaintThread receive ({})", e); break; @@ -184,7 +187,7 @@ impl<'a> CanvasPaintThread<'a> { Canvas2dMsg::DrawEmptyImage(image_size, dest_rect, source_rect) => { self.canvas(canvas_id).draw_image( &vec![0; image_size.area() as usize * 4], - image_size.to_u64(), + image_size, dest_rect, source_rect, false, @@ -200,10 +203,10 @@ impl<'a> CanvasPaintThread<'a> { ) => { let image_data = self .canvas(canvas_id) - .read_pixels(Some(source_rect.to_u64()), Some(image_size.to_u64())); + .read_pixels(Some(source_rect.to_u32()), Some(image_size)); self.canvas(other_canvas_id).draw_image( image_data.data(), - source_rect.size.to_u64(), + source_rect.size.to_u32(), dest_rect, source_rect, smoothing, @@ -395,7 +398,7 @@ impl Canvas<'_> { fn draw_image( &mut self, data: &[u8], - size: Size2D<u64>, + size: Size2D<u32>, dest_rect: Rect<f64>, source_rect: Rect<f64>, smoothing_enabled: bool, @@ -415,8 +418,8 @@ impl Canvas<'_> { fn read_pixels( &mut self, - read_rect: Option<Rect<u64>>, - canvas_size: Option<Size2D<u64>>, + read_rect: Option<Rect<u32>>, + canvas_size: Option<Size2D<u32>>, ) -> snapshot::Snapshot { match self { Canvas::Raqote(canvas_data) => canvas_data.read_pixels(read_rect, canvas_size), @@ -609,7 +612,7 @@ impl Canvas<'_> { } } - fn put_image_data(&mut self, unwrap: Vec<u8>, rect: Rect<u64>) { + fn put_image_data(&mut self, unwrap: Vec<u8>, rect: Rect<u32>) { match self { Canvas::Raqote(canvas_data) => canvas_data.put_image_data(unwrap, rect), } |