# BrushPaint.ColorFunction

Artifact: [androidx.ink:ink-brush](https://developer.android.com/jetpack/androidx/releases/ink) [View Source](https://cs.android.com/search?q=file:androidx/ink/brush/BrushPaint.kt+class:androidx.ink.brush.BrushPaint.ColorFunction) Added in [1.1.0-alpha11](https://developer.android.com/jetpack/androidx/releases/ink#1.1.0-alpha11)

*** ** * ** ***


```
public abstract class BrushPaint.ColorFunction
```

<br />

Known direct subclasses [BrushPaint.ColorFunction.OpacityMultiplier](https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction.OpacityMultiplier), [BrushPaint.ColorFunction.ReplaceColor](https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction.ReplaceColor)

|---|---|
| `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction.OpacityMultiplier` | A `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction` that scales the color opacity by a specified multiplier. |
| `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction.ReplaceColor` | A `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction` that ignores the input color and replaces it with the specified color. |

*** ** * ** ***

A `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction` defines a mapping over colors.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction.OpacityMultiplier extends https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction` A `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction` that scales the color opacity by a specified multiplier. |
| `public final class https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction.ReplaceColor extends https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction` A `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction` that ignores the input color and replaces it with the specified color. |

| ### Public methods |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/ink/brush/Version` | `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction#calculateMinimumRequiredVersion()()` Returns the minimum required `https://developer.android.com/reference/androidx/ink/brush/Version` for this `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction`. |
| `final @https://developer.android.com/reference/androidx/annotation/ColorInt int` | `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction#transformColorIntArgb(kotlin.Int)(@https://developer.android.com/reference/androidx/annotation/ColorInt int colorIntArgb)` Transforms the input color into a new color. |

## Public methods

### calculateMinimumRequiredVersion

Added in [1.1.0-alpha11](https://developer.android.com/jetpack/androidx/releases/ink#1.1.0-alpha11)

```
public final @NonNull Version calculateMinimumRequiredVersion()
```

Returns the minimum required `https://developer.android.com/reference/androidx/ink/brush/Version` for this `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction`.

By default, decoding a `https://developer.android.com/reference/androidx/ink/brush/BrushFamily` containing a `https://developer.android.com/reference/androidx/ink/brush/BrushPaint.ColorFunction` with a minimum required version higher than `https://developer.android.com/reference/androidx/ink/brush/Version#MAX_SUPPORTED()` will fail.

### transformColorIntArgb

Added in [1.1.0-alpha11](https://developer.android.com/jetpack/androidx/releases/ink#1.1.0-alpha11)

```
public final @ColorInt int transformColorIntArgb(@ColorInt int colorIntArgb)
```

Transforms the input color into a new color.