An image storage and processing method constructs, clips, fills, and
combines arbitrary 2-dimensional shapes in an advanced graphics system.
The method supports processing of anti-aliased images by compressing the
image into a novel AlphaRegion data structure. AlphaRegion encodes into
the data structure both the partially transparent as well as the fully
opaque alpha values of an image according to rectangular bands. A band is
a contiguous series of scan lines that have the same pattern of alpha
values in a single direction. AlphaRegion encoding results in a more
compact representation than possible in a conventional bitmap, but
without losing the anti-aliasing features. AlphaRegion can be constructed
either by supersampling sub-scan lines of an image, from the scan lines
of a gray-scale image, from an existing conventional 1-bit Region or
alpha mask buffer, or directly from a scan-line conversion of a geometric
shape. AlphaRegion stores image data into three arrays, yInfo, xInfo and
alphaData. Methods provided with AlphaRegion include rendering methods
for filling or clipping the area on the drawing surface and methods for
combining two AlphaRegions using boolean combination operators OR, AND,
XOR, SUBTRACT, or SUBTRACT_FROM.