RasterOpDoc.tioga
Copyright Ó 1989, 1990 by Xerox Corporation. All rights reserved.
Michael Plass, October 12, 1990 1:50 pm PDT
RasterOp
PCEDAR 2.0 - FOR INTERNAL XEROX USE ONLY
RasterOp
Michael Plass
Ó Copyright 1989, 1990 Xerox Corporation. All rights reserved.
Abstract: A replacement for BITBLT functionality, written in portable Cedar.
Created by: Michael Plass, Russ Atkinson
Maintained by: Michael Plass <Plass.pa, Plass:PARC:Xerox>
Keywords: RasterOp, BITBLT, Pack, Unpack
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304

For Internal Xerox Use Only
News
October 12, 1990 (mfp)
Two bug fixes: the RasterOp.forwardOp procs (RasterOpForwardImpl.meta & .mesa) now do the right thing (i.e. nothing) when fSize=0, and RasterOp.Unpack (RasterOpGreenbayImpl) has a bug fix for the case that bitsPerSample=1 (it was failing to fetch the last word).
Interfaces
NOTE: for a slightly higher level abstraction, please refer to ImagerSample.mesa in the Imager component.
RasterOp
Provides operations for :
moving rectangular regions of bits from one area to the other, with the usual assortment of logical functions {null, and, or, xor}´{null, complement}
specialized versions oriented toward character bitmaps
tiling rectangular regions with a 32´n pattern, with the same set of logical functions
NB: The backwards cases advertised in the interface are not currently implemented.
UnsafeTile
Provides operations for filling rectangular regions with bricks.
Building this component
Some of the source modules in this package are created using a program called MetaCedar, so DO NOT EDIT THE FOLLOWING FILES:
RasterOpForwardImpl.mesa
RasterOpBackwardImpl.mesa
RasterOpTileImpl.mesa
Instead, modify the corresponding .meta file, and use MetaCedar to create the .mesa file.
Also, these modules ought to be compiled with bounds checking off and optimization on.