# ShaderBrush

Artifact: [androidx.compose.ui:ui-graphics](https://developer.android.com/jetpack/androidx/releases/compose-ui) [View Source](https://cs.android.com/search?q=file:androidx/compose/ui/graphics/Brush.kt+class:androidx.compose.ui.graphics.ShaderBrush) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.0.0) Common/AllAndroid/JVM
- Cmn

  ```
  abstract class ShaderBrush : Brush
  ```

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.compose.ui.graphics.Brush](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Brush) ||
|   | ↳ | [androidx.compose.ui.graphics.ShaderBrush](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/ShaderBrush) |

Known direct subclasses [LinearGradient](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/LinearGradient), [RadialGradient](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/RadialGradient), [SweepGradient](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/SweepGradient)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/LinearGradient` | Brush implementation used to apply a linear gradient on a given `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Paint` |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/RadialGradient` | Brush implementation used to apply a radial gradient on a given `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Paint` |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/SweepGradient` | Brush implementation used to apply a sweep gradient on a given `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Paint` |

*** ** * ** ***

Brush implementation that wraps and applies a the provided shader to a `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Paint` The shader can be lazily created based on a given size, or provided directly as a parameter

## Summary

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/ShaderBrush#ShaderBrush()()` | Cmn |

| ### Public functions |
|---|---|---|
| `final https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/ShaderBrush#applyTo(androidx.compose.ui.geometry.Size,androidx.compose.ui.graphics.Paint,kotlin.Float)(size: https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Size, p: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Paint, alpha: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` | Cmn |
| `abstract https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shader` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/ShaderBrush#createShader(androidx.compose.ui.geometry.Size)(size: https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Size)` | Cmn |

| ### Public properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Matrix?` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/ShaderBrush#transform()` A transformation matrix for the shader. | Cmn |

| ### Inherited properties |
|---|
| From [androidx.compose.ui.graphics.Brush](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Brush) |---|---|---| | `open https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Size` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Brush#intrinsicSize()` Return the intrinsic size of the `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Brush`. | Cmn | |

## Public constructors

### ShaderBrush

Cmn Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.0.0)

```
ShaderBrush()
```

## Public functions

### applyTo

Cmn

```
final fun applyTo(size: Size, p: Paint, alpha: Float): Unit
```

### createShader

Cmn Added in [1.10.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.10.0)

```
abstract fun createShader(size: Size): Shader
```

## Public properties

### transform

Cmn Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.9.0)

```
var transform: Matrix?
```

A transformation matrix for the shader.