Hi!
Is the current point part of the cairo context? I have following code:
cairo_get_current_point (cr, &x, &y);
printf ("before: x=%lf, y=%lf\n", x, y);
cairo_save (cr);
draw_text (cr, text, &chenar_1);
cairo_restore (cr);
cairo_get_current_point (cr, &x, &y);
printf ("after: x=%lf, y=%lf\n", x, y);
, and this shows different values for the current point before/after the draw_text() function. I expected cairo_restore() to completely restore cr, also the current point.