# ImmutableAffineTransform

Artifact: [androidx.ink:ink-geometry](https://developer.android.com/jetpack/androidx/releases/ink) [View Source](https://cs.android.com/search?q=file:androidx/ink/geometry/ImmutableAffineTransform.kt+class:androidx.ink.geometry.ImmutableAffineTransform) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/ink#1.0.0)

*** ** * ** ***

Common/AllAndroid/JVMNative/C/iOS
- Cmn

  ```
  class ImmutableAffineTransform : AffineTransform
  ```

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.ink.geometry.AffineTransform](https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform) ||
|   | ↳ | [androidx.ink.geometry.ImmutableAffineTransform](https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform) |

*** ** * ** ***

An immutable affine transformation in the plane. Individual operations can be constructed with factory methods like `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#translate(kotlin.Float,kotlin.Float)` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#rotateDegrees(kotlin.Float)`.

See `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` for more general documentation about how these transforms are represented. See `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableAffineTransform` for a mutable alternative to this class.

## Summary

| ### Nested types |
|---|
| `object https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion` |

| ### Public companion functions |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#rotateDegrees(kotlin.Float)(degrees: @https://developer.android.com/reference/kotlin/androidx/ink/geometry/AngleDegreesFloat https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Returns a transformation that rotates `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#rotateDegrees(kotlin.Float)` in the direction from the positive x-axis towards the positive y-axis. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#scale(kotlin.Float)(scaleFactor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Returns a transformation that scales in both the x- and y-direction by the given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#scale(kotlin.Float)`, centered about the origin. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#scale(kotlin.Float,kotlin.Float)(xScaleFactor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, yScaleFactor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Returns a transformation that scales in both the x- and y-direction by the given pair of factors; `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#scale(kotlin.Float,kotlin.Float)` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#scale(kotlin.Float,kotlin.Float)` respectively, centered about the origin. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#scaleX(kotlin.Float)(scaleFactor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Returns a transformation that scales in the x-direction by the given factor, centered about the origin. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#scaleY(kotlin.Float)(scaleFactor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Returns a transformation that scales in the y-direction by the given factor, centered about the origin. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#skewX(kotlin.Float)(sx: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Returns a transformation that skews in the x-direction by the given factor. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#skewY(kotlin.Float)(sy: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Returns a transformation that skews in the y-direction by the given factor. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#translate(androidx.ink.geometry.Vec)(offset: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Vec)` Returns a transformation that translates by the given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#translate(androidx.ink.geometry.Vec)` vector. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#translate(kotlin.Float,kotlin.Float)(x: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, y: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Returns a transformation that translates by the given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#translate(kotlin.Float,kotlin.Float)` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#translate(kotlin.Float,kotlin.Float)` components. | Cmn |

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#ImmutableAffineTransform(kotlin.FloatArray)(values: @https://developer.android.com/reference/kotlin/androidx/annotation/Size(min = 6) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float-array/index.html)` Like the primary constructor, but accepts a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float-array/index.html` instead of individual `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` values. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#ImmutableAffineTransform(kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)( m00: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, m10: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, m20: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, m01: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, m11: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, m21: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html )` Constructs this transform with 6 float values, starting with the top left corner of the matrix and proceeding in row-major order. | Cmn |

| ### Public functions |
|---|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` Component-wise equality operator for `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform`. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#hashCode()()` | Cmn |
| `open https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#toImmutable()()` Returns an immutable equivalent of this object. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#toString()()` | Cmn |

| ### Public properties |
|---|---|---|
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#m00()` Value in the first row, first column of the transform matrix. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#m01()` Value in the second row, first column of the transform matrix. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#m10()` Value in the first row, second column of the transform matrix. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#m11()` Value in the second row, second column of the transform matrix. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#m20()` Value in the first row, third column of the transform matrix. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#m21()` Value in the second row, third column of the transform matrix. | Cmn |

### Inherited functions

From [androidx.ink.geometry.AffineTransform](https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform) `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Box)(box: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Box)`

Returns an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` containing the result of applying the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` to `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Box)`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Parallelogram)(parallelogram: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram)`

Returns an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` containing the result of applying the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` to `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Parallelogram)`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableVec` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Vec)(point: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Vec)`

Returns an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableVec` containing the result of applying the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` to `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Vec)`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableSegment` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Segment)(segment: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Segment)`

Returns an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableSegment` containing the result of applying the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` to `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Segment)`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableTriangle` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Triangle)(triangle: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Triangle)`

Returns an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableTriangle` containing the result of applying the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` to `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Triangle)`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableParallelogram` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Box,androidx.ink.geometry.MutableParallelogram)(box: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Box, outParallelogram: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableParallelogram)`

Apply the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` to the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Box` and store the result in the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableParallelogram`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableParallelogram` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Parallelogram,androidx.ink.geometry.MutableParallelogram)(
parallelogram: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram,
outParallelogram: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableParallelogram
)`

Apply the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` to the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` and store the result in the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableParallelogram`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableVec` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Vec,androidx.ink.geometry.MutableVec)(point: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Vec, outVec: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableVec)`

Apply the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` to the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Vec` and store the result in the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableVec`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableSegment` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Segment,androidx.ink.geometry.MutableSegment)(segment: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Segment, outSegment: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableSegment)`

Apply the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` to the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Segment` and store the result in the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableSegment`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableTriangle` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#applyTransform(androidx.ink.geometry.Triangle,androidx.ink.geometry.MutableTriangle)(triangle: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Triangle, outTriangle: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableTriangle)`

