Blame doc/rflashlight.eps

Packit 575503
%!
Packit 575503
%%Creator: arnold@skeeve (Aharon Robbins)
Packit 575503
%%Title: flashlight.small.xpic (xpic)
Packit 575503
%%CreationDate: Tue Oct 24 14:41:28 2000
Packit 575503
%%Pages: 1
Packit 575503
%%BoundingBox: 0 0 72 28.8
Packit 575503
%	(in inches) at 0 0, width 1, height 0.4
Packit 575503
%%EndComments
Packit 575503
% Prolog for xpic to PostScript converter
Packit 575503
% Author: Mark Moraes
Packit 575503
% $Header: x2ps.pro,v 1.2 88/03/19 16:50:09 moraes Exp 
Packit 575503
%	%d D - change style SOLID, DOTTED, SHORT-DASH, LONG-DASH, DOT-DASH
Packit 575503
%	%s F - change font to fontname
Packit 575503
%	%d S - change size (font size in points)
Packit 575503
%	(%s) rj %d t - text right just. (%d is TOPLINE, MIDLINE, BOTLINE)
Packit 575503
%	(%s) lj %d t - text left just. (%d is TOPLINE, MIDLINE, BOTLINE)
Packit 575503
%	(%s) ce %d t - text centered (%d is TOPLINE, MIDLINE, BOTLINE)
Packit 575503
%	%d %d l - lineto
Packit 575503
%	%d %d m - moveto
Packit 575503
%	%d %d s - spline segment
Packit 575503
%	x - flush line, spline
Packit 575503
%	<wid> <ht> <x> <y> b - box
Packit 575503
%	<wid> <ht> <x> <y> e - ellipse
Packit 575503
%	%d ss - setscale
Packit 575503
%	%d W - change linewidth
Packit 575503
%	getpagesize - gets the values of PAGEHEIGHT and PAGEWIDTH
Packit 575503
%	%d %d flip - translate by %d, PAGEHEIGHT - %d (this 
Packit 575503
%		transforms to X windows coordinates)
Packit 575503
save 50 dict begin /xpic exch def
Packit 575503
/StartXpic {newpath 0 0 moveto [] 0 setdash 0 setgray 1 setlinecap} def
Packit 575503
% Set defaults
Packit 575503
/fontname /Times-Roman def
Packit 575503
/ptsize 12 def
Packit 575503
% halign has the values for MIDLINE, TOPLINE, BOTLINE
Packit 575503
/halign 3 array def
Packit 575503
/s {rcurveto} def
Packit 575503
/x {stroke} def
Packit 575503
/l {lineto} def
Packit 575503
/m {moveto} def
Packit 575503
/b {
Packit 575503
	/ury exch def /urx exch def /lly exch def /llx exch def 
Packit 575503
	llx lly moveto urx lly lineto urx ury lineto 
Packit 575503
	llx ury lineto llx lly lineto stroke
Packit 575503
} def
Packit 575503
/mtrx matrix def
Packit 575503
/e {
Packit 575503
	/yc exch def /xc exch def /yrad exch def /xrad exch def
Packit 575503
	xc xrad add yc moveto
Packit 575503
	/savematrix mtrx currentmatrix def
Packit 575503
	xc yc translate
Packit 575503
	xrad yrad scale
Packit 575503
	0 0 1 0 360 arc
Packit 575503
	savematrix setmatrix stroke
Packit 575503
} def
Packit 575503
% The next three take the text string, and moveto the right horiz. position
Packit 575503
% leaving the string on the stack.
Packit 575503
/lj {} def
Packit 575503
/rj {dup stringwidth pop neg 0 rmoveto} def
Packit 575503
/ce {dup stringwidth pop 2 div neg 0 rmoveto} def
Packit 575503
% And this is invoked after one of the three above, and 
Packit 575503
% computes the vert. pos, and then displays the string.
Packit 575503
/t {halign exch get 0 exch rmoveto show newpath} def
Packit 575503
% Store an array of patterns in /styles - a pattern is an array consisting 
Packit 575503
% of an array and an offset. Corresp to xpic patterns
Packit 575503
% solid, dotted, short-dashed, long-dashed, dot-dashed
Packit 575503
/styles [ [] 0 ] [ [1 3] 0 ] [ [4 4] 0 ] [ [8 4] 0 ] [ [1 4 4 4] 0 ]
Packit 575503
	5 array astore def
