INNER CODE UNIT · Kotlin
GridMeasurePolicy
IacobIonut01/ReFra · commonMain/androidx/compose/foundation/layout/Grid.kt:723
internal class GridMeasurePolicy(
private val configState: State<GridConfigurationScope.() -> Unit>
) : MeasurePolicy {
override fun MeasureScope.measure(
measurables: List<Measurable>,
constraints: Constraints,
): MeasureResult {
// 1. Run Configuration DSL
val gridConfig = GridConfigurationScopeImpl(this, constraints).apply(configState.value)
// 2. Resolve Grid Item Indices (Resolve explicit and Auto placement)
// This calculates the concrete index (row, col) for every item and determines total grid
// size.
val resolvedGridItemsResult =
resolveGridItemIndices(
measurables = measurables,
columnSpecs = gridConfig.columnSpecs,
rowSpecs = gridConfig.rowSpecs,