]> git.cworth.org Git - acre/blobdiff - acre.c
Force an identity matrix when creating a pango layout
[acre] / acre.c
diff --git a/acre.c b/acre.c
index f46aebf6441271523aba89dda74d5e8d17e9e5f0..8e7f1b17b6c20134201b547037660927a573e3ec 100644 (file)
--- a/acre.c
+++ b/acre.c
@@ -368,11 +368,16 @@ _create_layout (acre_t *acre, const char *text)
     if (text == NULL)
            text = "";
 
+    cairo_save (acre->cr);
+    cairo_identity_matrix (acre->cr);
+
     layout = pango_cairo_create_layout (acre->cr);
     pango_layout_set_font_description (layout, acre->font);
     pango_layout_set_text (layout, text, -1);
     pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER);
 
+    cairo_restore (acre->cr);
+
     return layout;
 }
 
@@ -915,10 +920,14 @@ _draw_ticks (acre_t *acre,
        {
            PangoLayout *layout;
            int width, height;
+           double label_value;
 
            cairo_save (cr);
 
-           layout = _create_layout_printf (acre, "%g", t);
+           label_value = t;
+           if (fabs (label_value) < (sub_step / 1000.))
+               label_value = 0.0;
+           layout = _create_layout_printf (acre, "%g", label_value);
 
            if (ticks == ACRE_TICKS_X)
                cairo_move_to (cr, t, acre->y_axis.view_min);