[librsvg: 18/30] ImageSurface::set_as_source_surface - return errors from cr.set_source_surface




commit 6b436eaf6303c1f50e99a39b5ef0320980188b56
Author: Federico Mena Quintero <federico gnome org>
Date:   Mon Jun 21 18:00:14 2021 -0500

    ImageSurface::set_as_source_surface - return errors from cr.set_source_surface
    
    Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/516>

 src/drawing_ctx.rs                  |  2 +-
 src/filters/displacement_map.rs     |  2 +-
 src/surface_utils/shared_surface.rs | 14 +++++++-------
 3 files changed, 9 insertions(+), 9 deletions(-)
---
diff --git a/src/drawing_ctx.rs b/src/drawing_ctx.rs
index d078e249..89a2162d 100644
--- a/src/drawing_ctx.rs
+++ b/src/drawing_ctx.rs
@@ -792,7 +792,7 @@ impl DrawingCtx {
                 // Set temporary surface as source
 
                 self.cr.set_matrix(affines.compositing.into());
-                source_surface.set_as_source_surface(&self.cr, 0.0, 0.0);
+                source_surface.set_as_source_surface(&self.cr, 0.0, 0.0)?;
 
                 // Clip
 
diff --git a/src/filters/displacement_map.rs b/src/filters/displacement_map.rs
index 39bf7a22..0e51a945 100644
--- a/src/filters/displacement_map.rs
+++ b/src/filters/displacement_map.rs
@@ -140,7 +140,7 @@ impl DisplacementMap {
                 cr.reset_clip();
                 cr.clip();
 
-                input_1.surface().set_as_source_surface(&cr, -ox, -oy);
+                input_1.surface().set_as_source_surface(&cr, -ox, -oy)?;
                 cr.paint()?;
             }
 
diff --git a/src/surface_utils/shared_surface.rs b/src/surface_utils/shared_surface.rs
index 4d25111a..abe91a27 100644
--- a/src/surface_utils/shared_surface.rs
+++ b/src/surface_utils/shared_surface.rs
@@ -388,8 +388,8 @@ impl ImageSurface<Shared> {
 
     /// Calls `set_source_surface()` on the given Cairo context.
     #[inline]
-    pub fn set_as_source_surface(&self, cr: &cairo::Context, x: f64, y: f64) {
-        cr.set_source_surface(&self.surface, x, y);
+    pub fn set_as_source_surface(&self, cr: &cairo::Context, x: f64, y: f64) -> Result<(), cairo::Error> {
+        cr.set_source_surface(&self.surface, x, y)
     }
 
     /// Creates a Cairo surface pattern from the surface
@@ -433,7 +433,7 @@ impl ImageSurface<Shared> {
             cr.clip();
 
             cr.scale(x, y);
-            self.set_as_source_surface(&cr, 0.0, 0.0);
+            self.set_as_source_surface(&cr, 0.0, 0.0)?;
             cr.paint()?;
         }
 
@@ -1027,7 +1027,7 @@ impl ImageSurface<Shared> {
             cr.rectangle(r.x, r.y, r.width, r.height);
             cr.clip();
 
-            self.set_as_source_surface(&cr, dx, dy);
+            self.set_as_source_surface(&cr, dx, dy)?;
             cr.paint()?;
         }
 
@@ -1052,7 +1052,7 @@ impl ImageSurface<Shared> {
             cr.rectangle(r.x, r.y, r.width, r.height);
             cr.clip();
 
-            image.set_as_source_surface(&cr, 0f64, 0f64);
+            image.set_as_source_surface(&cr, 0f64, 0f64)?;
 
             if let Some(rect) = rect {
                 let mut matrix = cairo::Matrix::new(
@@ -1082,7 +1082,7 @@ impl ImageSurface<Shared> {
 
         {
             let cr = cairo::Context::new(&output_surface)?;
-            self.set_as_source_surface(&cr, f64::from(-bounds.x0), f64::from(-bounds.y0));
+            self.set_as_source_surface(&cr, f64::from(-bounds.x0), f64::from(-bounds.y0))?;
             cr.paint()?;
         }
 
@@ -1142,7 +1142,7 @@ impl ImageSurface<Shared> {
             cr.rectangle(r.x, r.y, r.width, r.height);
             cr.clip();
 
-            self.set_as_source_surface(&cr, 0.0, 0.0);
+            self.set_as_source_surface(&cr, 0.0, 0.0)?;
             cr.set_operator(operator.into());
             cr.paint()?;
         }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]