[librsvg: 4/14] Return SharedImageSurface from unpremultiply()
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 4/14] Return SharedImageSurface from unpremultiply()
- Date: Sun, 15 Jul 2018 17:55:41 +0000 (UTC)
commit c0bec8e1ece882fc0eccca2078d9142e6b3b56ac
Author: Ivan Molodetskikh <yalterz gmail com>
Date: Sun Jul 15 13:23:26 2018 +0300
Return SharedImageSurface from unpremultiply()
rsvg_internals/src/filters/convolve_matrix.rs | 3 +--
rsvg_internals/src/filters/displacement_map.rs | 1 -
rsvg_internals/src/surface_utils/shared_surface.rs | 4 ++--
3 files changed, 3 insertions(+), 5 deletions(-)
---
diff --git a/rsvg_internals/src/filters/convolve_matrix.rs b/rsvg_internals/src/filters/convolve_matrix.rs
index b63fafd6..fae97a8b 100644
--- a/rsvg_internals/src/filters/convolve_matrix.rs
+++ b/rsvg_internals/src/filters/convolve_matrix.rs
@@ -227,8 +227,7 @@ impl Filter for ConvolveMatrix {
let mut input_surface = if self.preserve_alpha.get() {
// preserve_alpha means we need to premultiply and unpremultiply the values.
- let unpremultiplied_surface = input.surface().unpremultiply(bounds)?;
- SharedImageSurface::new(unpremultiplied_surface)?
+ input.surface().unpremultiply(bounds)?
} else {
input.surface().clone()
};
diff --git a/rsvg_internals/src/filters/displacement_map.rs b/rsvg_internals/src/filters/displacement_map.rs
index 4830cdea..e34d9de5 100644
--- a/rsvg_internals/src/filters/displacement_map.rs
+++ b/rsvg_internals/src/filters/displacement_map.rs
@@ -95,7 +95,6 @@ impl Filter for DisplacementMap {
// Displacement map's values need to be non-premultiplied.
let displacement_surface = displacement_input.surface().unpremultiply(bounds)?;
- let displacement_surface = SharedImageSurface::new(displacement_surface)?;
let scale = self.scale.get();
let (sx, sy) = ctx.paffine().transform_distance(scale, scale);
diff --git a/rsvg_internals/src/surface_utils/shared_surface.rs
b/rsvg_internals/src/surface_utils/shared_surface.rs
index 297e18e6..fc74b511 100644
--- a/rsvg_internals/src/surface_utils/shared_surface.rs
+++ b/rsvg_internals/src/surface_utils/shared_surface.rs
@@ -233,7 +233,7 @@ impl SharedImageSurface {
///
/// HACK: this is storing unpremultiplied pixels in an ARGB32 image surface (which is supposed
/// to be premultiplied pixels).
- pub fn unpremultiply(&self, bounds: IRect) -> Result<ImageSurface, cairo::Status> {
+ pub fn unpremultiply(&self, bounds: IRect) -> Result<SharedImageSurface, cairo::Status> {
let mut output_surface =
ImageSurface::create(cairo::Format::ARgb32, self.width, self.height)?;
@@ -246,7 +246,7 @@ impl SharedImageSurface {
}
}
- Ok(output_surface)
+ SharedImageSurface::new(output_surface)
}
/// Performs a convolution.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]