[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
re: landscape printing
- To: language@skdad.usask.ca
- Subject: re: landscape printing
- From: "Mark A. Tapia" <markt@dgp.toronto.edu>
- Date: Sat, 30 Jan 1993 17:47:49 -0500
- Cc: info-mcl@cambridge.apple.com
on Fri Jan 29 19:32:09 1993 you replied to a query from
hinkle@rddvax.decnet.lockheed.com about setting the page
setup attributes to landscape or portrait, noting:
sorry I don't have the lisp code for checking handy,
but here's how to check in pascal:
...
Gregory Wilcox sent me some code for setting the correct bits
in a printer record to landscape or portrait. Here's the code
which I have not yet integrated into print-u.lisp.
The following method sets the orientation to landscape
when orientation is 0 and to portrait when it is 1.
(defmethod set-print-orientation ((self t) orientation)
(with-open-printer (print-record :view self)
(if (macptrp print-record)
(let* ((old (rref print-record :tprint.prstl.wdev))
(bit (ecase orientation
(landscape 0)
(portrait 1)))
;; experimentally determined that bit one controls orientation
;; is this always true?
(new (dpb bit (byte 1 1) old)))
(rset print-record :tprint.prstl.wdev new))
(error "~s is not a macintosh pointer" print-record))))