[gsharp-cvs] CVS gsharp
crhodes
crhodes at common-lisp.net
Thu Nov 22 09:33:03 UTC 2007
Update of /project/gsharp/cvsroot/gsharp
In directory clnet:/tmp/cvs-serv25528
Modified Files:
gui.lisp
Log Message:
Make the Print Buffer To File command output eps if the pathname type is
"eps".
No error-checking for multiple pages or anything sensible like that.
--- /project/gsharp/cvsroot/gsharp/gui.lisp 2007/11/21 19:22:03 1.89
+++ /project/gsharp/cvsroot/gsharp/gui.lisp 2007/11/22 09:33:03 1.90
@@ -1530,17 +1530,19 @@
:default (print-buffer-filename) :default-type 'pathname
:insert-default t))
(with-open-file (ps filepath :direction :output :if-exists :supersede)
- (with-output-to-postscript-stream (s ps)
- (setf (stream-default-view s)
- ;; FIXME: should probably get the class of the view from
- ;; the current buffer or window or something.
- (make-instance 'orchestra-view :light-glyphs-ink +black+
- :buffer (current-buffer) :cursor (current-cursor)))
- (setf (medium-transformation s)
- ;; FIXME: This scaling works for me (A4 paper, default
- ;; gsharp buffer sizes.
- (compose-scaling-with-transformation (medium-transformation s)
- 0.8 0.8))
- (print-buffer s (current-buffer) (current-cursor)
- (left-margin (current-buffer)) 100))))
-
+ (let* ((type (pathname-type filepath))
+ (epsp (string-equal type "EPS")))
+ (with-output-to-postscript-stream (s ps :device-type (when epsp :eps))
+ (setf (stream-default-view s)
+ ;; FIXME: should probably get the class of the view from
+ ;; the current buffer or window or something.
+ (make-instance 'orchestra-view :light-glyphs-ink +black+
+ :buffer (current-buffer)
+ :cursor (current-cursor)))
+ (setf (medium-transformation s)
+ ;; FIXME: This scaling works for me (A4 paper, default
+ ;; gsharp buffer sizes.
+ (compose-scaling-with-transformation
+ (medium-transformation s) 0.8 0.8))
+ (print-buffer s (current-buffer) (current-cursor)
+ (left-margin (current-buffer)) 100)))))
More information about the Gsharp-cvs
mailing list