% This is
%		pkblackfield.mf
%
% Copyright (C) 1989-92  by Elmar Bartel.
%
% This program 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 1, or (at your option)
% any later version.
%
% This program 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 this program; if not, write to the Free Software
% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%
def MakeBlackField =

	if unknown BlackField:

		pair ua[],ub[],la[],lb[],ul,lr,ma,mb;

		numeric n,part;

		n=7; part=6;
		pickup pencircle scaled (qs/(part*n));
		bot lft ma = (0,0); 
		top rt mb = (w,w);
		draw ma--mb;

		top lft ul = (0,h);
		bot rt lr = (w,0);

		numeric xdelta,ydelta;
		xdelta= floor((xpart(lr) - xpart(ma)) / n);
		ydelta= floor((ypart(ul) - ypart(ma)) / n);

		for i=1 upto n:
			lft ua[i] = (0,ypart(ma)+(i*ydelta));
			top ub[i] = (xpart(mb)-(i*xdelta),h);
			draw ua[i]..ub[i];
		endfor;

		for i=1 upto n:
			bot la[i] = (xpart(ma)+(i*xdelta),0);
			rt lb[i] = (w,ypart(mb)-(i*ydelta));
			draw la[i]..lb[i];
		endfor;

		picture BlackField;
		cullit;
		BlackField:= currentpicture;

	else:
		currentpicture:= BlackField;
	fi;

enddef;

beginchar(144,qs#,qs#,0);	"Empty black field";
	MakeBlackField;
endchar;
