[librsvg: 5/13] create_pango_context() - Pass the transform as an argument




commit 48d043ffd442f65e534b177aa50e9457ac095454
Author: Federico Mena Quintero <federico gnome org>
Date:   Thu Nov 4 12:10:47 2021 -0600

    create_pango_context() - Pass the transform as an argument
    
    Don't get it from the DrawingCtx.cr.
    
    This completely decouples creating pango contexts from the current cr.
    
    Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/626>

 src/drawing_ctx.rs | 6 ++----
 src/text.rs        | 2 +-
 2 files changed, 3 insertions(+), 5 deletions(-)
---
diff --git a/src/drawing_ctx.rs b/src/drawing_ctx.rs
index 8270cdced..77863dc0c 100644
--- a/src/drawing_ctx.rs
+++ b/src/drawing_ctx.rs
@@ -1774,15 +1774,13 @@ impl DrawingCtx {
         FontOptions { options }
     }
 
-    /// Create a Pango context based on the cr and `testing` flag from the DrawingCtx.
-    pub fn create_pango_context(&self, font_options: &FontOptions) -> pango::Context {
+    /// Create a Pango context with a particular configuration.
+    pub fn create_pango_context(&self, font_options: &FontOptions, transform: &Transform) -> pango::Context {
         let font_map = pangocairo::FontMap::default().unwrap();
         let context = font_map.create_context().unwrap();
 
         context.set_round_glyph_positions(false);
 
-        let transform = self.get_transform();
-
         let pango_matrix = PangoMatrix {
             xx: transform.xx,
             xy: transform.xy,
diff --git a/src/text.rs b/src/text.rs
index ffe1698e8..f46fb9abf 100644
--- a/src/text.rs
+++ b/src/text.rs
@@ -1190,7 +1190,7 @@ fn create_pango_layout(
     props: &FontProperties,
     text: &str,
 ) -> pango::Layout {
-    let pango_context = draw_ctx.create_pango_context(&layout_context.font_options);
+    let pango_context = draw_ctx.create_pango_context(&layout_context.font_options, 
&layout_context.transform);
 
     if let XmlLang(Some(ref lang)) = props.xml_lang {
         pango_context.set_language(&pango::Language::from_string(lang.as_str()));


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