diff options
author | David Zbarsky <dzbarsky@gmail.com> | 2015-08-08 05:14:04 -0400 |
---|---|---|
committer | David Zbarsky <dzbarsky@gmail.com> | 2015-08-08 15:35:08 -0400 |
commit | 51938d579fa82cdb3fb5b564ccb97431dcd5b34b (patch) | |
tree | 36aa7bbd8b56d047c4fc1ca76c79f7477f2da41f /components/script/dom/canvasrenderingcontext2d.rs | |
parent | 9a88348978fb2a120f07eef669dd568fc0636704 (diff) | |
download | servo-51938d579fa82cdb3fb5b564ccb97431dcd5b34b.tar.gz servo-51938d579fa82cdb3fb5b564ccb97431dcd5b34b.zip |
Switch PutImageData to using CopySurface
Diffstat (limited to 'components/script/dom/canvasrenderingcontext2d.rs')
-rw-r--r-- | components/script/dom/canvasrenderingcontext2d.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index 89ec6a66119..793dd144e75 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -926,12 +926,13 @@ impl<'a> CanvasRenderingContext2DMethods for &'a CanvasRenderingContext2D { fn PutImageData_(self, imagedata: &ImageData, dx: Finite<f64>, dy: Finite<f64>, dirtyX: Finite<f64>, dirtyY: Finite<f64>, dirtyWidth: Finite<f64>, dirtyHeight: Finite<f64>) { let data = imagedata.get_data_array(&self.global.root().r()); - let image_data_rect = Rect::new(Point2D::new(*dx, *dy), - Size2D::new(imagedata.Width() as f64, - imagedata.Height() as f64)); + let offset = Point2D::new(*dx, *dy); + let image_data_size = Size2D::new(imagedata.Width() as f64, + imagedata.Height() as f64); + let dirty_rect = Rect::new(Point2D::new(*dirtyX, *dirtyY), Size2D::new(*dirtyWidth, *dirtyHeight)); - let msg = CanvasMsg::Canvas2d(Canvas2dMsg::PutImageData(data, image_data_rect, dirty_rect)); + let msg = CanvasMsg::Canvas2d(Canvas2dMsg::PutImageData(data, offset, image_data_size, dirty_rect)); self.ipc_renderer.send(msg).unwrap(); self.mark_as_dirty(); } |