xref: /inferno-os/appl/lib/print/scaler.m (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1*37da2899SCharles.ForsythScaler: module
2*37da2899SCharles.Forsyth{
3*37da2899SCharles.Forsyth	PATH: con "/dis/lib/print/scaler.dis";
4*37da2899SCharles.Forsyth
5*37da2899SCharles.Forsyth	init: fn(debug: int, WidthInPixels, ScaleFactorMultiplier, ScaleFactorDivisor: int): ref RESSYNSTRUCT;
6*37da2899SCharles.Forsyth	rasterin: fn(rs: ref RESSYNSTRUCT, inraster: array of int);
7*37da2899SCharles.Forsyth	rasterout: fn(rs: ref RESSYNSTRUCT ): array of int;
8*37da2899SCharles.Forsyth
9*37da2899SCharles.Forsyth	RESSYNSTRUCT: adt {
10*37da2899SCharles.Forsyth		Width: int;
11*37da2899SCharles.Forsyth		ScaleFactorMultiplier: int;
12*37da2899SCharles.Forsyth		ScaleFactorDivisor: int;
13*37da2899SCharles.Forsyth		ScaleFactor: real;
14*37da2899SCharles.Forsyth		iOutputWidth: int;
15*37da2899SCharles.Forsyth		scaling: int;
16*37da2899SCharles.Forsyth		ReplicateOnly: int;
17*37da2899SCharles.Forsyth		Repeat: int;
18*37da2899SCharles.Forsyth		RastersinBuffer: int;
19*37da2899SCharles.Forsyth		Remainder: int;
20*37da2899SCharles.Forsyth		Buffer: array of array of int;
21*37da2899SCharles.Forsyth		oBuffer: array of array of int;
22*37da2899SCharles.Forsyth		nready: int;
23*37da2899SCharles.Forsyth		ndelivered: int;
24*37da2899SCharles.Forsyth	};
25*37da2899SCharles.Forsyth
26*37da2899SCharles.Forsyth
27*37da2899SCharles.Forsyth};
28*37da2899SCharles.Forsyth
29*37da2899SCharles.Forsyth
30*37da2899SCharles.ForsythNUMBER_RASTERS: con 3;	# no of rasters to buffer
31