Packit 575503
% change style to arg.
Packit 575503
/D {stroke styles exch get aload pop setdash newpath} def
Packit 575503
/W {stroke 0.5 mul setlinewidth newpath} def
Packit 575503
% fontbox takes a fontname off the stack, and returns an array
Packit 575503
% containing the values of the bottom line of the bounding box, the
Packit 575503
% mid line of the bounding box, and the top line of the bounding box
Packit 575503
% of that font, taken from the baseline, scaled to a font of size 1
Packit 575503
/fontbox {
Packit 575503
	findfont dup /FontMatrix get /fm exch def /FontBBox get aload pop
Packit 575503
	/ytop exch def pop /ybot exch def pop
Packit 575503
	/ymid ytop ybot sub 2 div def
Packit 575503
	0 ybot fm dtransform exch pop % botline
Packit 575503
	dup neg exch % midline - this works better than (ytop-ybot)/2!
Packit 575503
	0 ytop fm dtransform exch pop exch %topline
Packit 575503
	% now in the order midline, topline, botline.
Packit 575503
	3 array astore
Packit 575503
} def
Packit 575503
% select font
Packit 575503
/F {
Packit 575503
	dup /fontname exch def fontbox
Packit 575503
	/thisfontbox exch def SF 
Packit 575503
} def
Packit 575503
% set point size
Packit 575503
/S {/ptsize exch def SF} def
Packit 575503
% actually set font
Packit 575503
/SF {
Packit 575503
	fontname findfont ptsize curscale div scalefont setfont
Packit 575503
	thisfontbox aload pop
Packit 575503
	1 1 3 {
Packit 575503
		pop ptsize mul curscale div neg 3 1 roll
Packit 575503
	} for
Packit 575503
	halign astore pop
Packit 575503
} def
Packit 575503
% sets the scale to 72 / n, where n is on the stack, and stores the value
Packit 575503
% in curscale for font scaling
Packit 575503
/curscale 1 def
Packit 575503
/getpagesize{newpath clippath pathbbox /pageheight exch def 
Packit 575503
	/pagewidth exch def pop pop newpath} def
Packit 575503
/flip{pageheight exch sub translate} def
Packit 575503
/ss {/curscale exch 72 exch div dup dup scale def} def
Packit 575503
/land {90 rotate} def
Packit 575503
StartXpic
Packit 575503
%%EndProlog
Packit 575503
80 ss
Packit 575503
0.5 W
Packit 575503
0 D
Packit 575503
8 16 24 16 e
Packit 575503
24 32 m
Packit 575503
48 24 l
Packit 575503
x
Packit 575503
24 0 m
Packit 575503
48 8 l
Packit 575503
x
Packit 575503
48 24 m
Packit 575503
0 0 0 -5.33333 0 -16 s
Packit 575503
x
Packit 575503
48 24 80 8 b
Packit 575503
0 8 m
Packit 575503
0 8 l
Packit 575503
x
Packit 575503
0 0 m
Packit 575503
16 8 l
Packit 575503
x
Packit 575503
0 16 m
Packit 575503
16 16 l
Packit 575503
x
Packit 575503
16 24 m
Packit 575503
0 32 l
Packit 575503
x
Packit 575503
%%Trailer
Packit 575503
showpage
Packit 575503
% Trailer for xpic to PostScript converter
Packit 575503
% $Header: x2ps.tra,v 1.2 89/07/02 15:59:53 moraes Exp $
Packit 575503
xpic end restore