153
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
1 |
%% xypdf-f.tex from $Id: xypdf-f.doc,v $
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
2 |
%%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
3 |
%% Xy-pic ``Frame extension'' PDF backend support.
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
4 |
%% Copyright (c) 1999-1999 Ross Moore <ross@mpce.mq.edu.au>
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
5 |
%%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
6 |
%% This file is part of the Xy-pic package for graphs and diagrams in TeX.
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
7 |
%% See the companion README and INSTALL files for further information.
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
8 |
%% Copyright (c) 1991-1999 Kristoffer H. Rose <krisrose@brics.dk>
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
9 |
%%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
10 |
%% The Xy-pic package is free software; you can redistribute it and/or modify
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
11 |
%% it under the terms of the GNU General Public License as published by the
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
12 |
%% Free Software Foundation; either version 2 of the License, or (at your
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
13 |
%% option) any later version.
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
14 |
%%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
15 |
%% The Xy-pic package is distributed in the hope that it will be useful, but
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
16 |
%% WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
17 |
%% or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
18 |
%% for more details.
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
19 |
%%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
20 |
%% You should have received a copy of the GNU General Public License along
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
21 |
%% with this package; if not, write to the Free Software Foundation, Inc.,
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
22 |
%% 675 Mass Ave, Cambridge, MA 02139, USA.
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
23 |
%%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
24 |
%% As a special exception, you may use this file and all files derived
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
25 |
%% from it without restrictions. This special exception was added with
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
26 |
%% version 3.7 of Xy-pic.
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
27 |
%%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
28 |
\expandafter\ifx\csname xypdf-floaded\endcsname\empty
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
29 |
\message{not reloaded}\endinput \fi
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
30 |
\expandafter\let\csname xypdf-floaded\endcsname=\empty \xycatcodes
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
31 |
\xydef@\installPDFframes@{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
32 |
\let\framed@body@@=\xyPDFframed@body@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
33 |
\let\circled@x@@=\xyPDFcircled@x@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
34 |
\let\ellipsed@x@@=\xyPDFellipsed@x@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
35 |
\installPDFfills@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
36 |
\xyuncatcodes}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
37 |
\xydef@\UsePDFframes{\installPDFframes@}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
38 |
\xydef@\NoPDFframes{\UnloadFrames@}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
39 |
\xydef@\xyPDFframed@body@{\DN@{\framed@body@}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
40 |
\ifx\framehfill\frm@solidh@@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
41 |
\DN@{\xyPDFframed@oval@\xyPDFoval@Special}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
42 |
\else\ifdim\R@=\z@\else
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
43 |
\ifx\framehfill\frm@dashh@@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
44 |
\DN@{\xyPDFframed@oval@\xyPDFdashoval@Special}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
45 |
\else\ifx\framehfill\frm@doth@@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
46 |
\DN@{\xyPDFframed@oval@\xyPDFdotoval@Special}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
47 |
\fi\fi
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
48 |
\fi\fi \next@ }
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
49 |
\xydef@\xyPDFframed@oval@#1{\vglue\U@c
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
50 |
\hbox{\hglue\L@c\xypdfoval@#1\hglue\R@c}\vglue\D@c}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
51 |
\xydef@\xyPDFcircled@x@{\DN@{\xyPDFcircled@x@@\xyPDFcirc@Special}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
52 |
\ifx\framehfill\frm@doth@@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
53 |
\DN@{\xyPDFcircled@x@@\xyPDFdotcirc@Special}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
54 |
\else\ifx\framehfill\frm@dashh@@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
55 |
\DN@{\xyPDFcircled@x@@\xyPDFdashcirc@Special}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
56 |
\fi\fi \next@ }
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
57 |
\xydef@\xyPDFcircled@x@@#1{\vglue2\R@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
58 |
\hbox{\hglue2\R@\xypdfcircle@#1\hglue2\R@}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
59 |
\vglue2\R@}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
60 |
\xydef@\xyPDFellipsed@x@#1#2{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
61 |
\DN@{\xyPDFellipsed@x@@\xyPDFcirc@Special}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
62 |
\ifx\framehfill\frm@doth@@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
63 |
\DN@{\xyPDFellipsed@x@@\xyPDFdotcirc@Special}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
64 |
\else\ifx\framehfill\frm@dashh@@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
65 |
\DN@{\xyPDFellipsed@x@@\xyPDFdashcirc@Special}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
66 |
\fi\fi \next@{#1}{#2}}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
67 |
\xydef@\xyPDFellipsed@x@@#1#2#3{\vglue #3\vglue #3\relax
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
68 |
\hbox{\L@c = #2\relax \R@c=\L@c \D@c = #3\relax \U@c=\D@c
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
69 |
\hglue#2\hglue#2\relax\xypdfellipse@#1\hglue#2\hglue#2\relax}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
70 |
\vglue #3\vglue #3\relax}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
71 |
\xydef@\xyPDFdashhfill@{{\SemiDirectionChar=95 \Direction=3072 \xyPDFdash@}}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
72 |
\xydef@\xyPDFdashvfill@{{\SemiDirection=31 \Direction=1023 \xyPDFdash@}}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
73 |
\xydef@\xypdfoval@#1{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
74 |
\dimen@=\L@c \advance\dimen@\R@c
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
75 |
\dimen@ii=\U@c \advance\dimen@ii\D@c
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
76 |
\ifdim\dimen@ii<\dimen@ \relax \dimen@=\dimen@ii\fi \divide\dimen@\tw@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
77 |
\ifdim\R@>\dimen@ \relax \R@=\dimen@ \fi
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
78 |
\D@c=-\D@c \L@c=-\L@c
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
79 |
\edef\tmp@{\expandafter\removePT@\the\R@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
80 |
\space\expandafter\removePT@\the\R@c
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
81 |
\space\expandafter\removePT@\the\D@c
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
82 |
\space\expandafter\removePT@\the\L@c
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
83 |
\space\expandafter\removePT@\the\U@c }%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
84 |
\expandafter#1\expandafter{\tmp@}}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
85 |
\xydef@\xypdfcircle@#1{\dimen@=\R@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
86 |
\edef\tmp@{\expandafter\removePT@\the\dimen@}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
87 |
\expandafter#1\expandafter{\tmp@}}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
88 |
\xydef@\xypdfellipse@#1{\edef\tmp@{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
89 |
\expandafter\removePT@\the\U@c \space
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
90 |
\expandafter\removePT@\the\D@c \space
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
91 |
\expandafter\removePT@\the\L@c \space
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
92 |
\expandafter\removePT@\the\R@c }%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
93 |
\expandafter#1\expandafter{\tmp@}}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
94 |
\xydef@\xyPDFoval@Special#1{\PDFmacro@{#1 ov}}%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
95 |
\xydef@\xyPDFcirc@Special#1{\PDFmacro@{#1 ox}}%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
96 |
\xydef@\xyPDFdotcirc@Special#1{\PDFmacro@{#1 ot}}%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
97 |
\xydef@\xyPDFdashcirc@Special#1{\PDFmacro@{#1 od}}%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
98 |
\xydef@\xyPDFdotoval@Special#1{\PDFmacro@{#1 vt}}%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
99 |
\xydef@\xyPDFdashoval@Special#1{\PDFmacro@{#1 vd}}%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
100 |
\xydef@\xyPDFfilledRegion#1#2{\setboxz@h{\lower\D@c\vbox{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
101 |
\vglue\U@c\hbox{#1#2\empty\hglue\L@c\hglue\R@c}\vglue\D@c}}%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
102 |
\ht\z@=\z@ \dp\z@=\z@ \wd\z@=\z@ \boxz@}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
103 |
\xydef@\filledRectangle@PDF{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
104 |
\xyPDFfilledRegion{\xypdfoval@\xyPDFfilloval@Special}}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
105 |
\xydef@\filledCircle@PDF#1{{\R@c=\R@ \L@c=\R@ \U@c=\R@ \D@c=\R@
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
106 |
\xyPDFfilledRegion{\xypdfcircle@\xyPDFfillcirc@Special}#1}}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
107 |
\xydef@\filledEllipse@PDF{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
108 |
\xyPDFfilledRegion{\xypdfellipse@\xyPDFfillellipse@Special}}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
109 |
\xydef@\filledOval@PDF{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
110 |
\xyPDFfilledRegion{\xypdfoval@\xyPDFfilloval@Special}}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
111 |
\xydef@\frame@emph@PDF#1{\filled@{#1}\relax}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
112 |
\xydef@\installPDFfills@{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
113 |
\let\frame@emph@@=\frame@emph@PDF
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
114 |
\let\filledRectangle@@=\filledRectangle@PDF
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
115 |
\let\filledOval@@=\filledOval@PDF
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
116 |
\let\filledCircle@@=\filledCircle@PDF
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
117 |
\let\filledEllipse@@=\filledEllipse@PDF
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
118 |
}
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
119 |
\xydef@\xyPDFfilloval@Special#1#2{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
120 |
\ifx#2\relax\PDFmacro@{#1 sfo}%%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
121 |
\else\PDFmacro@{#1 fo}\fi}%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
122 |
\xydef@\xyPDFfillcirc@Special#1#2{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
123 |
\ifx#2\relax\PDFmacro@{#1 sfc}%%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
124 |
\else\PDFmacro@{#1 fc}\fi}%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
125 |
\xydef@\xyPDFfillellipse@Special#1#2{%
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
126 |
\ifx#2\relax\PDFmacro@{#1 sfe}%%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
127 |
\else\PDFmacro@{#1 fe}\fi}%%%%<<<---- here
|
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff
changeset
|
128 |
\endinput
|