<<>> <> <> <> DIRECTORY Basics, RasterBasics; RasterOp: DEFINITIONS ~ BEGIN <> DstFunc: TYPE ~ RasterBasics.DstFunc; SrcFunc: TYPE ~ RasterBasics.SrcFunc; BitAddress: TYPE ~ RasterBasics.BitAddress; RawWords: TYPE ~ Basics.RawWords; BitsPerSample: TYPE ~ [0..BITS[WORD]]; Word: TYPE = WORD; WordPtr: TYPE = LONG POINTER TO Word; Offset: TYPE = CARD[0..BITS[Word]); <> Pack: PROC [dst: BitAddress, src: LONG POINTER TO RawWords, bitsPerSample: BitsPerSample, nSamples: CARDINAL]; <> <> <> <> <> Unpack: PROC [dst: LONG POINTER TO RawWords, src: BitAddress, bitsPerSample: BitsPerSample, nSamples: CARDINAL]; <> <> <> <> <> <> FillWords: PROC [dst: WordPtr, len: INT, fill: Word]; <> <> tileOp: ARRAY DstFunc OF ARRAY SrcFunc OF UNSAFE PROC [dst: BitAddress, src: LONG POINTER TO RawWords, dstBpl, src0, sSizeTile, sSize, fSize: CARDINAL]; <> <> <> <> <> <> <> <<>> <> forwardOp: ARRAY DstFunc OF ARRAY SrcFunc OF UNSAFE PROC [dst: BitAddress, src: BitAddress, dstBpl, srcBpl, sSize, fSize: CARDINAL]; <> <> <> <> <> <> <<>> backwardOp: ARRAY DstFunc OF ARRAY SrcFunc OF UNSAFE PROC [dst: BitAddress, src: BitAddress, dstBpl, srcBpl, sSize, fSize: CARDINAL]; <> <> OrBlt: PROC [ src: WordPtr, -- src address (word-aligned) dst: WordPtr, -- dst address (word-aligned) offset: Offset, -- bit offset in dst bpc: CARDINAL, -- bits per character upl: INT, -- addressing units per scan line in dst lines: INT]; -- # of scan lines <> AndCBlt: PROC [ src: WordPtr, -- src address (word-aligned) dst: WordPtr, -- dst address (word-aligned) offset: Offset, -- bit offset in dst bpc: CARDINAL, -- bits per character upl: INT, -- addressing units per scan line in dst lines: INT]; -- # of scan lines <> END.