The defines are for use with:
void ColorFilter(COLOR_FILTER filter, int image)
Applies the specified filter to the given image. The following filters are valid:
CF_NONE does absolutely nothing!
CF_GREY converts the image to greyscale
CF_GREYINV converts the image to inverted greyscale.
CF_INV converts to full-color RGB inversion. For instance, the inverse of green would be purple: RGB(0,255,0) -> RGB(255,0,255).
CF_RED gets an average luminosity and then applies that to the red channel only.
CF_GREEN gets an average luminosity and then applies that to the green channel only.
CF_BLUE gets an average luminosity and then applies that to the blue channel only.
CF_CUSTOM uses a user defined color filter set with SetCustomColorFilter(int c1, int c2).
Example:
colorFilter(CF_BLUE, screen); // This will convert the screen image to a full blue-scale image
To see the greyscale filter in action, and how it differs from other methods this program is a good demonstration.
Two notes about this function. It will abide by the clipping region, but you will not gain the full speed benefit of a clip region. This may be optimized in the future. It will abide by Lucency values: you can acheive some cool effects this way. For instance a lucent percentage of a CF_GREY filter will provide a washed-out, color-faded look.