Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
pvfs2-osd/doc/design/figs/getconfiginit.eps
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
414 lines (337 sloc)
10.1 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%!PS-Adobe-2.0 EPSF-2.0 | |
%%Creator: Box::print() by Christian Lindig | |
%%BoundingBox: 42 35 552 82 | |
%%Pages: 1 | |
%%EndComments | |
gsave | |
27 104 translate | |
0.910714 -0.910714 scale | |
% $Id: getconfiginit.eps,v 1.1 2003-01-24 23:29:21 pcarns Exp $ | |
% Header for DDD PostScript Box output | |
% Copyright (C) 1995-1998 Technische Universitaet Braunschweig, Germany. | |
% Written by Christian Lindig <lindig@ips.cs.tu-bs.de>. | |
% | |
% This file is part of DDD. | |
% | |
% DDD is free software; you can redistribute it and/or | |
% modify it under the terms of the GNU General Public | |
% License as published by the Free Software Foundation; either | |
% version 2 of the License, or (at your option) any later version. | |
% | |
% DDD is distributed in the hope that it will be useful, | |
% but WITHOUT ANY WARRANTY; without even the implied warranty of | |
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
% See the GNU General Public License for more details. | |
% | |
% You should have received a copy of the GNU General Public | |
% License along with DDD -- see the file COPYING. | |
% If not, write to the Free Software Foundation, Inc., | |
% 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
% | |
% DDD is the data display debugger. | |
% For details, see the DDD World-Wide-Web page, | |
% `http://www.gnu.org/software/ddd/', | |
% or send a mail to the DDD developers <ddd@gnu.org>. | |
% Make all definitions local to the ddddict dictionary | |
/ddddict 25 dict def | |
ddddict begin % make dict active | |
% Global variables | |
/fontSize+ 12 def | |
/font+ /Courier def | |
% Some small utilities | |
/cm { 28.34646 mul } bind def | |
% ISOLATIN1* - reencode a font to ISO Latin 1 encoding | |
% | |
% newfont table oldfont isolatin1* | |
/isolatin1* { | |
findfont | |
dup maxlength dict begin | |
{ | |
1 index /FID ne { def } { pop pop } ifelse | |
} forall | |
/Encoding exch def | |
dup /FontName exch def | |
currentdict end definefont pop | |
} bind def | |
% Define the ISO Latin 1 encoding of a font | |
/isotable[ | |
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef | |
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef | |
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef | |
/.notdef/.notdef/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign | |
/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma | |
/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon | |
/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S | |
/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore | |
/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar | |
/braceright/asciitilde/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef | |
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef | |
/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve/dotaccent/dieresis | |
/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron/.notdef/exclamdown/cent | |
/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine | |
/guilsinglleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior | |
/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior | |
/ordmasculine/guilsinglright/onequarter/onehalf/threequarters/questiondown | |
/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute | |
/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve | |
/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex | |
/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis | |
/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute | |
/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis | |
/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis | |
] def | |
% YCORRECT* | |
% The reference point of a string ist NOT its lower left corner but | |
% its baseline. Therefore, the y coordinate must be corrected. | |
% Returns the correction for the current font. | |
% | |
% ycorrect* y | |
/ycorrect* { | |
currentfont /FontBBox get | |
aload pop pop pop | |
currentfont /FontMatrix get dtransform | |
exch pop | |
} def | |
% TEXT* | |
% print out a string and make sure not to require more space than | |
% specified. | |
% font xsize ysize xorigin yorigin (string) text* | |
/text* { | |
/string+ exch def % set up some variables .. | |
moveto % move to (xorigin,yorigin) | |
/ysize+ exch def | |
/xsize+ exch def | |
/thefont+ exch def | |
% is the right font already selected ? | |
thefont+ font+ ne | |
ysize+ fontSize+ ne | |
or { | |
% set up the right font - reencode it | |
/Symbol thefont+ eq | |
{ | |
thefont+ findfont | |
}{ | |
/isofont+ isotable thefont+ isolatin1* | |
/isofont+ findfont | |
}ifelse | |
[ysize+ 0 0 ysize+ neg 0 0] makefont | |
setfont | |
/font+ thefont+ def | |
/fontSize+ ysize+ def | |
} if | |
% correct current point | |
0 ycorrect* neg rmoveto | |
% string too long? Scale it down ... | |
% The actual font is scaled. There is a good chance, | |
% that this will not happen too often when the font is not | |
% changed during the calls of text* | |
xsize+ string+ stringwidth pop div dup dup | |
1 lt { | |
0 0 1 0 0 6 array astore currentfont exch | |
makefont setfont | |
pop | |
}{ | |
% string is too short ... scale it up | |
1.05 gt { | |
0 0 1 0 0 6 array astore currentfont exch | |
makefont setfont | |
}{ | |
pop | |
} ifelse | |
} ifelse | |
string+ show | |
} bind def | |
% ARROWLINE* | |
% Draw a line of given width with an arrow at its end | |
% len gives the height of the triangle forming the head of the arrow | |
% and angle the angle at its top | |
% | |
% angle len x1 y1 x2 y2 linewidth arrowline* | |
/arrowline* { | |
setlinewidth % angle len x1 y1 x2 y2 | |
/y2 exch def | |
/x2 exch def | |
/y1 exch def | |
/x1 exch def | |
/len+ exch def % height of triangle | |
/alpha+ | |
y2 y1 sub % define alpha+ | |
x2 x1 sub | |
atan | |
def | |
/base+ % define half of baseline | |
exch | |
2 div dup % angle angle | |
sin exch cos % sin(angle) cos(angle) | |
div % tan(angle) | |
len+ | |
mul % half of baseline | |
def | |
newpath % draw the line | |
x1 y1 moveto | |
x2 len+ alpha+ cos mul sub % shorten the line to the end | |
y2 len+ alpha+ sin mul sub % of the triangle | |
lineto | |
stroke | |
gsave % set the origin to the head of | |
0 setlinewidth % the arrow and rotate the system | |
x2 y2 | |
translate % origin now at x2 y2 | |
alpha+ 90 sub rotate % rotate the system | |
newpath % draw a triangle | |
0 0 moveto | |
base+ len+ neg rlineto | |
base+ 2 mul neg 0 rlineto | |
closepath | |
fill | |
grestore | |
} bind def | |
% ARROWHEAD* | |
% draw an arrow head inclined by alpha at (x,y) | |
% | |
% angle len alpha x y | |
/arrowhead* { | |
/y exch def | |
/x exch def | |
/alpha+ exch def | |
/len+ exch def % height of triangle | |
/base+ % define half of baseline | |
exch | |
2 div dup % angle angle | |
sin exch cos % sin(angle) cos(angle) | |
div % tan(angle) | |
len+ | |
mul % half of baseline | |
def | |
gsave % set the origin to the head of | |
0 setlinewidth % the arrow and rotate the system | |
x y | |
translate % origin now at x y | |
alpha+ 90 sub rotate % rotate the system | |
newpath % draw a triangle | |
0 0 moveto | |
base+ len+ neg rlineto | |
base+ 2 mul neg 0 rlineto | |
closepath | |
fill | |
grestore | |
} bind def | |
% LINE* | |
% draw a line of given width from (x1,y1) to (x2,y2) | |
% | |
% x1 y1 x2 y2 width line* | |
/line* { | |
setlinewidth % x1 y1 x2 y2 | |
newpath | |
4 2 roll % x2 y2 x1 y1 | |
moveto % x2 y2 | |
lineto | |
stroke | |
} bind def | |
% CLEAN* | |
% | |
% fill a box given by four points with white colour .. | |
% x1 y1 x2 y2 x3 y3 x4 y4 clean* | |
/clean* { | |
gsave | |
1 setgray | |
0 setlinewidth | |
newpath | |
moveto lineto lineto lineto | |
closepath | |
fill | |
grestore | |
} bind def | |
% BOX* | |
% fill a box given by four points | |
% | |
% x1 y1 x2 y2 x3 y3 x4 y4 box* | |
/box* { | |
0 setlinewidth | |
newpath | |
moveto lineto lineto lineto | |
closepath | |
fill | |
} bind def | |
% ARC* | |
% draw an ellipse with center (cx,cy), radius dx dy, starting at start | |
% and ending at end. | |
% | |
% start end dx dy cx cy width arc* | |
/arc* { | |
gsave | |
setlinewidth | |
translate | |
newpath | |
dup 3 1 roll % start end dy dx dy | |
div 1 scale % dy dx/dy 1 scale => start end dy | |
0 exch 0 exch % start end 0 0 dy | |
5 -2 roll % 0 0 dy start end | |
dup | |
0 eq { % replace 0 by 360 | |
pop | |
360 | |
} if | |
arc | |
stroke | |
grestore | |
} bind def | |
% BEGINCOLOR* / ENDCOLOR* | |
% Draw something using a specific foreground color | |
% | |
% red green blue begincolor* SOMETHING endcolor* | |
/begincolor* { | |
currentrgbcolor % red green blue red' green' blue' | |
6 3 roll % red' green' blue' red green blue | |
setrgbcolor % red' green' blue' | |
} bind def | |
/endcolor* { | |
setrgbcolor | |
} bind def | |
% Set up the right font to the right size | |
/isofont+ isotable font+ isolatin1* % reencode font+ | |
% and make it the current font | |
/isofont+ findfont | |
[fontSize+ 0 0 fontSize+ neg 0 0] makefont | |
setfont | |
%%EndProlog | |
30 10 282 50 299 50 1 arrowline* | |
/Helvetica-Narrow 9 11 286 48 (*\(\)) text* | |
16 32 282 32 282 68 16 68 clean* | |
16 32 281 32 281 33 16 33 box* %(16, 32)(265, 1) | |
16 33 17 33 17 66 16 66 box* %(16, 33)(1, 33) | |
/Courier 7 13 19 48 (1) text* | |
/Courier 14 13 26 48 (: ) text* | |
/Courier-BoldOblique 112 13 40 48 (get_config_array) text* | |
19 48 278 48 278 49 19 49 box* %(19, 48)(259, 1) | |
/Courier-BoldOblique 259 13 19 64 (\(PINT_state_array_values *\) 0x8050d20) text* | |
280 33 281 33 281 66 280 66 box* %(280, 33)(1, 33) | |
16 66 281 66 281 67 16 67 box* %(16, 66)(265, 1) | |
281 33 282 33 282 67 281 67 box* %(281, 33)(1, 34) | |
17 67 282 67 282 68 17 68 box* %(17, 67)(265, 1) | |
299 24 576 24 576 76 299 76 clean* | |
299 24 575 24 575 25 299 25 box* %(299, 24)(276, 1) | |
299 25 300 25 300 74 299 74 box* %(299, 25)(1, 49) | |
302 27 572 27 572 28 302 28 box* %(302, 27)(270, 1) | |
302 28 303 28 303 71 302 71 box* %(302, 28)(1, 43) | |
/Courier 42 13 317 43 (retVal) text* | |
/Courier 21 13 366 43 ( = ) text* | |
/Courier 63 13 387 43 (134521268) text* | |
/Courier 49 13 317 56 (handler) text* | |
/Courier 21 13 366 56 ( = ) text* | |
/Courier 182 13 387 56 (0x804a1b4 <getconfig_init>) text* | |
/Courier 35 13 317 69 (index) text* | |
/Courier 21 13 366 69 ( = ) text* | |
/Courier 63 13 387 69 (0x804a1b4) text* | |
571 28 572 28 572 71 571 71 box* %(571, 28)(1, 43) | |
302 71 572 71 572 72 302 72 box* %(302, 71)(270, 1) | |
574 25 575 25 575 74 574 74 box* %(574, 25)(1, 49) | |
299 74 575 74 575 75 299 75 box* %(299, 74)(276, 1) | |
575 25 576 25 576 75 575 75 box* %(575, 25)(1, 50) | |
300 75 576 75 576 76 300 76 box* %(300, 75)(276, 1) | |
%%Trailer | |
% $Id: getconfiginit.eps,v 1.1 2003-01-24 23:29:21 pcarns Exp $ | |
% Trailer for DDD PostScript Box output | |
grestore | |
showpage | |
end % of ddddict |