# ImmutableParallelogram

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

*** ** * ** ***

Common/AllAndroid/JVMNative/C/iOS
- Cmn

  ```
  class ImmutableParallelogram : Parallelogram
  ```

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

*** ** * ** ***

Immutable parallelogram (i.e. a quadrilateral with parallel sides), defined by its `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#center()`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#width()`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#height()`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#rotationDegrees()`, and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#skew()`.

## Summary

| ### Public companion functions |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float)( center: https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableVec, 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://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html )` Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` with a given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float)` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#fromCenterDimensionsAndRotationInDegrees(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float)( center: https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableVec, 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://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, rotationDegrees: @https://developer.android.com/reference/kotlin/androidx/ink/geometry/AngleDegreesFloat https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html )` Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` with a given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsAndRotationInDegrees(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsAndRotationInDegrees(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsAndRotationInDegrees(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float)` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsAndRotationInDegrees(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)( center: https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableVec, 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://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, rotationDegrees: @https://developer.android.com/reference/kotlin/androidx/ink/geometry/AngleDegreesFloat https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, skew: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html )` Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` with a given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#fromSegmentAndPadding(androidx.ink.geometry.Segment,kotlin.Float)(segment: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Segment, padding: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` that is aligned with the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromSegmentAndPadding(androidx.ink.geometry.Segment,kotlin.Float)` and whose bounds are `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromSegmentAndPadding(androidx.ink.geometry.Segment,kotlin.Float)` units away from the segment and whose `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#skew()` is zero. | 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/ImmutableParallelogram#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#hashCode()()` | Cmn |
| `open https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#toImmutable()()` Returns an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` that is equivalent to this `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#toString()()` | Cmn |

| ### Public properties |
|---|---|---|
| `open https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableVec` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#center()` | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#height()` The height of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`. | Cmn |
| `open @https://developer.android.com/reference/kotlin/androidx/ink/geometry/AngleDegreesFloat https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#rotationDegrees()` The rotation of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` in degrees from its original axis-aligned orientation in the direction from the positive x-axis towards the positive y-axis. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#skew()` The horizontal displacement between the two horizontal edges of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` pre-rotation, as a multiple of the height. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#width()` The width of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`. | Cmn |

### Inherited functions

From [androidx.ink.geometry.Parallelogram](https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram) `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableBox` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#computeBoundingBox()()`

Returns the minimum bounding box containing the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`.
Cmn `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableBox` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#computeBoundingBox(androidx.ink.geometry.MutableBox)(outBox: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableBox)`

Returns the minimum bounding box containing the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`.
Cmn `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableVec>` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#computeCorners()()`

Returns a list containing the 4 corners of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`.
Cmn `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#computeCorners(androidx.ink.geometry.MutableVec,androidx.ink.geometry.MutableVec,androidx.ink.geometry.MutableVec,androidx.ink.geometry.MutableVec)(
outCorner1: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableVec,
outCorner2: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableVec,
outCorner3: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableVec,
outCorner4: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableVec
)`

Populates the 4 output points with the corners of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`.
Cmn `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableVec>` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#computeSemiAxes()()`

Returns the semi axes of this `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`.
Cmn `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#computeSemiAxes(androidx.ink.geometry.MutableVec,androidx.ink.geometry.MutableVec)(outAxis1: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableVec, outAxis2: https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableVec)`

Fills the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/MutableVec`s with the semi axes of this `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`.
Cmn `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#computeSignedArea()()`

Returns the signed area of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`.
Cmn `operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#contains(androidx.ink.geometry.ImmutableVec)(point: https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableVec)`

Returns whether the given point is contained within the Box.
Cmn `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#isAlmostEqual(androidx.ink.geometry.Parallelogram,kotlin.Float)(other: https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram, 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/Parallelogram` with `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#isAlmostEqual(androidx.ink.geometry.Parallelogram,kotlin.Float)`, and returns true if both `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#center()` points are considered almost equal with the given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#isAlmostEqual(androidx.ink.geometry.Parallelogram,kotlin.Float)`, and the difference between `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#width()` and `other.width` is less than `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#isAlmostEqual(androidx.ink.geometry.Parallelogram,kotlin.Float)`, and likewise for `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#height()`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#rotationDegrees()`, and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#skew()`.
Cmn

