- Main Page
- Classes
- Files
- Directories
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# KrColorTransform Class Reference

A class that defines a color transformation. More...

`#include <color.h>`

List of all members.

## Public Member Functions
void | SetIdentity ()
| Clear all color transformations.
void | SetAlpha (U8 a)
| Set the alpha. 0 is transparent and 255 is opaque.
void | TintRed (U8 tint)
| Tint but leave the other channels unchanged.
void | TintGreen (U8 tint)
| Tint but leave the other channels unchanged.
void | TintBlue (U8 tint)
| Tint but leave the other channels unchanged.
void | TintAlpha (U8 tint)
| Only sets alpha, but in inverse: 0 is opaque.
void | Brighten (U8 val)
| Approximate brightening -- not symmetric with darken. val==0 is no change.
void | Darken (U8 val)
| Approximate darkening -- not symmetric with brighten. val==0 is no change.
void | Set (U8 mRed, U8 bRed, U8 mGreen, U8 bGreen, U8 mBlue, U8 bBlue, U8 alpha)
| Arbitrary set of the components.
void | SetRed (U8 _m, U8 _b)
| Arbitrary red set (other channel will not be affected.).
void | SetGreen (U8 _m, U8 _b)
| Arbitrary green set (other channel will not be affected.).
void | SetBlue (U8 _m, U8 _b)
| Arbitrary blue set (other channel will not be affected.).

## Detailed Description

A class that defines a color transformation.

Unlike vectors and rectangles, it has many invalid states and is better ecapselated. It does have a constructor, and it's private data can not be directly accessed.

c' = m * c / 255 + b / 255

where:

- c is the original color component, either the red, green, blue, or alpha component.
- c' is the transformed color component.

c will always be in the range of 0-255. m and b must be specified so that c' will always be in the range of 0-255 as well. In other words, this is an unbounded transform. If colors out of range occur, strange things will happen.

Using the "Friendly API" this will never be a problem: values will be kept in range for you. When using Set* directly, however, be cautious.

## Member Function Documentation

void KrColorTransform::Set | ( | U8 | mRed,
|  | U8 | bRed,
|  | U8 | mGreen,
|  | U8 | bGreen,
|  | U8 | mBlue,
|  | U8 | bBlue,
|  | U8 | alpha |
| ) |  |  |

Arbitrary set of the components.

Gives lots of control over the color transformation. The color is transformed by the equation:

c' = m * c / 255 + b / 255

where:

- c is the original color component, either the red, green, blue, or alpha component.
- c' is the transformed color component.

c will always be in the range of 0-255. m and b must be specified so that c' will always be in the range of 0-255 as well. In other words, this is an unbounded transform. If colors out of range occur, strange things will happen.

The "friendly api", above, will always guarentee color transformations are correctly bounded.

The documentation for this class was generated from the following file:

- color.h