%
% Version 3.3 prologue for plan9 bitmap files.
%

/#copies 1 store
/aspectratio 1 def
/formsperpage 1 def
/landscape false def
/magnification 1 def
/margin 0 def
/orientation 0 def
/rotation 1 def
/screenres 100 def
/xoffset 0 def
/yoffset 0 def

/useclippath true def
/pagebbox [0 0 612 792] def

/inch {72 mul} bind def
/min {2 copy gt {exch} if pop} bind def

/setup {
	counttomark 2 idiv {def} repeat pop

	landscape {/orientation 90 orientation add def} if

	pagedimensions
	xcenter ycenter translate
	orientation rotation mul rotate
	xoffset inch yoffset inch translate
	magnification dup aspectratio mul scale

	/height height margin sub def
	/width width margin sub def
} def

/pagedimensions {
	useclippath {
		/pagebbox [clippath pathbbox newpath] def
	} if
	pagebbox aload pop
	4 -1 roll exch 4 1 roll 4 copy
	landscape {4 2 roll} if
	sub /width exch def
	sub /height exch def
	add 2 div /xcenter exch def
	add 2 div /ycenter exch def
	userdict /gotpagebbox true put
} def

/pagesetup {/page exch def} bind def

/bitmap {
	/scanlines exch def
	/scanlength exch def
	/bitspersample exch def
%%	/v8format exch def

	/bytelength scanlength bitspersample mult 7 add 8 idiv def
	/picstr bytelength string def
	/lpicstr bytelength string def
%%	/bytelength bytelength 1 sub def

	gsave

% First the overall scaling.

	height scanlines div width scanlength div min
	72 screenres div min
	dup scale

% Followed by the one for the unit square.

	scanlength neg 2 div scanlines neg 2 div translate
	scanlength scanlines scale
	getp9bitmap
	grestore
} bind def

/getp9bitmap {
	scanlength scanlines bitspersample [scanlength 0 0 scanlines neg 0 scanlines] {
			currentfile picstr readhexstring pop} image
} bind def

/done {/lastpage where {pop lastpage} if} def