Apply the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` to the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Triangle` and store the result in the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableTriangle`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#computeInverse()()`

Returns the inverse of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableAffineTransform` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#computeInverse(androidx.ink.geometry.MutableAffineTransform)(outAffineTransform: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableAffineTransform)`

Populates `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#computeInverse(androidx.ink.geometry.MutableAffineTransform)` with the inverse of this `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform`.
Cmn `@https://developer.android.com/reference/kotlin/androidx/annotation/Size(min = 6) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float-array/index.html` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#getValues(kotlin.FloatArray)(outArray: @https://developer.android.com/reference/kotlin/androidx/annotation/Size(min = 6) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float-array/index.html)`

Populates the first 6 elements of `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#getValues(kotlin.FloatArray)` with the values of this transform, starting with the top left corner of the matrix and proceeding in row-major order.
Cmn `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#isAlmostEqual(androidx.ink.geometry.AffineTransform,kotlin.Float)(
other: https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform,
tolerance: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html
)`

Compares this `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform` with `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#isAlmostEqual(androidx.ink.geometry.AffineTransform,kotlin.Float)`, and returns true if each component of the transform matrix is within `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#isAlmostEqual(androidx.ink.geometry.AffineTransform,kotlin.Float)` of the corresponding component of `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#isAlmostEqual(androidx.ink.geometry.AffineTransform,kotlin.Float)`.
Cmn

## Public companion functions

### rotateDegrees

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

```
fun rotateDegrees(degrees: @AngleDegreesFloat Float): ImmutableAffineTransform
```

Returns a transformation that rotates `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#rotateDegrees(kotlin.Float)` in the direction from the positive x-axis towards the positive y-axis.

### scale

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

```
fun scale(scaleFactor: Float): ImmutableAffineTransform
```

Returns a transformation that scales in both the x- and y-direction by the given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#scale(kotlin.Float)`, centered about the origin.

### scale

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

```
fun scale(xScaleFactor: Float, yScaleFactor: Float): ImmutableAffineTransform
```

Returns a transformation that scales in both the x- and y-direction by the given pair of factors; `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#scale(kotlin.Float,kotlin.Float)` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#scale(kotlin.Float,kotlin.Float)` respectively, centered about the origin.

### scaleX

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

```
fun scaleX(scaleFactor: Float): ImmutableAffineTransform
```

Returns a transformation that scales in the x-direction by the given factor, centered about the origin.

### scaleY

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

```
fun scaleY(scaleFactor: Float): ImmutableAffineTransform
```

Returns a transformation that scales in the y-direction by the given factor, centered about the origin.

### skewX

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

```
fun skewX(sx: Float): ImmutableAffineTransform
```

Returns a transformation that skews in the x-direction by the given factor.

### skewY

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

```
fun skewY(sy: Float): ImmutableAffineTransform
```

Returns a transformation that skews in the y-direction by the given factor.

### translate

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

```
fun translate(offset: Vec): ImmutableAffineTransform
```

Returns a transformation that translates by the given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#translate(androidx.ink.geometry.Vec)` vector.

### translate

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

```
fun translate(x: Float, y: Float): ImmutableAffineTransform
```

Returns a transformation that translates by the given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#translate(kotlin.Float,kotlin.Float)` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform.Companion#translate(kotlin.Float,kotlin.Float)` components.

## Public constructors

### ImmutableAffineTransform

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

```
ImmutableAffineTransform(values: @Size(min = 6) FloatArray)
```

Like the primary constructor, but accepts a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float-array/index.html` instead of individual `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` values.

### ImmutableAffineTransform

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

```
ImmutableAffineTransform(
    m00: Float,
    m10: Float,
    m20: Float,
    m01: Float,
    m11: Float,
    m21: Float
)
```

Constructs this transform with 6 float values, starting with the top left corner of the matrix and proceeding in row-major order. Prefer to create this object with functions that apply specific transform operations, such as `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#scale(kotlin.Float,kotlin.Float)` or `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#translate(kotlin.Float,kotlin.Float)`, rather than directly passing in the actual numeric values of this transform. This constructor is useful for when the values are needed to be provided all at once, for example for serialization. To access these values in the same order as they are passed in here, use `https://developer.android.com/reference/kotlin/androidx/ink/geometry/AffineTransform#getValues(kotlin.FloatArray)`. To construct this object using an array as input, there is another public constructor for that.

## Public functions

### equals

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

```
open operator fun equals(other: Any?): Boolean
```

Component-wise equality operator for `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform`.

Due to the propagation floating point precision errors, operations that may be equivalent over the real numbers are not always equivalent for floats, and might return false for `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableAffineTransform#equals(kotlin.Any)` in some cases.

### hashCode

Cmn

```
open fun hashCode(): Int
```

### toImmutable

Cmn

```
open fun toImmutable(): ImmutableAffineTransform
```

Returns an immutable equivalent of this object. This will return itself if called on an immutable instance.

### toString

Cmn

```
open fun toString(): String
```

## Public properties

### m00

Cmn

```
open val m00: Float
```

Value in the first row, first column of the transform matrix.

### m01

Cmn

```
open val m01: Float
```

Value in the second row, first column of the transform matrix.

### m10

Cmn

```
open val m10: Float
```

Value in the first row, second column of the transform matrix.

### m11

Cmn

```
open val m11: Float
```

Value in the second row, second column of the transform matrix.

### m20

Cmn

```
open val m20: Float
```

Value in the first row, third column of the transform matrix.

### m21

Cmn

```
open val m21: Float
```

Value in the second row, third column of the transform matrix.