## Public companion functions

### fromCenterAndDimensions

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

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

Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` with a given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float)` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float)`. The resulting `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` has zero `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#rotationDegrees()` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#skew()`. If the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float)` is less than zero, the Parallelogram will be normalized.

See the corresponding fields on `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` for details about these parameters.

### fromCenterDimensionsAndRotationInDegrees

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

```
fun fromCenterDimensionsAndRotationInDegrees(
    center: ImmutableVec,
    width: @FloatRange(from = 0.0) Float,
    height: Float,
    rotationDegrees: @AngleDegreesFloat Float
): ImmutableParallelogram
```

Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` with a given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsAndRotationInDegrees(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsAndRotationInDegrees(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsAndRotationInDegrees(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float)` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsAndRotationInDegrees(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float)`. The resulting `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` has zero `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#skew()`. If the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsAndRotationInDegrees(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float)` is less than zero or if the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsAndRotationInDegrees(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float)` is not in the range \[0, 360), the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` will be normalized.

See the corresponding fields on `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` for details about these parameters.

### fromCenterDimensionsRotationInDegreesAndSkew

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

```
fun fromCenterDimensionsRotationInDegreesAndSkew(
    center: ImmutableVec,
    width: @FloatRange(from = 0.0) Float,
    height: Float,
    rotationDegrees: @AngleDegreesFloat Float,
    skew: Float
): ImmutableParallelogram
```

Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` with a given `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)`, `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)` and `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)`. If the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)` is less than zero or if the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromCenterDimensionsRotationInDegreesAndSkew(androidx.ink.geometry.ImmutableVec,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)` is not in the range \[0, 360), the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` will be normalized.

See the corresponding fields on `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` for details about these parameters.

### fromSegmentAndPadding

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

```
fun fromSegmentAndPadding(segment: Segment, padding: Float): ImmutableParallelogram
```

Constructs an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` that is aligned with the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromSegmentAndPadding(androidx.ink.geometry.Segment,kotlin.Float)` and whose bounds are `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromSegmentAndPadding(androidx.ink.geometry.Segment,kotlin.Float)` units away from the segment and whose `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram#skew()` is zero. This makes it a rectangle, that is axis-aligned only if `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram.Companion#fromSegmentAndPadding(androidx.ink.geometry.Segment,kotlin.Float)` is axis-aligned.

## Public functions

### equals

Cmn

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

### hashCode

Cmn

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

### toImmutable

Cmn

```
open fun toImmutable(): ImmutableParallelogram
```

Returns an `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` that is equivalent to this `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`. If this `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` is immutable, the returned `https://developer.android.com/reference/kotlin/androidx/ink/geometry/ImmutableParallelogram` will be the same instance.

### toString

Cmn

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

## Public properties

### center

Cmn

```
open val center: ImmutableVec
```

### height

Cmn

```
open val height: Float
```

The height of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`. May be positive or negative, corresponding to whether the angle from the first semi-axis to the second is also positive or negative.

### rotationDegrees

Cmn

```
open val rotationDegrees: @AngleDegreesFloat Float
```

The rotation of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` in degrees from its original axis-aligned orientation in the direction from the positive x-axis towards the positive y-axis.

### skew

Cmn

```
open val skew: Float
```

The horizontal displacement between the two horizontal edges of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` pre-rotation, as a multiple of the height. Equivalently, this is the cotangent of the absolute angle between the semi-axes. A `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` may have a positive or negative skew, a greater skew indicates a smaller absolute angle between the semi-axes.

### width

Cmn

```
open val width: Float
```

The width of the `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram`. A `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram` may *not* have a negative width. If an operation on a parallelogram would result in a negative width, it is instead normalized, by negating both the width and the height, adding 180 to `https://developer.android.com/reference/kotlin/androidx/ink/geometry/Parallelogram#rotationDegrees()` and normalizing that to the range \[0, 360).