Alpha blends the current foreground colour into a rectangular portion
of a RastPort. The source alpha channel to use for each pixel is taken
from an array of 8-bit alpha values. This alpha template may be any
rectangle within a larger array/rectangle of alpha values.

src - pointer to an array of source alpha values.
srcx - byte/pixel offset of top-lefthand corner of alpha template.
srcmod - the number of bytes in each row of the source array.
rp - the RastPort to write to.
destx, desty - top-lefthand corner of portion of destination RastPort
to write to (in pixels).
width, height - size of the area to copy (in pixels).

Controls video output. It currently only allows adjustment of
power-saving modes, using the following tag:
SETVC_DPMSLevel (IPTR) - one of the following DPMS levels:
DPMS_ON - normal operation.
DPMS_STANDBY - less than 80% power usage.
DPMS_SUSPEND - less than 30W power usage.
DPMS_OFF - less than 8W power usage.

hook - a callback hook. The standard hook inputs will be set as
follows:
object (struct RastPort *) - this function's 'rp' input.
message (struct CDrawMsg *) - details of the area on which to
operate.
rp - the RastPort to perform operations on.
tags - not used. Must be NULL.

Create a single-plane bitmap that describes the coordinates where a
particular colour is present in a portion of a RastPort (i.e. a mask).
A one is stored in the bitmap where the requested colour is present,
and a zero where it is absent.
For true-colour RastPorts, the colour is specified in 32-bit ARGB
format: 1 byte per component, in the order alpha, red, green, blue
(the alpha byte is ignored for RastPorts without an alpha channel).
For paletted RastPorts, a pen number is given instead.

RastPort - the RastPort to analyse.
SingleMap - a planar bitmap to fill (its pixel dimensions must be at
least as big as the rectangle being analysed).
Colour - the colour to extract.
sX, sY - top-lefthand corner of portion of RastPort to analyse
(in pixels).
Width, Height - size of the area to analyse (in pixels).

attribute - one of the following display attributes:
CYBERIDATTR_PIXFMT - the display's pixel format. See
LockBitMapTagList() for possible values.
CYBERIDATTR_WIDTH - the display's width (in pixels).
CYBERIDATTR_HEIGHT - the display's height (in pixels).
CYBERIDATTR_DEPTH - the number of bits per pixel.
CYBERIDATTR_BPPIX - the number of bytes per pixel.
DisplayModeID - an RTG screenmode ID.

Provides information about an RTG bitmap. If you are unsure whether
the bitmap is an RTG one, you must retrieve and check
CYBRMATTR_ISCYBERGFX first, as all other attributes are only allowed
to be retrieved for RTG bitmaps.

bitMap - an RTG bitmap.
attribute - one of the following bitmap attributes:
CYBRMATTR_PIXFMT - the bitmap's pixel format. See
LockBitMapTagList() for possible values.
CYBRMATTR_WIDTH - the bitmap's width (in pixels).
CYBRMATTR_HEIGHT - the bitmap's height (in pixels).
CYBRMATTR_DEPTH - the number of bits per pixel.
CYBRMATTR_BPPIX - the number of bytes per pixel.
CYBRMATTR_XMOD - the number of bytes per row.
CYBRMATTR_ISCYBERGFX - TRUE only if the bitmap is an RTG one.
CYBRMATTR_ISLINEARMEM - TRUE only if the bitmap's display buffer
is linear.
CYBRMATTR_COLORMAP - the bitmap's color map.

Obtains exclusive access to a bitmap in preparation for direct access
to its pixel data. Direct access to a bitmap should only be done in
exceptional cases, and the locking period should be limited to at most
one frame.
A taglist is passed in that contains pointers to variables in which to
store the information necessary to directly access the bitmap. The
tags used are as follows:
LBMI_WIDTH (ULONG *) - the bitmap's width.
LBMI_HEIGHT (ULONG *) - the bitmap's height.
LBMI_DEPTH (ULONG *) - the bitmap's depth.
LBMI_PIXFMT (ULONG *) - the bitmap's pixel format.
LBMI_BYTESPERPIX (ULONG *) - the number of bytes per pixel.
LBMI_BYTESPERROW (ULONG *) - the number of bytes per row.
LBMI_BASEADDRESS (APTR *) - the start address of the pixel data.
The value returned for LBMI_PIXFMT will be one of the following
constants:
PIXFMT_RGB24 - 3 bytes per pixel: 1 byte per component, in
the order red, green, blue.
PIXFMT_RGBA32 - 4 bytes per pixel: 1 byte per component, in
the order red, green, blue, alpha.
PIXFMT_ARGB32 - 4 bytes per pixel: 1 byte per component, in
the order alpha, red, green, blue.
PIXFMT_LUT8 - 1 byte per pixel: each byte is a pen number
rather than a direct colour value.
PIXFMT_RGB15 - 2 bytes per pixel: one unused bit, then 5 bits
per component, in the order red, green, blue.
PIXFMT_BGR15 - 2 bytes per pixel: 1 unused bit, then 5 bits
per component, in the order blue, green, red.
PIXFMT_RGB15PC - 2 bytes per pixel, accessed as a little
endian value: 1 unused bit, then 5 bits per component, in
the order red, green, blue.
PIXFMT_BGR15PC - 2 bytes per pixel, accessed as a little
endian value: 1 unused bit, then 5 bits per component, in
the order blue, green, red.
PIXFMT_RGB16 - 2 bytes per pixel: 5 bits for red, then 6 bits
for green, then 5 bits for blue.
PIXFMT_BGR16 - 2 bytes per pixel: 5 bits for blue, then 6 bits
for green, then 5 bits for red.
PIXFMT_RGB16PC - 2 bytes per pixel, accessed as a little
endian value: 5 bits for red, then 6 bits for green, then
5 bits for blue.
PIXFMT_BGR16PC - 2 bytes per pixel, accessed as a little
endian value: 5 bits for blue, then 6 bits for green, then
5 bits for red.
PIXFMT_BGR24 - 3 bytes per pixel: 1 byte per component, in
the order blue, green, red.
PIXFMT_BGRA32 - 4 bytes per pixel: 1 byte per component, in
the order blue, green, red, alpha.
PIXFMT_ABGR32 - 4 bytes per pixel: 1 byte per component, in
the order alpha, blue, green, red (AROS extension).
PIXFMT_0RGB32 - 4 bytes per pixel: 1 unused byte, then 1 byte
per component, in the order red, green, blue (AROS
extension).
PIXFMT_BGR032 - 4 bytes per pixel: 1 byte per component, in
the order blue, green, red, followed by 1 unused byte
(AROS extension).
PIXFMT_RGB032 - 4 bytes per pixel: 1 byte per component, in
the order red, green, blue, followed by 1 unused byte
(AROS extension).
PIXFMT_0BGR32 - 4 bytes per pixel: 1 unused byte, then 1 byte
per component, in the order blue, green, red (AROS
extension).

