diff options
author | Bailey Blankenship <bblanke@ncsu.edu> | 2019-10-16 18:18:27 -0400 |
---|---|---|
committer | Bailey Blankenship <bblanke@ncsu.edu> | 2019-11-10 18:37:14 -0500 |
commit | ec2961920b74fbe0345f72e6007c6d42ae852019 (patch) | |
tree | fc229640c23741ea304fcd362a8158eab16693a0 /components/script/dom/webglrenderingcontext.rs | |
parent | f7fb130a2a21ae19cf0996251134ad23fea9068d (diff) | |
download | servo-ec2961920b74fbe0345f72e6007c6d42ae852019.tar.gz servo-ec2961920b74fbe0345f72e6007c6d42ae852019.zip |
Addresses issues raised in #24465; removes redundancy in set_bitmap_dimensions
Removed passing test .ini files and moved euclid extensions to euclidext.rs to factor out redundant code
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 228ccd491b9..c843ab578d1 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -2963,11 +2963,16 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { let src_origin = Point2D::new(x, y); let src_size = Size2D::new(width as u32, height as u32); let fb_size = Size2D::new(fb_width as u32, fb_height as u32); - let src_rect = match pixels::clip(src_origin, src_size, fb_size) { + let src_rect = match pixels::clip(src_origin, src_size.to_u64(), fb_size.to_u64()) { Some(rect) => rect, None => return, }; + // Note: we're casting a Rect<u64> back into a Rect<u32> here, but it's okay because + // it used u32 data types to begin with. It just got converted to Rect<u64> in + // pixels::clip + let src_rect = src_rect.to_u32(); + let mut dest_offset = 0; if x < 0 { dest_offset += -x * bytes_per_pixel; @@ -4485,3 +4490,13 @@ impl WebGLMessageSender { self.wake_after_send(|| self.sender.send_dom_to_texture(command)) } } + +pub trait Size2DExt { + fn to_u64(&self) -> Size2D<u64>; +} + +impl Size2DExt for Size2D<u32> { + fn to_u64(&self) -> Size2D<u64> { + return Size2D::new(self.width as u64, self.height as u64); + } +} |