---
title: "IconToggleButtonShapes"
description: "Represents the shapes used for [IconToggleButton] in various states.

[IconToggleButtonShapes] offers flexibility in shape-morphing the IconToggleButton according to
the checked and pressed states. See [IconToggleButtonDefaults.shapes] (which maintains a fixed
shape for all states), [IconToggleButtonDefaults.animatedShapes] (which applies a shape-morph
when pressed) and [IconToggleButtonDefaults.variantAnimatedShapes] (which applies different
shapes for checked/unchecked and an additional morph to the current shape when pressed)."
type: "class"
---

<div class='type'>Class</div>


<a id='references'></a>

<div class='sourceset sourceset-android'>Android</div>


```kotlin
public class IconToggleButtonShapes(
    public val uncheckedShape: Shape,
    public val checkedShape: Shape = uncheckedShape,
    public val uncheckedPressedShape: Shape = uncheckedShape,
    public val checkedPressedShape: Shape = uncheckedPressedShape,
)
```


Represents the shapes used for `IconToggleButton` in various states.

`IconToggleButtonShapes` offers flexibility in shape-morphing the IconToggleButton according to
the checked and pressed states. See `IconToggleButtonDefaults.shapes` (which maintains a fixed
shape for all states), `IconToggleButtonDefaults.animatedShapes` (which applies a shape-morph
when pressed) and `IconToggleButtonDefaults.variantAnimatedShapes` (which applies different
shapes for checked/unchecked and an additional morph to the current shape when pressed).

#### Parameters

| | |
| --- | --- |
| uncheckedShape | the shape of the `IconToggleButton` when unchecked |
| checkedShape | the shape of the `IconToggleButton` when checked |
| uncheckedPressedShape | the shape of the `IconToggleButton` when unchecked and pressed |
| checkedPressedShape | the shape of the `IconToggleButton` when checked and pressed |



## Functions

```kotlin
public fun copy(
        uncheckedShape: Shape? = this.uncheckedShape,
        checkedShape: Shape? = this.checkedShape,
        uncheckedPressedShape: Shape? = this.uncheckedPressedShape,
        checkedPressedShape: Shape? = this.checkedPressedShape,
    ): IconToggleButtonShapes
```


