# ImmutableBox.Companion

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/ImmutableBox.kt+class:androidx.ink.geometry.ImmutableBox.Companion) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/ink#1.0.0)

*** ** * ** ***

Common/AllAndroid/JVMNative/C/iOS
- Cmn

  ```
  object ImmutableBox.Companion
  ```

*** ** * ** ***

## Summary

| ### Public functions |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox#fromCenterAndDimensions(androidx.ink.geometry.Vec,kotlin.Float,kotlin.Float)( center: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Vec, width: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, height: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html )` Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` with a given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion#fromCenterAndDimensions(androidx.ink.geometry.Vec,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion#fromCenterAndDimensions(androidx.ink.geometry.Vec,kotlin.Float,kotlin.Float)`, and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion#fromCenterAndDimensions(androidx.ink.geometry.Vec,kotlin.Float,kotlin.Float)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox#fromTwoPoints(androidx.ink.geometry.Vec,androidx.ink.geometry.Vec)(point1: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Vec, point2: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Vec)` Constructs the smallest `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` containing the two given points. | Cmn |

| ### Extension functions |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox?` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion.https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion#(androidx.ink.geometry.ImmutableBox.Companion).from(android.graphics.RectF)(rect: https://developer.android.com/reference/android/graphics/RectF.html)` Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` with the values from `https://developer.android.com/reference/kotlin/androidx/ink/geometry/package-summary#(androidx.ink.geometry.ImmutableBox.Companion).from(android.graphics.RectF)`. | android |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox?` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion.https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion#(androidx.ink.geometry.ImmutableBox.Companion).from(androidx.compose.ui.geometry.MutableRect)(rect: https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/MutableRect)` If `https://developer.android.com/reference/kotlin/androidx/ink/geometry/compose/package-summary#(androidx.ink.geometry.ImmutableBox.Companion).from(androidx.compose.ui.geometry.MutableRect)` is not empty, returns an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` constructed from the values of `https://developer.android.com/reference/kotlin/androidx/ink/geometry/compose/package-summary#(androidx.ink.geometry.ImmutableBox.Companion).from(androidx.compose.ui.geometry.MutableRect)`. | android |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox?` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion.https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion#(androidx.ink.geometry.ImmutableBox.Companion).from(androidx.compose.ui.geometry.Rect)(rect: https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Rect)` If `https://developer.android.com/reference/kotlin/androidx/ink/geometry/compose/package-summary#(androidx.ink.geometry.ImmutableBox.Companion).from(androidx.compose.ui.geometry.Rect)` is not empty, returns an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` constructed from the values of `https://developer.android.com/reference/kotlin/androidx/ink/geometry/compose/package-summary#(androidx.ink.geometry.ImmutableBox.Companion).from(androidx.compose.ui.geometry.Rect)`. | android |

## Public functions

### fromCenterAndDimensions

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

```
fun fromCenterAndDimensions(
    center: Vec,
    width: @FloatRange(from = 0.0) Float,
    height: @FloatRange(from = 0.0) Float
): ImmutableBox
```

Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` with a given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion#fromCenterAndDimensions(androidx.ink.geometry.Vec,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion#fromCenterAndDimensions(androidx.ink.geometry.Vec,kotlin.Float,kotlin.Float)`, and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox.Companion#fromCenterAndDimensions(androidx.ink.geometry.Vec,kotlin.Float,kotlin.Float)`.

### fromTwoPoints

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

```
fun fromTwoPoints(point1: Vec, point2: Vec): ImmutableBox
```

Constructs the smallest `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` containing the two given points.

## Extension functions

### ImmutableBox.Companion.from

android 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/AndroidGraphicsConversionExtensions.android.kt+function:from)

```
fun ImmutableBox.Companion.from(rect: RectF): ImmutableBox?
```

Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` with the values from `https://developer.android.com/reference/kotlin/androidx/ink/geometry/package-summary#(androidx.ink.geometry.ImmutableBox.Companion).from(android.graphics.RectF)`.

If `https://developer.android.com/reference/kotlin/androidx/ink/geometry/package-summary#(androidx.ink.geometry.ImmutableBox.Companion).from(android.graphics.RectF)` is empty, returns null instead.

Java callers should prefer `AndroidGraphicsConverter.createBox`(`https://developer.android.com/reference/kotlin/androidx/ink/geometry/package-summary#createBox(android.graphics.RectF)`).

### ImmutableBox.Companion.from

android Artifact: [androidx.ink:ink-geometry-compose](https://developer.android.com/jetpack/androidx/releases/ink) [View Source](https://cs.android.com/search?q=file:androidx/ink/geometry/compose/ComposeConversionExtensions.kt+function:from)

```
fun ImmutableBox.Companion.from(rect: MutableRect): ImmutableBox?
```

If `https://developer.android.com/reference/kotlin/androidx/ink/geometry/compose/package-summary#(androidx.ink.geometry.ImmutableBox.Companion).from(androidx.compose.ui.geometry.MutableRect)` is not empty, returns an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` constructed from the values of `https://developer.android.com/reference/kotlin/androidx/ink/geometry/compose/package-summary#(androidx.ink.geometry.ImmutableBox.Companion).from(androidx.compose.ui.geometry.MutableRect)`. Otherwise returns null.

Performance-sensitive code should use the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/BoxAccumulator#add(androidx.ink.geometry.BoxAccumulator)` overload and obtain the bounding box from there, so that instance can be reused across multiple calls.

### ImmutableBox.Companion.from

android Artifact: [androidx.ink:ink-geometry-compose](https://developer.android.com/jetpack/androidx/releases/ink) [View Source](https://cs.android.com/search?q=file:androidx/ink/geometry/compose/ComposeConversionExtensions.kt+function:from)

```
fun ImmutableBox.Companion.from(rect: Rect): ImmutableBox?
```

If `https://developer.android.com/reference/kotlin/androidx/ink/geometry/compose/package-summary#(androidx.ink.geometry.ImmutableBox.Companion).from(androidx.compose.ui.geometry.Rect)` is not empty, returns an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` constructed from the values of `https://developer.android.com/reference/kotlin/androidx/ink/geometry/compose/package-summary#(androidx.ink.geometry.ImmutableBox.Companion).from(androidx.compose.ui.geometry.Rect)`. Otherwise returns null.

Performance-sensitive code should use the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/BoxAccumulator#add(androidx.ink.geometry.BoxAccumulator)` overload and obtain the bounding box from there, so that instance can be reused across multiple calls.