[mcclim-cvs] CVS update: mcclim/Backends/PostScript/graphics.lisp
Christophe Rhodes
crhodes at common-lisp.net
Mon Aug 1 16:50:44 UTC 2005
Update of /project/mcclim/cvsroot/mcclim/Backends/PostScript
In directory common-lisp.net:/tmp/cvs-serv21672
Modified Files:
graphics.lisp
Log Message:
Fix the sense of rotations in the Postscript backend, being more careful
than in my mailed patch to handle NIL angles.
(When are we getting a test suite?)
Date: Mon Aug 1 18:50:44 2005
Author: crhodes
Index: mcclim/Backends/PostScript/graphics.lisp
diff -u mcclim/Backends/PostScript/graphics.lisp:1.12 mcclim/Backends/PostScript/graphics.lisp:1.13
--- mcclim/Backends/PostScript/graphics.lisp:1.12 Fri Dec 3 12:42:43 2004
+++ mcclim/Backends/PostScript/graphics.lisp Mon Aug 1 18:50:43 2005
@@ -147,8 +147,15 @@
(cy (point-y center))
(tr (make-transformation ndx2 ndx1 ndy2 ndy1 cx cy))
(circle (untransform-region tr ellipse))
- (start-angle (or (ellipse-start-angle circle) 0))
- (end-angle (or (ellipse-end-angle circle) (* 2 pi))))
+ ;; we need an extra minus sign because the rotation
+ ;; convention for Postscript differs in chirality from the
+ ;; abstract CLIM convention; we do a reflection
+ ;; transformation to move the coordinates to the right
+ ;; handedness, but then the sense of positive rotation is
+ ;; backwards, so we need this reflection for angles. --
+ ;; CSR, 2005-08-01
+ (start-angle (- (or (ellipse-end-angle circle) 0)))
+ (end-angle (- (or (ellipse-start-angle circle) (* -2 pi)))))
(write-string (if filled "true " "false ") stream)
(write-angle stream (if (< end-angle start-angle)
(+ end-angle (* 2 pi))
More information about the Mcclim-cvs
mailing list