[gtk] font rendering demo: Show unrounded extents



commit 108ea50179bf9f67bc3cce69e9b4fb309f47bab7
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Jul 25 23:35:09 2019 -0400

    font rendering demo: Show unrounded extents
    
    This makes more sense.

 demos/gtk-demo/fontrendering.c | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)
---
diff --git a/demos/gtk-demo/fontrendering.c b/demos/gtk-demo/fontrendering.c
index 13031b4743..5ed7a80c83 100644
--- a/demos/gtk-demo/fontrendering.c
+++ b/demos/gtk-demo/fontrendering.c
@@ -72,6 +72,7 @@ update_image (void)
 
   pango_cairo_context_set_font_options (context, fopt);
   cairo_font_options_destroy (fopt);
+  pango_context_changed (context);
 
   if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (text_radio)))
     {
@@ -126,23 +127,24 @@ update_image (void)
         }
 
       cairo_set_source_rgba (cr, 0, 0, 1, 1);
+
       cairo_rectangle (cr,
-                       scale * (10 + logical.x / PANGO_SCALE) - 0.5,
-                       scale * (10 + logical.y / PANGO_SCALE) - 0.5,
-                       scale * (logical.width / PANGO_SCALE) + 1,
-                       scale * (logical.height / PANGO_SCALE) + 1);
+                       scale * (10 + pango_units_to_double (logical.x)) - 0.5,
+                       scale * (10 + pango_units_to_double (logical.y)) - 0.5,
+                       scale * pango_units_to_double (logical.width) + 1,
+                       scale * pango_units_to_double (logical.height) + 1);
       cairo_stroke (cr);
-      cairo_move_to (cr, scale * (10 + logical.x / PANGO_SCALE) - 0.5,
-                         scale * (10 + baseline / PANGO_SCALE) - 0.5);
-      cairo_line_to (cr, scale * (10 + (logical.x + logical.width) / PANGO_SCALE) + 1,
-                         scale * (10 + baseline / PANGO_SCALE) - 0.5);
+      cairo_move_to (cr, scale * (10 + pango_units_to_double (logical.x)) - 0.5,
+                         scale * (10 + pango_units_to_double (baseline)) - 0.5);
+      cairo_line_to (cr, scale * (10 + pango_units_to_double (logical.x + logical.width)) + 1,
+                         scale * (10 + pango_units_to_double (baseline)) - 0.5);
       cairo_stroke (cr);
       cairo_set_source_rgba (cr, 1, 0, 0, 1);
       cairo_rectangle (cr,
-                       scale * (10 + pink.x / PANGO_SCALE) + 0.5,
-                       scale * (10 + pink.y / PANGO_SCALE) + 0.5,
-                       scale * (pink.width / PANGO_SCALE) - 0.5,
-                       scale * (pink.height / PANGO_SCALE) - 0.5);
+                       scale * (10 + pango_units_to_double (pink.x)) + 0.5,
+                       scale * (10 + pango_units_to_double (pink.y)) + 0.5,
+                       scale * pango_units_to_double (pink.width) - 1,
+                       scale * pango_units_to_double (pink.height) - 1);
       cairo_stroke (cr);
       cairo_surface_destroy (surface);
     }


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