Measurable

sealed interface Measurable : IntrinsicMeasurable

One child of a container that can answer both intrinsic and constrained measurement questions.

Swing widgets expose argument-less preferred and minimum sizes, rather than a cross-axis-sensitive intrinsic protocol. Foundation therefore answers its intrinsic functions from those stock Swing sizes, while a Constrainable, such as a policy container, returns them at the specified extent.

Properties

Link copied to clipboard
abstract val parentData: Any?

What the child declared to this container - a weight, an alignment, a scope's own value.

Functions

Link copied to clipboard
open fun intrinsicPlaceable(width: Int, height: Int): Placeable?

A stand-in for this child at width by height, which a policy answering an intrinsic question reads alignment lines from without measuring the child, or null where it has none. A component answers FirstBaseline with its Swing baseline at that size, and each of its layout modifiers moves or names lines through LayoutModifierNode.intrinsicPlaceable. Placing it has no effect. Null by default.

Link copied to clipboard
open fun maximumSize(): Dimension?

The maximum size set on this child's component, which a Row, Column or Box holds the whole child to, outside its layout modifiers, or null where none is set. Null by default.

Link copied to clipboard
abstract fun maxIntrinsicHeight(width: Int): Int

The height beyond which growing this child no longer reduces its width at width. A direct intrinsic read carries no width offer; see IntrinsicMeasureScope.offeredMinWidth.

Link copied to clipboard
abstract fun maxIntrinsicWidth(height: Int): Int

The width beyond which growing this child no longer reduces its height at height.

Link copied to clipboard
abstract fun measure(constraints: Constraints): Placeable

The extent the child takes under constraints.

Link copied to clipboard
abstract fun minIntrinsicHeight(width: Int): Int

The least height that lets this child paint correctly when it is width wide. A direct intrinsic read carries no width offer; see IntrinsicMeasureScope.offeredMinWidth.

Link copied to clipboard
abstract fun minIntrinsicWidth(height: Int): Int

The least width that lets this child paint correctly when it is height tall.

Link copied to clipboard

This measurable under a width offer from minWidth, in place of any offer it carries: its height is read at a width, it returns the same results as when measured under an offer from minWidth, held to that width, up to that width. Its width intrinsic reads are its own.