CLIM mail archive
[Prev][Next][Index][Thread]
postscript output with scaling and draw-text* in CLIM 1.1
Dear Lois,
I'm re-sending my current version of a postscript grapher for
class hierarchies. I have dropped the with-scaling macro and
gone to the with-drawing-options equivalent since I need to
explicitly pass the transform to the draw-text* function as well.
Unfortunately the entire combination results in no improvement
over the original. It appears that draw-text* generic-function
ignores the passed in transform after checking that it is indeed
a transform. Text is identical in size and placement no matter
what I supply for a size. The tree links only match up with the
textual node positions when the size = 1.0.
I'm back to using CLIM 1.1 because with-output-to-postscript-stream
is not yet supported in CLIM 2.0.alpha. I'm using the Franz version
on a SPARCstation 2. Surely someone out there has done this before!
What am I doing wrong?
Here is the code:
(defmethod print-scaled-subclass-tree ((name symbol) &optional (size 1.0))
(let* ((class (find-class name))
(filename (concatenate 'string (string (class-name class))
"-subclass-tree.ps")))
(with-open-file (file filename :direction :output :if-exists :supersede)
(clim:with-output-to-postscript-stream (stream file :multi-page t)
(let ((transform (clim:make-scaling-transformation size size)))
(clim:with-drawing-options (stream :transformation transform)
(clim:format-graph-from-root
class
#'(lambda (object s)
(multiple-value-call
#'clim:draw-text*
s
(string (class-name object))
(clim:stream-cursor-position* s)
:align-y :center
:transformation transform))
#'clos:class-direct-subclasses :stream stream))))
)))
;;;(excl:run-shell-command (concatenate 'string "lpr " filename)))))
;;; if you actually want to print out the results, uncomment the above
;;; line and delete the preceding three close-parens. I've been simply
;;; using pageview to examine the results of the tests, and only print-
;;; hardcopy when necesary for documentation.
--------
Cordially,
Gregory M. Whittaker, The MITRE Corporation
Center for Advanced Aviation
System Development
Internet: greg@mitre.org 7525 Colshire Drive
Phone: (703) 883-5549 McLean Virginia 22102-3481
FAX: (703) 883-1226 Mail Stop: W215
0,,
Follow-Ups:
Main Index |
Thread Index