- cairo_identity_matrix (cr);
- cairo_rel_line_to (cr, -0.5, 0);
- cairo_rel_line_to (cr, ACRE_TICK_SIZE+0.5, 0);
- cairo_set_line_width (cr, 1.0);
- cairo_stroke (cr);
+ /* tick */
+ cairo_save (cr);
+ {
+ cairo_identity_matrix (cr);
+ cairo_rel_line_to (cr, -0.5, 0);
+ cairo_rel_line_to (cr, ACRE_TICK_SIZE+0.5, 0);
+ cairo_set_line_width (cr, 1.0);
+ cairo_stroke (cr);
+ }
+ cairo_restore (cr);
+
+ /* label */
+ cairo_save (cr);
+ {
+ PangoLayout *layout;
+ char *label;
+ int width, height;
+ layout = pango_cairo_create_layout (cr);
+ pango_layout_set_font_description (layout, acre->font);
+ asprintf (&label, "%g", y);
+ pango_layout_set_text (layout, label, -1);
+ free (label);
+ pango_layout_set_alignment (layout,
+ PANGO_ALIGN_CENTER);
+ cairo_move_to (cr, acre->x_axis.min, y);
+ cairo_identity_matrix (cr);
+ pango_layout_get_pixel_size (layout, &width, &height);
+ cairo_rel_move_to (cr, -width-2, -height/2);
+ pango_cairo_show_layout (cr, layout);
+ }
+ cairo_restore (cr);