aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/canvasrenderingcontext2d.rs
diff options
context:
space:
mode:
authorDavid Zbarsky <dzbarsky@gmail.com>2015-08-08 05:14:04 -0400
committerDavid Zbarsky <dzbarsky@gmail.com>2015-08-08 15:35:08 -0400
commit51938d579fa82cdb3fb5b564ccb97431dcd5b34b (patch)
tree36aa7bbd8b56d047c4fc1ca76c79f7477f2da41f /components/script/dom/canvasrenderingcontext2d.rs
parent9a88348978fb2a120f07eef669dd568fc0636704 (diff)
downloadservo-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.rs9
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();
}