]> git.sur5r.net Git - glabels/commitdiff
2008-01-16 Jim Evins <evins@snaught.com>
authorJim Evins <evins@snaught.com>
Thu, 17 Jan 2008 01:52:48 +0000 (01:52 +0000)
committerJim Evins <evins@snaught.com>
Thu, 17 Jan 2008 01:52:48 +0000 (01:52 +0000)
* src/print.c: (print_label):
Bug #1872568.  Don't apply special transforms (rotate and
mirror) to clipping region or outline.

git-svn-id: https://glabels.svn.sourceforge.net/svnroot/glabels/trunk@727 f5e0f49d-192f-0410-a22d-a8d8700d0965

glabels2/ChangeLog
glabels2/src/print.c

index 4642fcbb61804fbade9cb12a72b1266617f259c3..aab250969d6bd04da52087699190a49409ba7e8b 100644 (file)
@@ -1,3 +1,9 @@
+2008-01-16  Jim Evins  <evins@snaught.com>
+
+       * src/print.c: (print_label):
+               Bug #1872568.  Don't apply special transforms (rotate and
+               mirror) to clipping region or outline.
+
 2008-01-01  Jim Evins  <evins@snaught.com>
 
        * src/util.c:
index b19c5c5b8fe570b22df047882e99553eecd5643c..a33e3ad1ab3b99b716b5170c0e15232bc9dd3d74 100644 (file)
@@ -504,6 +504,12 @@ print_label (PrintInfo     *pi,
        /* Transform coordinate system to be relative to upper corner */
        /* of the current label */
        cairo_translate (pi->cr, x, y);
+
+       clip_to_outline (pi, label);
+
+       cairo_save (pi->cr);
+
+        /* Special transformations. */
        if (label->rotate_flag) {
                gl_debug (DEBUG_PRINT, "Rotate flag set");
                cairo_rotate (pi->cr, -M_PI/2.0);
@@ -514,13 +520,15 @@ print_label (PrintInfo     *pi,
                cairo_scale (pi->cr, -1.0, 1.0);
        }
 
-       clip_to_outline (pi, label);
         gl_label_draw (label, pi->cr, FALSE, record);
+
+       cairo_restore (pi->cr); /* From special transformations. */
+
        if (outline_flag) {
                draw_outline (pi, label);
        }
 
-       cairo_restore (pi->cr);
+       cairo_restore (pi->cr); /* From translation. */
 
        gl_debug (DEBUG_PRINT, "END");
 }