# Ruler

Artifact: [androidx.compose.ui:ui](https://developer.android.com/jetpack/androidx/releases/compose-ui) [View Source](https://cs.android.com/search?q=file:androidx/compose/ui/layout/Ruler.kt+class:androidx.compose.ui.layout.Ruler) Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.7.0) Common/AllAndroid/JVM
- Cmn

  ```
  sealed class Ruler
  ```
Known direct subclasses [HorizontalRuler](https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/HorizontalRuler), [VerticalRuler](https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/VerticalRuler)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/HorizontalRuler` | A horizontal `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/Ruler`. |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/VerticalRuler` | A vertical `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/Ruler`. |

*** ** * ** ***

A line that can be used to align layout children inside a `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/Placeable.PlacementScope`.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/Placeable.PlacementScope#(androidx.compose.ui.layout.Ruler).current(kotlin.Float)` |   |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/MeasureScope#layout(kotlin.Int,kotlin.Int,kotlin.collections.Map,kotlin.Function1)` |   |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/RulerScope#(androidx.compose.ui.layout.Ruler).provides(kotlin.Float)` |   |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/RulerScope#(androidx.compose.ui.layout.VerticalRuler).providesRelative(kotlin.Float)` |   |

## Summary

| ### Protected constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/Ruler#Ruler(kotlin.Function2)(calculate: (https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/Placeable.PlacementScope.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)?)` | Cmn |

## Protected constructors

### Ruler

Cmn

```
protected Ruler(calculate: (Placeable.PlacementScope.(Float) -> Float)?)
```