freetype-commit
[Top][All Lists]
Advanced

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

[freetype2-demos] VER-2-13-1 73c2159 2/5: Fix 'librsvg' deprecation warn


From: Werner Lemberg
Subject: [freetype2-demos] VER-2-13-1 73c2159 2/5: Fix 'librsvg' deprecation warnings.
Date: Sat, 24 Jun 2023 02:44:09 -0400 (EDT)

annotated tag: VER-2-13-1
commit 73c2159b52912d0882401fdd196f9fd55529a7e7
Author: Hin-Tak Leung <htl10@users.sourceforge.net>
Commit: Werner Lemberg <wl@gnu.org>

    Fix 'librsvg' deprecation warnings.
    
    * src/rsvg-port.c (rsvg_port_preset_slot): Use `rsvg_handle_render_document`
    instead of `rsvg_handle_render_cairo`, and `rsvg_handle_render_layer`
    instead of `rsvg_handle_render_cairo_sub`, as suggested by the warning,
    conditionally on newer librsvg 2.52+.
    
    Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
---
 src/rsvg-port.c | 42 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)

diff --git a/src/rsvg-port.c b/src/rsvg-port.c
index 1286258..3cbce25 100644
--- a/src/rsvg-port.c
+++ b/src/rsvg-port.c
@@ -306,7 +306,26 @@
     if ( start_glyph_id == end_glyph_id )
     {
       /* Render the whole document to the recording surface. */
-      ret = rsvg_handle_render_cairo ( handle, rec_cr );
+#if LIBRSVG_CHECK_VERSION( 2, 52, 0 )
+      {
+        RsvgRectangle  viewport =
+        {
+          .x = 0,
+          .y = 0,
+          .width  = dimension_svg.width,
+          .height = dimension_svg.height,
+        };
+
+
+        ret = rsvg_handle_render_document( handle,
+                                           rec_cr,
+                                           &viewport,
+                                           NULL );
+      }
+#else
+      ret = rsvg_handle_render_cairo( handle, rec_cr );
+#endif
+
       if ( ret == FALSE )
       {
         error = FT_Err_Invalid_SVG_Document;
@@ -320,7 +339,28 @@
 
       /* Render only the element with its ID equal to `glyph<ID>`. */
       sprintf( str + 6, "%u", slot->glyph_index );
+
+#if LIBRSVG_CHECK_VERSION( 2, 52, 0 )
+      {
+        RsvgRectangle  viewport =
+        {
+          .x = 0,
+          .y = 0,
+          .width  = dimension_svg.width,
+          .height = dimension_svg.height,
+        };
+
+
+        ret = rsvg_handle_render_layer( handle,
+                                        rec_cr,
+                                        str,
+                                        &viewport,
+                                        NULL );
+      }
+#else
       ret = rsvg_handle_render_cairo_sub( handle, rec_cr, str );
+#endif
+
       if ( ret == FALSE )
       {
         error = FT_Err_Invalid_SVG_Document;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]