# PaneScaffoldDirective

Artifact: [androidx.compose.material3.adaptive:adaptive-layout](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive) [View Source](https://cs.android.com/search?q=file:androidx/compose/material3/adaptive/layout/PaneScaffoldDirective.kt+class:androidx.compose.material3.adaptive.layout.PaneScaffoldDirective) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.0.0) Common/All
- Cmn

  ```
  class PaneScaffoldDirective
  ```

*** ** * ** ***

Top-level directives about how a pane scaffold should be arranged and spaced, like how many partitions the layout can be split into and what should be the gutter size.

## Summary

| ### Public companion properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#Default()` A default instance of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` that suggests a single-pane layout that occupies the full window. | Cmn |

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#PaneScaffoldDirective(kotlin.Int,androidx.compose.ui.unit.Dp,kotlin.Int,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,kotlin.collections.List)( maxHorizontalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, horizontalPartitionSpacerSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, maxVerticalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, verticalPartitionSpacerSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, defaultPanePreferredWidth: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, excludedBounds: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Rect> )` | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#PaneScaffoldDirective(kotlin.Int,androidx.compose.ui.unit.Dp,kotlin.Int,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,kotlin.collections.List)( maxHorizontalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, horizontalPartitionSpacerSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, maxVerticalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, verticalPartitionSpacerSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, defaultPanePreferredWidth: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, defaultPanePreferredHeight: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, excludedBounds: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Rect> )` | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#PaneScaffoldDirective(kotlin.Int,androidx.compose.ui.unit.Dp,kotlin.Int,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,kotlin.collections.List,kotlin.Boolean)( maxHorizontalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, horizontalPartitionSpacerSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, maxVerticalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, verticalPartitionSpacerSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, defaultPanePreferredWidth: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, defaultPanePreferredHeight: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, excludedBounds: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Rect>, shouldAutoFocusCurrentDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` | Cmn |

| ### Public functions |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#copy(kotlin.Int,androidx.compose.ui.unit.Dp,kotlin.Int,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,kotlin.collections.List,androidx.compose.ui.unit.Dp)( maxHorizontalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, horizontalPartitionSpacerSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, maxVerticalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, verticalPartitionSpacerSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, defaultPanePreferredWidth: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, excludedBounds: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Rect>, defaultPanePreferredHeight: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp )` Returns a new copy of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` with specified fields overwritten. | Cmn |
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#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/compose/material3/adaptive/layout/PaneScaffoldDirective#hashCode()()` | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#toString()()` | Cmn |

| ### Public properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#defaultPanePreferredHeight()` Default preferred height of panes that will be used by the scaffold if there's no `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldScope#(androidx.compose.ui.Modifier).preferredHeight(androidx.compose.ui.unit.Dp)` provided with a pane; see `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldScope#(androidx.compose.ui.Modifier).preferredHeight(androidx.compose.ui.unit.Dp)` for more info about how and when preferred height will be used. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#defaultPanePreferredWidth()` Default preferred width of panes that will be used by the scaffold if there's no `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldScope#(androidx.compose.ui.Modifier).preferredWidth(androidx.compose.ui.unit.Dp)` provided with a pane; see `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldScope#(androidx.compose.ui.Modifier).preferredWidth(androidx.compose.ui.unit.Dp)` for more info about how and when preferred width will be used. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Rect>` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#excludedBounds()` the bounds of all areas in the window that the layout needs to avoid displaying anything upon it. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#horizontalPartitionSpacerSize()` Size of the spacers between horizontal partitions. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#maxHorizontalPartitions()` the max number of partitions along the horizontal axis the layout can be split into. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#maxVerticalPartitions()` the max number of partitions along the vertical axis the layout can be split into. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#shouldAutoFocusCurrentDestination()` set to `true` to make the scaffold automatically move focus onto the current destination pane indicated by `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue#currentDestination()` when it changes, otherwise set it to `false`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#verticalPartitionSpacerSize()` Size of the spacers between vertical partitions. | Cmn |

## Public companion properties

### Default

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

```
val Default: PaneScaffoldDirective
```

A default instance of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` that suggests a single-pane layout that occupies the full window. To create a customized `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective`, you can use `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective#copy(kotlin.Int,androidx.compose.ui.unit.Dp,kotlin.Int,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,kotlin.collections.List,androidx.compose.ui.unit.Dp)` on the default instance to create a copy with custom values.

## Public constructors

### PaneScaffoldDirective

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

```
PaneScaffoldDirective(
    maxHorizontalPartitions: Int,
    horizontalPartitionSpacerSize: Dp,
    maxVerticalPartitions: Int,
    verticalPartitionSpacerSize: Dp,
    defaultPanePreferredWidth: Dp,
    excludedBounds: List<Rect>
)
```

### PaneScaffoldDirective

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

```
PaneScaffoldDirective(
    maxHorizontalPartitions: Int,
    horizontalPartitionSpacerSize: Dp,
    maxVerticalPartitions: Int,
    verticalPartitionSpacerSize: Dp,
    defaultPanePreferredWidth: Dp,
    defaultPanePreferredHeight: Dp,
    excludedBounds: List<Rect>
)
```

### PaneScaffoldDirective

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

```
PaneScaffoldDirective(
    maxHorizontalPartitions: Int,
    horizontalPartitionSpacerSize: Dp,
    maxVerticalPartitions: Int,
    verticalPartitionSpacerSize: Dp,
    defaultPanePreferredWidth: Dp,
    defaultPanePreferredHeight: Dp,
    excludedBounds: List<Rect>,
    shouldAutoFocusCurrentDestination: Boolean
)
```

## Public functions

### copy

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

```
fun copy(
    maxHorizontalPartitions: Int = this.maxHorizontalPartitions,
    horizontalPartitionSpacerSize: Dp = this.horizontalPartitionSpacerSize,
    maxVerticalPartitions: Int = this.maxVerticalPartitions,
    verticalPartitionSpacerSize: Dp = this.verticalPartitionSpacerSize,
    defaultPanePreferredWidth: Dp = this.defaultPanePreferredWidth,
    excludedBounds: List<Rect> = this.excludedBounds,
    defaultPanePreferredHeight: Dp = this.defaultPanePreferredHeight
): PaneScaffoldDirective
```

Returns a new copy of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` with specified fields overwritten. Use this method to create a custom `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective` from the default instance or the result of `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#calculatePaneScaffoldDirective(androidx.compose.material3.adaptive.WindowAdaptiveInfo,androidx.compose.material3.adaptive.layout.HingePolicy)`.

| Parameters |
|---|---|
| `maxHorizontalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html = this.maxHorizontalPartitions` | the max number of partitions along the horizontal axis the layout can be split into. |
| `horizontalPartitionSpacerSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = this.horizontalPartitionSpacerSize` | Size of the spacers between horizontal partitions. It's equivalent to the left/right margins the horizontal partitions. |
| `maxVerticalPartitions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html = this.maxVerticalPartitions` | the max number of partitions along the vertical axis the layout can be split into. |
| `verticalPartitionSpacerSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = this.verticalPartitionSpacerSize` | Size of the spacers between vertical partitions. It's equivalent to the top/bottom margins of the vertical partitions. |
| `defaultPanePreferredWidth: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = this.defaultPanePreferredWidth` | Default preferred width of panes that will be used by the scaffold if there's no `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldScope#(androidx.compose.ui.Modifier).preferredWidth(androidx.compose.ui.unit.Dp)` provided with a pane. |
| `excludedBounds: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Rect> = this.excludedBounds` | the bounds of all areas in the window that the layout needs to avoid displaying anything upon it. Usually these bounds represent where physical hinges are. |
| `defaultPanePreferredHeight: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = this.defaultPanePreferredHeight` | Default preferred height of panes that will be used by the scaffold if there's no `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldScope#(androidx.compose.ui.Modifier).preferredHeight(androidx.compose.ui.unit.Dp)` provided with a pane. |

### equals

Cmn

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

### hashCode

Cmn

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

### toString

Cmn

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

## Public properties

### defaultPanePreferredHeight

Cmn

```
val defaultPanePreferredHeight: Dp
```

Default preferred height of panes that will be used by the scaffold if there's no `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldScope#(androidx.compose.ui.Modifier).preferredHeight(androidx.compose.ui.unit.Dp)` provided with a pane; see `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldScope#(androidx.compose.ui.Modifier).preferredHeight(androidx.compose.ui.unit.Dp)` for more info about how and when preferred height will be used.

### defaultPanePreferredWidth

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

```
val defaultPanePreferredWidth: Dp
```

Default preferred width of panes that will be used by the scaffold if there's no `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldScope#(androidx.compose.ui.Modifier).preferredWidth(androidx.compose.ui.unit.Dp)` provided with a pane; see `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldScope#(androidx.compose.ui.Modifier).preferredWidth(androidx.compose.ui.unit.Dp)` for more info about how and when preferred width will be used.

### excludedBounds

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

```
val excludedBounds: List<Rect>
```

the bounds of all areas in the window that the layout needs to avoid displaying anything upon it. Usually these bounds represent where physical hinges are.

### horizontalPartitionSpacerSize

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

```
val horizontalPartitionSpacerSize: Dp
```

Size of the spacers between horizontal partitions. It's equivalent to the left/right margins the horizontal partitions.

### maxHorizontalPartitions

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

```
val maxHorizontalPartitions: Int
```

the max number of partitions along the horizontal axis the layout can be split into.

### maxVerticalPartitions

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

```
val maxVerticalPartitions: Int
```

the max number of partitions along the vertical axis the layout can be split into.

### shouldAutoFocusCurrentDestination

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

```
val shouldAutoFocusCurrentDestination: Boolean
```

set to `true` to make the scaffold automatically move focus onto the current destination pane indicated by `https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue#currentDestination()` when it changes, otherwise set it to `false`.

### verticalPartitionSpacerSize

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

```
val verticalPartitionSpacerSize: Dp
```

Size of the spacers between vertical partitions. It's equivalent to the top/bottom margins of the vertical partitions.