aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock7
-rw-r--r--components/canvas/azure_backend.rs5
-rw-r--r--components/canvas/raqote_backend.rs44
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,
},