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