# ColorOperation

### Introduction

The Text class implements the [IColorable](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/docs/index.php) interface. This gives the Text object lots of flexibility in controlling how it will appear.

For information that is general to all [IColorables](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/docs/index.php), see the [IColorable page.](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/docs/index.php)

### Default Behavior

By default the Text class has the following [IColorable](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/docs/index.php) properties:

| Property                                                                                      | Value              |
| --------------------------------------------------------------------------------------------- | ------------------ |
| [ColorOperation](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/docs/index.php) | ColorTextureAlpha  |
| Red                                                                                           | 1 (255 in FRB MDX) |
| Green                                                                                         | 1 (255 in FRB MDX) |
| Blue                                                                                          | 1 (255 in FRB MDX) |

Notice that the [ColorOperation](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/docs/index.php) is "ColorTextureAlpha". This means that the Texture will control the transparency (of course, also considering the Text's Alpha property), but the color is controlled purely by the Red, Green, and Blue properties.

Therefore, by default, the Text object will completely ignore color information from its source Texture and use **only** the three color components that are set.

This can be easily changed, of course. If you want to set the color of your text from its source texture (as might be the case when doing outlined text), consider changing the [ColorOperation](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/docs/index.php) to Texture or Modulate depending on the effect you are interested in achieving.