rp - the RastPort to process.
destX, destY - top-lefthand corner of portion of RastPort to process.
sizeX, sizeY - size of the affected area.
operation - one of the following transformation types:
POP_TINT - tint the rectangle with an ARGB32 color ('value' input).
POP_BLUR - blur the rectangle.
POP_BRIGHTEN - brighten the rectangle. The amount of brightening
to be done is defined by the 'value' input, which must be in
the range 0 to 255.
POP_DARKEN - darken the rectangle. The amount of darkening to be
done is defined by the 'value' input, which must be in the
range 0 to 255.
POP_SETALPHA - set the alpha channel value for all pixels in the
rectangle to that specified in the 'value' input. The valid
range is 0 to 255.
POP_GRADIENT - apply a gradient to the rectangle. Gradient
parameters are supplied through the taglist.
value - see description of 'operation' input.
taglist - currently describes gradient parameters, as follows:
PPAOPTAG_GRADIENTTYPE - GRADTYPE_HORIZONTAL or GRADTYPE_VERTICAL.
PPAOPTAG_GRADCOLOR1 - The starting color of the gradient (ARGB32).
PPAOPTAG_GRADCOLOR2 - The ending color of the gradient (ARGB32).
PPAOPTAG_GRADFULLSCALE
PPAOPTAG_GRADOFFSET

Fills all or part of a RastPort with a rectangular block of raw pixel
values. The source pixels are scaled to fit the destination area, i.e.
some pixels may be duplicated or dropped according to the need to
stretch or compress the source block.

srcRect - pointer to the pixel values.
SrcW, SrcH - width and height of the source rectangle (in pixels).
SrcMod - the number of bytes in each row of the source rectangle.
RastPort - the RastPort to write to.
DestX, DestY - top-lefthand corner of portion of destination RastPort
to write to (in pixels).
DestW, DestH - size of the destination rectangle (in pixels).
SrcFormat - the format of the source pixels. See WritePixelArray for
possible values.

Releases exclusive access to a bitmap. Options for the unlocking
process are given in a taglist. The possible tags are as follows:
UBMI_UPDATERECTS (struct RectList *) - pointer to a series of
rectangle lists that need to be refreshed.
UBMI_REALLYUNLOCK (BOOL) - if FALSE, the bitmap will not be
unlocked; only rectangle updates will be done.

srcRect - pointer to the pixel values.
SrcX, SrcY - top-lefthand corner of portion of source rectangle to
copy (in pixels).
SrcMod - the number of bytes in each row of the source rectangle.
rp - the RastPort to write to.
CTable - the color table that maps the source pen values.
DestX, DestY - top-lefthand corner of portion of destination RastPort
to write to (in pixels).
SizeX, SizeY - size of the area to copy (in pixels).
CTabFormat - format of the color table. Only one format type is
currently supported:
CTABFMT_XRGB8 - the colour table is an array of 256 ULONGs.
Each entry begins with an unused byte, followed by 1 byte
for each component, in the order red, green, blue.

srcRect - pointer to the pixel values.
srcx, srcy - top-lefthand corner of portion of source rectangle to
use (in pixels).
srcmod - the number of bytes in each row of the source rectangle.
rp - the RastPort to write to.
destx, desty - top-lefthand corner of portion of destination RastPort
to write to (in pixels).
width, height - size of the affected area (in pixels).
globalalpha - an alpha value applied globally to every pixel taken
from the source rectangle (the full 32-bit range of values is
used: 0 to 0xFFFFFFFF).