Skip to content
Snippets Groups Projects
Commit 2e225d91 authored by layer's avatar layer
Browse files

2.2.2.15 -- join from cley2 branch

parent 282dd2d5
No related branches found
No related tags found
No related merge requests found
Showing
with 5459 additions and 49 deletions
......@@ -10,6 +10,10 @@ If there are user-visible changes in this commit, then list the
<standard changelog date stamp>
* <changes go here...>
*******************************************************************************
2.2.2.15 -- join from cley2 branch
next merge tag: cley2_merg1
*******************************************************************************
2.2.2.14
......@@ -34,6 +38,48 @@ If there are user-visible changes in this commit, then list the
* Makefile.sun4-svr4: fix for bug9083 (use Motif 1.2 instead of 2.0)
*******************************************************************************
cley branch:
2.2.2.14 Tim Bradshaw <tfb@cley.com>
Changes to try and make it easy to get CLIM not to take over all the
standard streams, and defaultly not to take over
*error-output*.
* clim/frames.lisp: back out change in 2.2.2.13, add new
slot to standard-application-frame, changes to
default-frame-top-level, changes to frame-<stream> methods
on standard-application-frame.
* demo/default-frame-top-level: change to be compatible with
version in clim/frames.lisp
* RELNOTES: explanation of how it is meant to work.
Image improvements
* tk-silica/image.lisp: make this slightly safer, merge
changes from acl50 branch
Doc changes
* specs/: add epsf figures, update TeX files (brought over from
acl50). This should now go through latex to make the clim spec.
*******************************************************************************
cley branch:
2.2.2.13 Tim Bradshaw <tfb@cley.com>
* clim/frames.lisp, demo/default-frame-top-level.lisp: partly
work around the problem that ACL will print autoload
messages into CLIM windows. This change can be taken out
if/when ACL prints these messages to *initial-terminal-io*.
*******************************************************************************
cley branch:
2.2.2.12 Tim Bradshaw <tfb@cley.com>
* clim/accept.lisp: try and work around Gray stream dependence
(more work is needed on gray streams)
*******************************************************************************
2.2.2.11
......
# $Header: /repo/cvs.copy/clim2/Makefile.sun4-svr4,v 1.18 2000/06/09 20:52:58 layer Exp $
# $Id: Makefile.sun4-svr4,v 1.19 2000/06/26 17:42:07 layer Exp $
#
# Makefile.sun4-svr4 for CLIM 2.0
#
......@@ -13,6 +13,7 @@ Makefile=Makefile.sun4-svr4
XINCLUDES=-I/usr/openwin/include -I/usr/dt/include
# on sol7 and later -lXm is motif 2, and we need 1.x.
#TKLIB=-lXm
TKLIB=/usr/dt/lib/libXm.so.3
XTLIB=-lXt
......
......@@ -36,3 +36,42 @@ developers or documentation.
code is now included in the normal fasls and the empty files
included for backwards compatibility. In a future release they
will disappear.
5. <norfe>. CLIM has been changed so that, the standard frame
top-level loop defaultly rebinds *error-output* to itself, and not
to one of the frame panes. This is an incompatible change, which
was made to stop problems when Lisp messages (unrelated to the CLIM
application) were getting printed to CLIM panes. This is at best
annoying, and at worst can cause errors in incremental redisplay.
Rather than hard-wire this change, it is controlled by an argument
to make-application-frame / make-instance of
standard-application-frame:
(make-application-frame ... :non-frame-stream-names <name list>)
Will cause the default top-level loop to rebind the values of the
standard streams named in <name list> to themselves, not to CLIM
panes, even when there are suitable panes available. The default
case is as if you said:
(make-application-frame ... :non-frame-stream-names '(*error-output*))
And you can inhibit the new behaviour by saying:
(make-application-frame ... :non-frame-stream-names '())
or providing this as a default-initarg in a frame class definition.
Note that this behaviour is controlled in terms of stream *names*
not streams, and in fact it is more general than just
*error-output*. The names that make sense in the list are
*standard-output*, *standard-output*, *error-output*, *query-io*
and *pointer-documentation-output*.
The behaviour of the generic functions frame-standard-output,
frame-standard-input, frame-query-io, frame-error-output and
frame-pointer-documentation-output are altered by this change. If
the corresponding stream will be rebound to its old value in the
frame, the methods defined on standard-application-frame for these
generic functions will return nil rather than a stream.
......@@ -16,7 +16,7 @@
;; Commercial Software developed at private expense as specified in
;; DOD FAR Supplement 52.227-7013 (c) (1) (ii), as applicable.
;;
;; $Id: accept.lisp,v 1.29 1998/08/06 23:15:50 layer Exp $
;; $Id: accept.lisp,v 1.30 2000/06/26 17:42:07 layer Exp $
(in-package :clim-internals)
......@@ -445,17 +445,22 @@
input-wait-test input-wait-handler
pointer-button-press-handler)
(declare (ignore input-wait-test input-wait-handler pointer-button-press-handler))
;; avoid using STREAM-x functions to reduce Gray stream dependence,
;; tfb 13-jun-2000
(let ((char (if (eq timeout 0)
(stream-read-char-no-hang stream)
(stream-read-char stream))))
(read-char-no-hang stream nil ':eof)
(read-char stream nil ':eof))))
(when (and char peek-p)
(stream-unread-char stream char))
(unread-char char stream))
char))
(defmethod stream-unread-gesture ((stream t) gesture)
(unless (eq gesture *end-of-file-marker*)
(check-type gesture character)
(stream-unread-char stream gesture)))
;; avoid using STREAM-x functions to reduce Gray stream dependence,
;; tfb 13-jun-2000
(unread-char gesture stream)))
(defmethod stream-accept ((stream t) type &rest accept-args
&key view &allow-other-keys)
......
......@@ -16,7 +16,7 @@
;; Commercial Software developed at private expense as specified in
;; DOD FAR Supplement 52.227-7013 (c) (1) (ii), as applicable.
;;
;; $Id: frames.lisp,v 1.95 2000/05/01 21:43:23 layer Exp $
;; $Id: frames.lisp,v 1.96 2000/06/26 17:42:07 layer Exp $
(in-package :clim-internals)
......@@ -26,6 +26,15 @@
(define-protocol-class application-frame ())
(defvar *default-non-frame-stream-names*
;; This is a list of stream *names* which will defaultly not be
;; rebound to frame-specific values. For Allegro we need to not
;; bind *STANDARD-ERROR* as noise output happens on that.
;; Actually I think it might be correct to not rebind
;; *STANDARD-ERROR* at all.
'(#+allegro *error-output*
))
(defclass standard-application-frame (application-frame)
((name :initarg :name :accessor frame-name)
(pretty-name :initarg :pretty-name :accessor frame-pretty-name)
......@@ -75,7 +84,9 @@
(command-queue :initform (make-locking-queue) :reader frame-command-queue)
(input-buffer :initform nil :initarg :input-buffer :reader frame-input-buffer)
(pane-to-avv-stream-table :initform nil :accessor frame-pane-to-avv-stream-table)
(actual-pointer-documentation-pane :initform nil :accessor frame-actual-pointer-documentation-pane))
(actual-pointer-documentation-pane :initform nil :accessor frame-actual-pointer-documentation-pane)
(non-frame-stream-names :initform *default-non-frame-stream-names*
:initarg :non-frame-stream-names))
(:default-initargs :pointer-documentation nil
:layouts nil
:resize-frame nil
......@@ -896,11 +907,11 @@
(let* ((*standard-output*
(or (frame-standard-output frame) *standard-output*))
(*standard-input*
(or (frame-standard-input frame) *standard-output*))
(or (frame-standard-input frame) *standard-input*))
(*query-io*
(or (frame-query-io frame) *standard-input*))
(or (frame-query-io frame) *query-io*))
(*error-output*
(or (frame-error-output frame) *standard-output*))
(or (frame-error-output frame) *error-output*))
(*pointer-documentation-output*
(frame-pointer-documentation-output frame))
(interactor
......@@ -1459,22 +1470,37 @@
(frame-top-level-sheet frame)))
(defmethod frame-standard-output ((frame standard-application-frame))
(or (find-frame-pane-of-type frame 'application-pane)
(find-frame-pane-of-type frame 'interactor-pane)))
(if (not (member '*standard-output* (slot-value frame
'non-frame-stream-names)))
(or
(find-frame-pane-of-type frame 'application-pane)
(find-frame-pane-of-type frame 'interactor-pane))
nil))
(defmethod frame-standard-input ((frame standard-application-frame))
(or (find-frame-pane-of-type frame 'interactor-pane)
(frame-standard-output frame)))
(if (not (member '*standard-input* (slot-value frame
'non-frame-stream-names)))
(or (find-frame-pane-of-type frame 'interactor-pane)
(frame-standard-output frame))))
(defmethod frame-query-io ((frame standard-application-frame))
(or (frame-standard-input frame)
(frame-standard-output frame)))
(if (not (member '*query-io* (slot-value frame
'non-frame-stream-names)))
(or (frame-standard-input frame)
(frame-standard-output frame))
nil))
(defmethod frame-error-output ((frame standard-application-frame))
(frame-standard-output frame))
(if (not (member '*error-output* (slot-value frame
'non-frame-stream-names)))
(frame-standard-output frame)
nil))
(defmethod frame-pointer-documentation-output ((frame standard-application-frame))
(find-frame-pane-of-type frame 'pointer-documentation-pane))
(if (not (member '*pointer-documentation-output*
(slot-value frame 'non-frame-stream-names)))
(find-frame-pane-of-type frame 'pointer-documentation-pane)
nil))
;;--- This causes direct-manipulation and menu-driven applications not to
;;--- maintain histories. Is there a better heuristic?
......
......@@ -16,7 +16,7 @@
;; Commercial Software developed at private expense as specified in
;; DOD FAR Supplement 52.227-7013 (c) (1) (ii), as applicable.
;;
;; $Id: default-frame-top-level.lisp,v 1.4 1998/08/06 23:16:25 layer Exp $
;; $Id: default-frame-top-level.lisp,v 1.5 2000/06/26 17:42:07 layer Exp $
(in-package :clim-internals)
......@@ -31,11 +31,11 @@
(let* ((*standard-output*
(or (frame-standard-output frame) *standard-output*))
(*standard-input*
(or (frame-standard-input frame) *standard-output*))
(or (frame-standard-input frame) *standard-input*))
(*query-io*
(or (frame-query-io frame) *standard-input*))
(or (frame-query-io frame) *query-io*))
(*error-output*
(or (frame-error-output frame) *standard-output*))
(or (frame-error-output frame) *error-output*))
(*pointer-documentation-output*
(frame-pointer-documentation-output frame))
(interactor
......
......@@ -17,7 +17,7 @@
;; Commercial Software developed at private expense as specified in
;; DOD FAR Supplement 52.227-7013 (c) (1) (ii), as applicable.
;;
;; $Id: compile-1.lisp,v 1.38 2000/06/08 19:16:54 layer Exp $
;; $Id: compile-1.lisp,v 1.39 2000/06/26 17:42:07 layer Exp $
(in-package :user)
......@@ -332,8 +332,8 @@
;; the clim-homegrown and the clim-compatibility (from
;; compatibility;sysdcl) systems were not being bult on any
;; platform.
#+(and allegro (not acl86win32))
;;#+ics ;I hope this is the right test
;; I am not sure if this is the right test...
#+(and allegro ics (not acl86win32))
(cl 'wnn)
(cl 'postscript-clim)
(cl 'climdemo)
......@@ -363,9 +363,9 @@
(concatenate-system 'postscript-clim "clim2:;climps.fasl")
;; The wnn system depends on ics. The debug system is just there
;; for backwards compatibility
#+(and allegro (not acl86win32))
#+(and allegro ics (not acl86win32))
(concatenate-system 'wnn-cat "clim2:;climwnn.fasl")
#+(and allegro (not acl86win32))
#+(and allegro ics (not acl86win32))
(concatenate-system 'empty-cat "clim2:;clim-debugwnn.fasl")
;; hpgl only on unix
#-acl86win32
......
......@@ -5,3 +5,6 @@
*.idx
*.aux
*.log
*.ind
*.ilg
*.out
......@@ -34,7 +34,7 @@ transformations, it does not hold.
\end{verbatim}
\begin{figure}
\ifpsfig\centerline{\psfig{figure=bounding-box.ps}}\else\vspace{2.0in}\fi
\centerline{\epsfig{file=bounding-box.epsi}}
\caption{\label{output-record-bbox} The bounding rectangle of an output record.}
\end{figure}
......
%!PS-Adobe-2.0 EPSF-1.2
%%Title: border-example.ps
%%Creator: Ghostscript ps2epsi from border-example.ps
%%CreationDate: Dec 16 14:20
%%For: ga
%%Pages: 1
%%DocumentFonts: Courier
%%BoundingBox: 32 684 309 760
%%BeginPreview: 278 75 1 75
% fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0
% 8000000000000000000000000000000000000000000000000000000000000000000010
% 8000000000000000000000000000000000000000000000000000000000000000000010
% 8000000000000000000000000000000000000000000000000000000000000000000010
% 8000000000000000000000000000000000000000000000000000000000000000000010
% 8000000000000000000000000000000000000000000000000000000000000000000010
% 8000000000000000000000000000000000000000000000000000000000000000000010
% 9fc0800080000000000004000400021180000000020000006000030000600000000010
% 84798f018f01e77dc039bf79bf01963cf00e03dc7f8e7bdb21cf01ce79ee3c00000010
% 84488e008e01c8962044940494005210901e01228a1e0c4923c4013122311000000010
% 84488300830068b7e04494249400f2109022013e82222c4924440131223f1000000010
% 8ed9ef01ef01e77dc038f738f700a79db03e039c73bedbcf7fce03ce71ee3800000010
% 8000000000000000000000200000000000000000000000400000000000000000000010
% 8000000000000000000000600000000000000000000001800000000000000000000010
% 8000000000000000000000000000000000000000000000000000000000000000000010
% 8000000000000000000000000000000000000000000000000000000000000000000010
% fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000
% 8000000000000000000000000000000000000000000000010000000000000000000000
% 8000000000000000000000000000000000000000000000010000000000000000000000
% 8000000000000000000000000000000000000000000000010000000000000000000000
% 8000000000000000000000000000000000000000000000010000000000000000000000
% 8000000000000000000000000000000000000000000000010000000000000000000000
% 8000000000000000000000000000000000000000000000010000000000000000000000
% 9fc0800300000000600000018006000000060000220000010000000000000000000000
% 84798f01e73c0381e7b9e03cf39eec81b3dee3c0678000010000000000000000000000
% 84488e012f380782224417b897a3128090631100220000010000000000000000000000
% 84488301310c08822244900c98a317809163f100220000010000000000000000000000
% 8ed9ef037f3c0f81e738e03dbf9ee500f6dee3807b8000010000000000000000000000
% 8000000000000000000080000000000000000000000000010000000000000000000000
% 8000000000000000000180000000000000000000000000010000000000000000000000
% 8000000000000000000000000000000000000000000000010000000000000000000000
% 8000000000000000000000000000000000000000000000010000000000000000000000
% ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0000000000000000000000000000000000000000000000000000000000000000000000
% 0c00602304000001000080100000018003080006000000000000000000000000000000
% 0679e079ec3c076fcf6de030f036f79cf118f39e000000000000000000000000000000
% 0a0a2021243808a500a48010e01218a241081462000000000000000000000000000000
% 0f2a2021240c08a504a48010301258be410857e2000000000000000000000000000000
% 1fffffffffffffffffffffffffffffffffffffffffffc0000000000000000000000000
% 0000000000000000040000000000000000000000000000000000000000000000000000
% 00000000000000000c0000000000000000000000000000000000000000000000000000
%%EndImage
%%EndPreview
save
countdictstack
mark
newpath
/showpage {} def
%%EndProlog
%%Page 1 1
statusdict /waittimeout 30 put
/fontarray 30 array def
/f {fontarray exch get setfont} def
/estfont {findfont exch scalefont fontarray 3 1 roll put} def
/m {moveto} def
/format-rotation 0 def
/format-y-translation 0 def
/new-matrix {0 format-y-translation translate
format-rotation rotate} def
/new-page {showpage new-matrix} def
new-matrix
0 9 /Courier estfont
0 f 0.00 0.00 0.00 setrgbcolor
36 747.36 m (This is some output with a rectangular border) show
0 setlinewidth
newpath
33.6 758.4 m 308.4 758.4 lineto
308.4 742.8 lineto
33.6 742.8 lineto
closepath stroke
36 717.36 m (This has a drop-shadow under it) show
0 setlinewidth
newpath
33.6 728.4 m 224.4 728.4 lineto
stroke
0 setlinewidth
newpath
33.6 728.4 m 33.6 712.8 lineto
stroke
0.35999998 setlinewidth
newpath
224.4 728.4 m 224.4 712.8 lineto
33.6 712.8 lineto
stroke
36 686.16 m (And this output is underlined) show
0 setlinewidth
newpath
36 686.16 m 210 686.16 lineto
stroke
showpage
%%Trailer
cleartomark
countdictstack exch sub { end } repeat
restore
%%EOF
......@@ -25,7 +25,7 @@ rectangular, highlighted with a dropshadow, and underlined, respectively.
\end{verbatim}
\begin{figure}
\ifpsfig\centerline{\psfig{figure=border-example.ps}}\else\vspace{1.50in}\fi
\centerline{\epsfig{file=border-example.epsi}}
\caption{\label{border-example} Examples of bordered output.}
\end{figure}
......
%!PS-Adobe-2.0 EPSF-1.2
%%Title: bounding-box.ps
%%Creator: Ghostscript ps2epsi from bounding-box.ps
%%CreationDate: Dec 15 15:47
%%For: ga
%%Pages: 1
%%DocumentFonts: Courier-Oblique Courier
%%BoundingBox: 55 138 319 242
%%BeginPreview: 265 103 1 103
% 00000000000000000000000000000000000000077b9cef7b9cef7b9cef40000000
% 000000000000000000000000000000000000000400000000000004000040000000
% 000000000000000000000000000000000000000000000000000004000040000000
% 000800001200000000000030000000000000000000000000000006000000000000
% 000800001000000001000010000000000000018400000000000005000000000000
% 000fbb5e7679e0773b86f791c07ffffffffffffc00000000000005800040000000
% 0008c542920a204f411e1893c0000000000001e400000000000006800040000000
% 000f39da7769e07739ded7b9c00000000000000000000000000005400040000000
% 000000000000200000000080000000000000000400000000000004200000000000
% 000000000001800000000600000000000000000400000000000005600040000000
% 000000000000000000000000000000000000000400000000000006300040000000
% 000000000000200000000000000000000000000400000000000005580040000000
% 000000000000200000000000000000000000000000000000000004880040000000
% 000000000000200000000000000000000000000400000000000005540000000000
% 000000000000200000000000000000000000000400000000000006220040000000
% 000000000000200000000000000000000000000400000000000005550040000000
% 000000000000200000000000000000000000000400000000000004010040000000
% 000000000000200000000000000000000000000000000000000005558040000000
% 000000000000200000000000000000000000000400000000000006224000000000
% 000000000000200000000000000000000000000400000000000005554040000000
% 00000000000020000000000000000000000000040000000000000480a040000000
% 000000000000200000000000000000000000000000000000000005555040000000
% 000000000000200000000000000000000000000000000000000006223000000000
% 000000000000200000000000000000000000000400000000000005555800000000
% 000000000000200000000000000000000000000400000000000008000440000000
% 000000000000200000000000000000000000000400000000000035555640000000
% 000000000000200000000000000000000000000000000000000062222240000000
% 0000000000002000000000000000000000000000000000000001d5555500000000
% 000000000000200000000000000000000000000400000000000280808080000000
% 000000000000200000000000000000000000000400000001f80555555540000000
% 00000000000020000000000000000000000000040000000127fa22222640000000
% 000000000000200000000000000000000000000000000001555555555840000000
% 000000000000200000000000000000000000000400000002000000003000000000
% 000000000000f00000000000000000000000000400000003555555554040000000
% 000000000000700000000000000000000000000400000002222222228040000000
% 000000000000600000000000000000000000000400000005555555570040000000
% 000000000000600000000000000000000000000000000004808080840040000000
% 003bdce77bdce77bdce77bd8000000000000000400000005555555580000000000
% 00000000000020000000000800000000000000040000000a222222200040000000
% 00000000000000000000000800000000000000040000000d555555c00040000000
% 00200000000000000000001000000000000000040001fc08000001000040000000
% 0020000000000000000000380000000000000000000357f5555556000040000000
% 00200000000000000000007800000000000000040002222222222c000000000000
% 000000000000000000000058000000000000000400035555555550000040000000
% 0020000000000000000000980000000000000004000280808080e0000040000000
% 002000000000000000000150000000000000000000055555555580000040000000
% 002000000000000000000138000000000000000000062222222300000000000000
% 002000000000000000000358000000000000000400055555555400000000000000
% 000000000000000000000418000000000000000400040000000800000040000000
% 0020000000000000000005500000000000000004000d5555557000000040000000
% 002000000400000000000a300000000000000000000a2222224000000040000000
% 0020c0000e000040000015580000000000000000000d5555558000000000000000
% 0020a000110001a0000010980000000000000007c0088080820000000000000000
% 00015000358003500000355800000000000000077f1555555c0000000040000000
% 002128006240062c00002230000000000000000622f22222300000000040000000
% 00215401d5701d5600005550000000000000000155555555600000000040000000
% 002102020008200100008018000000000000000500000000c00000000000000000
% 00035505555455558000d5580000000000000004d5555555000000000040000000
% 0002228a2223a222400122380000000000000004a2222226000000000040000000
% 00235555555555557fff55500000000000000004d5555558000000000040000000
% 002280a080808080808080980000000000000000408080b0000000000040000000
% 002555555555555555555558000000000000000455555540000000000000000000
% 000622222222222222222238000000000000000462222280000000000040000000
% 000555555555555555555558000000000000000435555700000000000040000000
% 002400000000000000000010000000000000000420000400000000000040000000
% 002d55555555555555555558000000000000000015555800000000000040000000
% 002a22222222222222222238000000000000000412222000000000000000000000
% 000d5555555555555555555800000000000000041555c000000000000040000000
% 002880808080808080808098000000000000000408810000000000000040000000
% 00355555555555555555555000000000000000000d560000000000000040000000
% 00322222222222222222223800000000000000000a2c0000000000000000000000
% 003555555555555555555558000000000000000405500000000000000000000000
% 001000000000000000000018000000000000000404600000000000000040000000
% 003555555555555555555550000000000000000403800000000000000040000000
% 003ffffffffffffffffffff0000000000000000003000000000000000040000000
% 00277bdce77bdce77bdce7780000000000000007b9cef7b9cef7b9cef700000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000030000000002000000000000000030000000000020000003000000000
% 000001800000000000000000000000000000640000000000000000000000000000
% 00000081e7024eef01dfe00000000000000027739e0f3b8ee479c0f7024e7f0000
% 000003812902532803920000000000000000e447c0004a1c804240990252980000
% 000006c1ce719ddb07b7e000000000000001be779c0e73bceedb80ee719cfb0000
% 000000000001040000000000000000000000000000000000000080000104000000
% 000000030004180000000000000000000000000000000000000301800418000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 000000000000000000000000000000000000000000000000000000000000000000
% 200010000044000000000000600000001ce0100000000000000020200000000000
% 000010000000000000000000000000000480000000000000000000000000000000
% 4e701e7b7bc8f703dc7e3bce0e00000008e0f71dfce700fe75bde047380ee7b9de
% 08381298440089003e8872121f00000004210fa43ff381c0942200041c11f423e0
% ee783ceedfddbe03bceef6dcfe00000039c1ff39fde783dce76fe0e73c1dedbbdc
% 000000000000020000000004000000000000000800000000000000000000000000
% 0000000000000c0000000018000000000000003000000000000000000000000000
%%EndImage
%%EndPreview
save
countdictstack
mark
newpath
/showpage {} def
%%EndProlog
%%Page 1 1
statusdict /waittimeout 60 3 mul put
/ConsString 1000 string def
/OneCharString 1 string def
/m /moveto load def
/x { currentpoint exch pop moveto} bind def
/y { currentpoint pop exch moveto} bind def
/s { ConsString 0 3 -1 roll getinterval currentfile exch readstring pop show} bind def
/cs { OneCharString dup 0 4 -1 roll put } bind def
/ns { cs show} bind def
/ns0 { currentpoint 3 -1 roll ns moveto} bind def
/f { ExtToInt exch get dup /UnusedFont ne { IntFonts exch get setfont } { pop } ifelse } def
/xdef {exch def} bind def
/xget {exch get} bind def
/r { gsave currentpoint
4 copy moveto exch 3 -1 roll lineto 4 2 roll lineto lineto closepath
fill grestore
}def
/l { currentpoint gsave newpath moveto lineto stroke grestore} def
/fic { gsave newpath 0 360 arc fill grestore} def
/lgp2-matrix matrix def
/lgp2-getmatrix { lgp2-matrix currentmatrix pop lgp2-setmatrix } bind def
/lgp2-setmatrix { lgp2-matrix setmatrix
0 lgp2-y-translation translate lgp2-rotation rotate
viewmatrix concat } bind def
/viewmatrix matrix def
/setviewoffset { 5 -1 4 { viewmatrix exch 3 -1 roll put } for
lgp2-setmatrix
} bind def
/NextPage {
showpage
pop
0 0 moveto
restore save
lgp2-getmatrix
} def
/partialinitgraphics { 1 setlinewidth 0 setlinecap 0 setlinejoin [] 0 setdash 0 setgray } bind def
/TempMatrix matrix def
/sm { lgp2-setmatrix
5 -1 0 { TempMatrix exch 3 -1 roll put } for
TempMatrix concat
} bind def
/sm1 {1 0 0 1 0 0 sm} bind def
/gs /gsave load def
/gr /grestore load def
/l2 /lineto load def
/ell { TempMatrix currentmatrix pop
7 -2 roll transform 7 -2 roll scale itransform 1 6 3 roll
{arcn} {arc} ifelse
TempMatrix setmatrix
} bind def
/uscale { dup idtransform pop } bind def
/usetlinewidth { uscale setlinewidth } def
/usetdash { exch dup 3 1 roll
dup length 1 sub -1 0 { exch dup 3 -1 roll 2 copy get uscale abs put } for
pop setdash
} bind def
/fmod { 2 copy div floor mul sub } bind def
/imgdict 17 dict def
/pat { imgdict begin gsave
[/scal /patseq ] {exch def} forall
/patheight patseq length def
/patwidth patseq 0 get length 8 mul def
/pswidth patwidth scal mul def
/psheight patheight scal mul def
pswidth psheight idtransform
0 0 transform psheight fmod neg exch pswidth fmod neg exch idtransform
3 -1 roll exch dup 0 gt {add} {exch pop} ifelse
3 1 roll dup 0 gt {add} {exch pop} ifelse exch 2 copy translate
3 -1 roll exch abs add 3 1 roll abs add exch dtransform
psheight div abs ceiling cvi patheight mul /height exch def
pswidth div abs ceiling cvi patwidth mul /width exch def
width 0 ne { height 0 ne {
/scanline -1 def /linebits 0 def
width height idtransform abs scale scal dup scale
width height true [width 0 0 height neg 0 height]
{ linebits 0 le { /linebits width def
/scanline scanline 1 add patheight mod def
/linepat patseq scanline get def
} if
/linebits linebits patwidth sub def linepat }
imagemask } if } if grestore end
} def
/patfill1 { initmatrix clippath
errordict begin
/nocurrentpoint dup dup load exch { pop 0 0 0 0 } def
pathbbox
6 -2 roll def end
4 2 roll 2 copy translate 4 -2 roll
3 -1 roll sub 3 1 roll exch sub exch
3 -1 roll { 2 copy gsave 1 setgray newpath
0 0 moveto 0 exch lineto 0 rlineto currentpoint pop 0 lineto
closepath fill grestore } if
4 -2 roll pat } def
/patfill { gsave clip patfill1 grestore newpath } def
/pateofill { gsave eoclip patfill1 grestore newpath } def
/patstroke { gsave strokepath clip patfill1 grestore newpath } def
imgdict begin
/imgcodes 1 string def
/nextimgcode { currentfile imgcodes readhexstring pop 0 get } bind def
/imgbuf 100 string def
end
/img { imgdict begin
[/imgproc /depth /nbytes /height /width ] {exch def} forall
nbytes 0 ne {
gsave width height scale
width height depth [width 0 0 height neg 0 height]
{ nbytes 0 le {imgbuf 0 0 getinterval}
{nextimgcode dup 63 and
dup nbytes exch sub /nbytes exch def
dup 3 -1 roll 192 and dup 192 eq {pop nextimgcode}
{0 eq {0} {255} ifelse} ifelse
imgbuf 0 4 -1 roll getinterval
0 1 5 -1 roll 1 sub {3 copy 3 -1 roll put pop} for exch pop}
ifelse}
imgproc grestore
} if end
} def
/lgp2-rotation 0 def
/lgp2-y-translation 0 def
/ExtToInt [ 0 1] def
/IntFonts [
/Courier findfont 7.92 7.47 matrix scale makefont
/Courier-Oblique findfont 7.92 7.47 matrix scale makefont
] def
save lgp2-getmatrix
0 f
gs
newpath
0.6 0.0 0.0 0.6 0.0 0.0 sm
355 401 m
483 401 l2
483 276 l2
355 276 l2
closepath
[ 4 4 ] 0 setdash
stroke gr
gs
newpath
0.6 0.0 0.0 0.6 0.0 0.0 sm
370.94 276.77 m
480.7 353.63 l2
448.58 399.51 l2
449.98 362.64 l2
432.78 350.6 l2
413.03 352.64 l2
406.56 332.24 l2
385.43 334.53 l2
379.04 310.53 l2
356.76 314.46 l2
closepath
0.66999996 setgray
fill gr
gs
newpath
0.6 0.0 0.0 0.6 0.0 0.0 sm
370.94 276.77 m
480.7 353.63 l2
448.58 399.51 l2
449.98 362.64 l2
432.78 350.6 l2
413.03 352.64 l2
406.56 332.24 l2
385.43 334.53 l2
379.04 310.53 l2
356.76 314.46 l2
closepath
stroke gr
gs
newpath
0.6 0.0 0.0 0.6 0.0 0.0 sm
110 339 m
247 339 l2
247 276 l2
110 276 l2
closepath
[ 4 4 ] 0 setdash
stroke gr
gs
newpath
0.6 0.0 0.0 0.6 0.0 0.0 sm
111 278 m
245 278 l2
245 334 l2
225 303 l2
204 303 l2
189 316 l2
172 303 l2
156 317 l2
137 301 l2
121 317 l2
closepath
0.66999996 setgray
fill gr
gs
newpath
0.6 0.0 0.0 0.6 0.0 0.0 sm
111 278 m
245 278 l2
245 334 l2
225 303 l2
204 303 l2
189 316 l2
172 303 l2
156 317 l2
137 301 l2
121 317 l2
closepath
stroke gr
gs
newpath
0.6 0.0 0.0 0.6 0.0 0.0 sm
177 382 m
177 346 l2
stroke gr
gs
newpath
0.6 0.0 0.0 0.6 0.0 0.0 sm
177 336 m
174.5 346 l2
179.5 346 l2
closepath
fill gr
gs
1.0101012 0.0 0.0 1.0101012 68.4 233.40001 sm
0 0 m
18 s bounding rectangle
gr
gs
newpath
0.6 0.0 0.0 0.6 0.0 0.0 sm
269 392 m
345 392 l2
stroke gr
gs
newpath
0.6 0.0 0.0 0.6 0.0 0.0 sm
355 392 m
345 389.5 l2
345 394.5 l2
closepath
fill gr
gs
1.0101012 0.0 0.0 1.0101012 54.600002 140.40001 sm
0 0 m
1 f
22 s its bounding rectangle
gr
gs
1.0101012 0.0 0.0 1.0101012 76.8 149.40001 sm
0 0 m
1 f
13 s A polygon and
gr
gs
1.0101012 0.0 0.0 1.0101012 198.6 149.40001 sm
0 0 m
1 f
22 s After rotating polygon
gr
gs
1.0101012 0.0 0.0 1.0101012 184.8 140.40001 sm
0 0 m
1 f
28 s 35 degrees around its center
gr
true NextPage
restore
%%Trailer
cleartomark
countdictstack exch sub { end } repeat
restore
%%EOF
......@@ -280,7 +280,7 @@ remain as a compatibility function that takes a single root object.
conventions. A compatibility function will be provided.
\item All of the clause arglists for \cl{tracking-pointer} are specified with
{\tt\&key\}, that is, they are named arguments rather than positional ones.
{\tt\&key}, that is, they are named arguments rather than positional ones.
This should not cause any problems, except for the one case that the
\arg{character} argument to the \cl{:keyboard} clause has been renamed to
\arg{gesture}.
......
% -*- Mode: LaTeX -*-
\documentstyle{report} % tried to use [twoside] to no avail --SWM
\documentclass{report} % tried to use [twoside] to no avail
% --SWM
\pagestyle{headings}
\usepackage{makeidx}
\usepackage{epsfig}
\makeatletter
\renewenvironment{theindex}%
{\chapter{\indexname}
\begin{small}
\parindent 0pt
\parskip 0pt plus .3 pt
\relax
\let\item\@idxitem}
{\end{small}\clearpage}
\makeatother
%\usepackage{times}
%% For PDF
%\renewcommand{\rmdefault}{phv}
%\renewcommand{\sfdefault}{phv}
%\renewcommand{\ttdefault}{pcr}
%\usepackage[ps2pdf,hyperindex,hypertex,
% pdftitle={CLIM II Specification},
% pdfauthor={various},
% colorlinks=true,linkcolor=blue,pagecolor=blue,
% pdfstartview=FitBV,pdfview=FitBV]{hyperref}
%% end PDF
\title{Common Lisp Interface Manager \\
CLIM II Specification}
\author{Scott McKay ({\tentt SWM@Symbolics.COM}) \\
William York ({\tentt York@Lucid.COM}) \\
{\tenit with contributions by} \\
{\tenrm John Aspinall ({\tentt JGA@Symbolics.COM})} \\
{\tenrm Dennis Doughty ({\tentt Doughty@ILeaf.COM})} \\
{\tenrm Charles Hornig ({\tentt Hornig@ODI.COM})} \\
{\tenrm Richard Lamson ({\tentt RLamson\%UMAB.BitNet@MITVMA.MIT.EDU})} \\
{\tenrm David Linden ({\tentt Linden@CRL.DEC.COM})} \\
{\tenrm David Moon ({\tentt Moon@Cambridge.Apple.COM})} \\
{\tenrm Ramana Rao ({\tentt rao@PARC.Xerox.COM})} \\
{\tenrm Chris Richardson ({\tentt cer@Franz.COM})}}
\date{\today}
\author{Scott McKay ({\tt SWM@Symbolics.COM}) \\
William York ({\tt York@Lucid.COM}) \\
{\it with contributions by} \\
{\rm John Aspinall ({\tt JGA@Symbolics.COM})} \\
{\rm Dennis Doughty ({\tt Doughty@ILeaf.COM})} \\
{\rm Charles Hornig ({\tt Hornig@ODI.COM})} \\
{\rm Richard Lamson ({\tt RLamson\%UMAB.BitNet@MITVMA.MIT.EDU})} \\
{\rm David Linden ({\tt Linden@CRL.DEC.COM})} \\
{\rm David Moon ({\tt Moon@Cambridge.Apple.COM})} \\
{\rm Ramana Rao ({\tt rao@PARC.Xerox.COM})} \\
{\rm Chris Richardson ({\tt cer@Franz.COM})}}
\date{Printed \today}
\markright{CLIM II Specification}
\makeindex
......@@ -106,4 +134,6 @@
\input{extensions.tex}
\input{changes.tex}
\part{Index}
\printindex
\end{document}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -216,7 +216,7 @@ Figure~\ref{design-classes} shows how the design and region classes relate to
each other.
\begin{figure}
\ifpsfig\centerline{\psfig{figure=design-classes.ps}}\else\vspace{4.0in}\fi
\centerline{\epsfig{file=design-classes.epsi}}
\caption{\label{design-classes} The class structure for all designs and regions.
Entries in bold correspond to real CLIM classes.}
\end{figure}
......
%!PS-Adobe-2.0 EPSF-1.2
%%Title: different-ellipses.ps
%%Creator: Ghostscript ps2epsi from different-ellipses.ps
%%CreationDate: Dec 15 15:47
%%For: ga
%%Pages: 1
%%DocumentFonts: Courier
%%BoundingBox: 87 626 381 709
%%BeginPreview: 295 82 1 82
% 00000000000000000000000000000000000000000000000000000000000000000008000000
% 0000000000000000000000000000000000000000000000000000000000000000001c000000
% 00000000000000000000000000000000000000000000000000000000000000000076000000
% 000000000000000000000000000000000000000000000003000000000000000000e3000000
% 00000000000000000000000000000000000000000000001f00000000000000000183000000
% 0000000000000000000000000000000000000000000000fa00000000000000000701800000
% 000000000000000000000000000000000000000000000fc600000000000000000e00c00000
% 000000000000000000000000000000000000000000007e0600000000000000001800600000
% 00000000000000000000000000000000000000000007e00400000000000000007000600000
% 0000000000000000000000000000000000000000003f000c0000000000000000e000300000
% 000000000000000000001fff800000000000000001f0000c00000000000000018000180000
% 0000000000000003fffffffb00000000000000003ffc0008000000000000000703ffcc0000
% 000000000001fffffff800030000000000000003ffff8018000000000000000e3ffffc0000
% 0000000007ffffffe3fe0006000000000000001ffe3fe0180000000000000019ffe3fe0000
% 0000000006000ff8e01f000c00000000000000ff8001f010000000000000007ff8001f0000
% 000000000c003f81c007800c00000000000007fc0000783000000000000000ff8000078000
% 000000000c00fe03c003c0180000000000003fec00003c3000000000000001fe000003c000
% 000000001803f007c001c030000000000001ff1c00001c2000000000000007f0000001c000
% 00000000300fc00f8000e03000000000001ffc1c00000e600000000000000fc000000fe000
% 00000000301f001f8000e0600000000000fdf03c00000e600000000000001f0000003ef000
% 00000000607c000780007060000000000fc7c07c000007c00000000000007c000001fc7000
% 00000000c1f0000f000070c0000000007e1f007c000007c0000000000001f0000001f87800
% 00000000c3e000180000718000000003e03e00fc00000780000000000003e0000000f87c00
% 000000018f800018000071800000000700f8003c0000078000000000000f80000001f07600
% 000000031f000030000033000000000c01f000200000038000000000001f00000007603600
% 000000033c000030000076000000000c03c000600000070000000000003c0000000e007300
% 00000006780000600000760000000008078000600000070000000000007e00000018007180
% 00000006f00000c000007c00000000180f000040000007000000000000f7000000700070c0
% 0000000fe00000c000007800000000183e0000c0000007000000000003e3c00000e00070c0
% 0000001f800001800000780000000030780000c000000600000000000783e0000180006060
% 0000001f000003000000f00000000030f000008000000e00000000000f01f000070000e030
% 0000003e000003000000f00000000021e0000180000ffe00000000001e01f8000e0000e018
% 0000007c000006000000e00000000063c0000180001ffc00000000007c00f000180000c018
% 0000007800000c000001c0000000006780000300001ffc0000000000f800f000700001c018
% 000000f000000c000001c0000000004f0000030000ff9c0000000001f0001800e00001c070
% 000001e00000180000038000000000ce000002000fce380000000007e0000c0180000380e0
% 000001c00000180000038000000000dc000006007e0838000000000fc0000c070000038180
% 000003800000300018070000000000b800000603e00070000000001b8000060e0000070700
% 00000780000060001fee0000000001f80000043f0000f000000000778000031800000e0e00
% 00000f0000006007fffe0000000001f000000df80000e000000000ef000001f000000e1800
% 00000e000000fffffffc0000000001e000000f800001e0000000018e000001e000001c7000
% 00001c00000000001f3c0000000003c0000000000003e0000000071c0000008000003ce000
% 00003c000000000000380000000003c0000000000003c00000000e3c000000000000398000
% 00003800000000000070000000000380000000000007c00000001838000000000000770000
% 000070000000000000e000000000070000000000000ec00000007070000000000000ee0000
% 000070000000000001e000000000070000000000001e80000000e070000000000001f80000
% 0000e0000000000003c0000000000e0000000000003d8000000180e0000000000003f00000
% 0000e000000000000780000000000e000000000000798000000700e0000000000007e00000
% 0001c000000000000f80000000001c000000000000f10000000e01c000000000000f800000
% 0003c000000000001f00000000001c000000000001e30000000c01c000000000001f000000
% 00038000000000003e000000000018000000000003c300000006018000000000003e000000
% 00078000000000007e00000000003800000000000782000000030380000000000078000000
% 0007800000000000fc00000000003800000000000f060000000303800000000000f0000000
% 000f000000000001f800000000003000000000001e060000000183000000000001e0000000
% 001b000000000003d800000000003000000000003c0c00000000c3000000000003c0000000
% 001f00000000000fb00000000000700000000000f80c000000006700000000000f80000000
% 003700000000001e300000000000700000000001e008000000006700000000001e00000000
% 006700000000007c600000000000700000000007c018000000003700000000007c00000000
% 00670000000000f8c00000000000f0000000000f8078000000001f0000000000f800000000
% 00c70000000001e0c00000000000f0000000001e03f0000000000f0000000001e000000000
% 01830000000007c1800000000000b0000000007c3f00000000000f0000000007c000000000
% 0183800000001f03000000000001b800000001f1f8000000000007800000001f0000000000
% 0303800000007e03000000000001b800000007ef80000000000003800000007e0000000000
% 030180000001f806000000000003180000001ffc0000000000000180000001f80000000000
% 0601c0000007e00c0000000000031c0000007fc000000000000001c0000007f00000000000
% 0c01e000001f800c0000000000021e000001fe0000000000000001e000001fe00000000000
% 0c00f00000fe00180000000000060f00000ff00000000000000000f00000ff800000000000
% 18003e000ff8001800000000000603e000ff8000000000000000003e000fff000000000000
% 30001ffffffffff000000000000401fffffc0000000000000000003fffffce000000000000
% 300007ffffff800000000000000c007fffe00000000000000000001ffffe18000000000000
% 7fffffffe000000000000000000c000ffe000000000000000000000cffe070000000000000
% fff80000000000000000000000080007e000000000000000000000060000e0000000000000
% 0000000000000000000000000018007e000000000000000000000006000180000000000000
% 000000000000000000000000001803f0000000000000000000000003000700000000000000
% 00000000000000000000000000101f00000000000000000000000001800e00000000000000
% 0000000000000000000000000031f800000000000000000000000000c01800000000000000
% 000000000000000000000000003f8000000000000000000000000000c07000000000000000
% 000000000000000000000000003c000000000000000000000000000060e000000000000000
% 00000000000000000000000000600000000000000000000000000000318000000000000000
% 000000000000000000000000000000000000000000000000000000001f0000000000000000
% 000000000000000000000000000000000000000000000000000000001e0000000000000000
% 00000000000000000000000000000000000000000000000000000000080000000000000000
%%EndImage
%%EndPreview
save
countdictstack
mark
newpath
/showpage {} def
%%EndProlog
%%Page 1 1
statusdict /waittimeout 60 3 mul put
/ConsString 1000 string def
/OneCharString 1 string def
/m /moveto load def
/x { currentpoint exch pop moveto} bind def
/y { currentpoint pop exch moveto} bind def
/s { ConsString 0 3 -1 roll getinterval currentfile exch readstring pop show} bind def
/cs { OneCharString dup 0 4 -1 roll put } bind def
/ns { cs show} bind def
/ns0 { currentpoint 3 -1 roll ns moveto} bind def
/f { ExtToInt exch get dup /UnusedFont ne { IntFonts exch get setfont } { pop } ifelse } def
/xdef {exch def} bind def
/xget {exch get} bind def
/r { gsave currentpoint
4 copy moveto exch 3 -1 roll lineto 4 2 roll lineto lineto closepath
fill grestore
}def
/l { currentpoint gsave newpath moveto lineto stroke grestore} def
/fic { gsave newpath 0 360 arc fill grestore} def
/lgp2-matrix matrix def
/lgp2-getmatrix { lgp2-matrix currentmatrix pop lgp2-setmatrix } bind def
/lgp2-setmatrix { lgp2-matrix setmatrix
0 lgp2-y-translation translate lgp2-rotation rotate
viewmatrix concat } bind def
/viewmatrix matrix def
/setviewoffset { 5 -1 4 { viewmatrix exch 3 -1 roll put } for
lgp2-setmatrix
} bind def
/NextPage {
showpage
pop
0 0 moveto
restore save
lgp2-getmatrix
} def
/partialinitgraphics { 1 setlinewidth 0 setlinecap 0 setlinejoin [] 0 setdash 0 setgray } bind def
/TempMatrix matrix def
/sm { lgp2-setmatrix
5 -1 0 { TempMatrix exch 3 -1 roll put } for
TempMatrix concat
} bind def
/sm1 {1 0 0 1 0 0 sm} bind def
/gs /gsave load def
/gr /grestore load def
/l2 /lineto load def
/ell { TempMatrix currentmatrix pop
7 -2 roll transform 7 -2 roll scale itransform 1 6 3 roll
{arcn} {arc} ifelse
TempMatrix setmatrix
} bind def
/uscale { dup idtransform pop } bind def
/usetlinewidth { uscale setlinewidth } def
/usetdash { exch dup 3 1 roll
dup length 1 sub -1 0 { exch dup 3 -1 roll 2 copy get uscale abs put } for
pop setdash
} bind def
/fmod { 2 copy div floor mul sub } bind def
/imgdict 17 dict def
/pat { imgdict begin gsave
[/scal /patseq ] {exch def} forall
/patheight patseq length def
/patwidth patseq 0 get length 8 mul def
/pswidth patwidth scal mul def
/psheight patheight scal mul def
pswidth psheight idtransform
0 0 transform psheight fmod neg exch pswidth fmod neg exch idtransform
3 -1 roll exch dup 0 gt {add} {exch pop} ifelse
3 1 roll dup 0 gt {add} {exch pop} ifelse exch 2 copy translate
3 -1 roll exch abs add 3 1 roll abs add exch dtransform
psheight div abs ceiling cvi patheight mul /height exch def
pswidth div abs ceiling cvi patwidth mul /width exch def
width 0 ne { height 0 ne {
/scanline -1 def /linebits 0 def
width height idtransform abs scale scal dup scale
width height true [width 0 0 height neg 0 height]
{ linebits 0 le { /linebits width def
/scanline scanline 1 add patheight mod def
/linepat patseq scanline get def
} if
/linebits linebits patwidth sub def linepat }
imagemask } if } if grestore end
} def
/patfill1 { initmatrix clippath
errordict begin
/nocurrentpoint dup dup load exch { pop 0 0 0 0 } def
pathbbox
6 -2 roll def end
4 2 roll 2 copy translate 4 -2 roll
3 -1 roll sub 3 1 roll exch sub exch
3 -1 roll { 2 copy gsave 1 setgray newpath
0 0 moveto 0 exch lineto 0 rlineto currentpoint pop 0 lineto
closepath fill grestore } if
4 -2 roll pat } def
/patfill { gsave clip patfill1 grestore newpath } def
/pateofill { gsave eoclip patfill1 grestore newpath } def
/patstroke { gsave strokepath clip patfill1 grestore newpath } def
imgdict begin
/imgcodes 1 string def
/nextimgcode { currentfile imgcodes readhexstring pop 0 get } bind def
/imgbuf 100 string def
end
/img { imgdict begin
[/imgproc /depth /nbytes /height /width ] {exch def} forall
nbytes 0 ne {
gsave width height scale
width height depth [width 0 0 height neg 0 height]
{ nbytes 100 ge {/nbytes nbytes 100 sub def imgbuf}
{imgbuf 0 nbytes getinterval /nbytes 0 def}
ifelse
currentfile exch readhexstring pop}
imgproc grestore
} if end
} def
/lgp2-rotation 0 def
/lgp2-y-translation 0 def
/ExtToInt [ 0] def
/IntFonts [
/Courier findfont 7.92 7.47 matrix scale makefont
] def
save lgp2-getmatrix
0 f
gs
newpath
0.8000001 0.6 -0.6 0.8000001 136.69292 667.036 sm
0 0 40 20 0 360 false ell
2 setlinewidth
stroke gr
gs
newpath
1 0 0 1 136.69292 667.036 sm
0 0 m
13.02 20.37 l2
stroke gr
gs
newpath
1 0 0 1 136.69292 667.036 sm
18.4 28.8 m
15.12 19.03 l2
10.91 21.72 l2
closepath
fill gr
gs
newpath
1 0 0 1 136.69292 667.036 sm
0 0 m
18.82 1.05 l2
stroke gr
gs
newpath
1 0 0 1 136.69292 667.036 sm
28.8 1.6 m
18.95 -1.45 l2
18.68 3.54 l2
closepath
fill gr
gs
newpath
1 0 0 1 136.69292 667.036 sm
47.2 30.4 m
-10.4 27.2 l2
-47.2 -30.4 l2
10.4 -27.2 l2
closepath
stroke gr
gs
newpath
0.8000001 0.6 -0.6 0.8000001 236.69292 667.036 sm
0 0 40 20 0 360 false ell
2 setlinewidth
stroke gr
gs
newpath
1 0 0 1 236.69292 667.036 sm
0 0 m
23.2 6.79 l2
stroke gr
gs
newpath
1 0 0 1 236.69292 667.036 sm
32.8 9.6 m
23.9 4.39 l2
22.5 9.19 l2
closepath
fill gr
gs
newpath
1 0 0 1 236.69292 667.036 sm
0 0 m
6.27 17.77 l2
stroke gr
gs
newpath
1 0 0 1 236.69292 667.036 sm
9.6 27.2 m
8.63 16.94 l2
3.91 18.6 l2
closepath
fill gr
gs
newpath
1 0 0 1 236.69292 667.036 sm
42.4 36.8 m
23.2 -17.6 l2
-42.4 -36.8 l2
-23.2 17.6 l2
closepath
stroke gr
gs
newpath
0.8000001 0.6 -0.6 0.8000001 336.6929 667.036 sm
0 0 40 20 0 360 false ell
2 setlinewidth
stroke gr
gs
newpath
1 0 0 1 336.6929 667.036 sm
0 0 m
24 18 l2
stroke gr
gs
newpath
1 0 0 1 336.6929 667.036 sm
32 24 m
25.5 16 l2
22.5 20 l2
closepath
fill gr
gs
newpath
1 0 0 1 336.6929 667.036 sm
0 0 m
-6 8 l2
stroke gr
gs
newpath
1 0 0 1 336.6929 667.036 sm
-12 16 m
-4 9.5 l2
-8 6.5 l2
closepath
fill gr
gs
newpath
1 0 0 1 336.6929 667.036 sm
20 40 m
44 8 l2
-20 -40 l2
-44 -8 l2
closepath
stroke gr
true NextPage
restore
%%Trailer
cleartomark
countdictstack exch sub { end } repeat
restore
%%EOF
......@@ -486,7 +486,7 @@ default is \cl{:miter}. Note that the joint shape is implemented by the host
window system, so not all platforms will necessarily fully support it.
\begin{figure}
\ifpsfig\centerline{\psfig{figure=line-joint-shapes.ps}}\else\vspace{1.25in}\fi
\centerline{\epsfig{file=line-joint-shapes.epsi}}
\caption{Line joint shapes.}
\end{figure}
......@@ -499,7 +499,7 @@ is \cl{:butt}. Note that the cap shape is implemented by the host window
system, so not all platforms will necessarily fully support it.
\begin{figure}
\ifpsfig\centerline{\psfig{figure=line-cap-shapes.ps}}\else\vspace{1.75in}\fi
\centerline{\epsfig{file=line-cap-shapes.epsi}}
\caption{Line cap shapes.}
\end{figure}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment