diff options
-rw-r--r-- | Cargo.lock | 7 | ||||
-rw-r--r-- | components/canvas/azure_backend.rs | 5 | ||||
-rw-r--r-- | components/canvas/raqote_backend.rs | 44 |
3 files changed, 25 insertions, 31 deletions
diff --git a/Cargo.lock b/Cargo.lock index 85b9eec7569..17087b400a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -138,7 +138,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "azure" version = "0.36.1" -source = "git+https://github.com/servo/rust-azure#37a57b3d862bcf345d1413c7ebb534ff69daab3b" +source = "git+https://github.com/servo/rust-azure#5996612af3139cc3c5eafb019d8218f8ca1634de" dependencies = [ "cmake 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2504,8 +2504,9 @@ version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rle-decode-fast 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3711,7 +3712,7 @@ dependencies = [ [[package]] name = "raqote" version = "0.6.2-alpha.0" -source = "git+https://github.com/jrmuizel/raqote#2d9a0fbb419d10e066fb49e121a45fce1e1f2abe" +source = "git+https://github.com/jrmuizel/raqote#b3675e6cc1ac1d854605918f6613b64636d5e47b" dependencies = [ "euclid 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)", "font-kit 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/components/canvas/azure_backend.rs b/components/canvas/azure_backend.rs index 905e4ee8f46..fa48d869c40 100644 --- a/components/canvas/azure_backend.rs +++ b/components/canvas/azure_backend.rs @@ -256,7 +256,7 @@ impl GenericDrawTarget for azure_hl::DrawTarget { .map(|s| SourceSurface::Azure(s)) } fn draw_surface( - &self, + &mut self, surface: SourceSurface, dest: Rect<f64>, source: Rect<f64>, @@ -269,7 +269,8 @@ impl GenericDrawTarget for azure_hl::DrawTarget { draw_options.as_azure().composition, azure_hl::AntialiasMode::None, ); - self.draw_surface( + azure_hl::DrawTarget::draw_surface( + self, surface.into_azure(), dest.to_azure_style(), source.to_azure_style(), diff --git a/components/canvas/raqote_backend.rs b/components/canvas/raqote_backend.rs index a3ae8eb67ea..279402fa77a 100644 --- a/components/canvas/raqote_backend.rs +++ b/components/canvas/raqote_backend.rs @@ -140,14 +140,14 @@ impl<'a> StrokeOptions<'a> { StrokeOptions::Raqote(options, _) => options.miter_limit = _val, } } - pub fn set_line_join(&mut self, _val: LineJoinStyle) { + pub fn set_line_join(&mut self, val: LineJoinStyle) { match self { - StrokeOptions::Raqote(options, _) => options.join = _val.to_raqote_style(), + StrokeOptions::Raqote(options, _) => options.join = val.to_raqote_style(), } } - pub fn set_line_cap(&mut self, _val: LineCapStyle) { + pub fn set_line_cap(&mut self, val: LineCapStyle) { match self { - StrokeOptions::Raqote(options, _) => options.cap = _val.to_raqote_style(), + StrokeOptions::Raqote(options, _) => options.cap = val.to_raqote_style(), } } pub fn as_raqote(&self) -> &raqote::StrokeStyle { @@ -158,9 +158,9 @@ impl<'a> StrokeOptions<'a> { } impl DrawOptions { - pub fn set_alpha(&mut self, _val: f32) { + pub fn set_alpha(&mut self, val: f32) { match self { - DrawOptions::Raqote(draw_options) => draw_options.alpha = _val, + DrawOptions::Raqote(draw_options) => draw_options.alpha = val, } } pub fn as_raqote(&self) -> &raqote::DrawOptions { @@ -188,7 +188,9 @@ impl Path { } pub fn copy_to_builder(&self) -> Box<dyn GenericPathBuilder> { - Box::new(PathBuilder(Some(raqote::PathBuilder::from(self.as_raqote().clone())))) + Box::new(PathBuilder(Some(raqote::PathBuilder::from( + self.as_raqote().clone(), + )))) } pub fn as_raqote(&self) -> &raqote::Path { @@ -232,12 +234,7 @@ impl GenericDrawTarget for raqote::DrawTarget { let data = surface.as_raqote(); let s = unsafe { std::slice::from_raw_parts(data.as_ptr() as *const u32, data.len() / 4) }; dt.get_data_mut().copy_from_slice(s); - raqote::DrawTarget::copy_surface( - self, - &dt, - source.to_box2d(), - destination - ); + raqote::DrawTarget::copy_surface(self, &dt, source.to_box2d(), destination); } fn create_gradient_stops( &self, @@ -278,10 +275,11 @@ impl GenericDrawTarget for raqote::DrawTarget { width: source.size.width as i32, height: source.size.height as i32, data: unsafe { - std::slice::from_raw_parts( - v.as_ptr() as *const u32, - v.len() * std::mem::size_of::<u8>(), - ) }, + std::slice::from_raw_parts( + v.as_ptr() as *const u32, + v.len() * std::mem::size_of::<u8>(), + ) + }, }; raqote::DrawTarget::draw_image_with_size_at( self, @@ -541,14 +539,6 @@ impl ToRaqoteStyle for LineCapStyle { } } -// TODO(pylbrecht) -#[cfg(feature = "raqote_backend")] -impl Clone for Pattern<'_> { - fn clone(&self) -> Self { - unimplemented!(); - } -} - pub trait ToRaqoteSource<'a> { fn to_raqote_source(self) -> Option<raqote::Source<'a>>; } @@ -571,7 +561,9 @@ impl<'a> ToRaqoteSource<'a> for FillOrStrokeStyle { let data = &surface.surface_data[..]; Some(raqote::Source::Image( raqote::Image { - data: unsafe { std::slice::from_raw_parts(data.as_ptr() as *const u32, data.len() / 4) }, + data: unsafe { + std::slice::from_raw_parts(data.as_ptr() as *const u32, data.len() / 4) + }, width: surface.surface_size.width as i32, height: surface.surface_size.height as i32, }, |