ExpandedSurfaceSizeProposal

What the host offers before asking a droplet how big its surface wants to be.

struct ExpandedSurfaceSizeProposal

Deliberately carries no transition flag. The host freezes your answer for the duration of its own open and close spring, so a droplet that also smoothed its answer would produce two interpolations of one number and the shelf would arrive at the wrong height. Answer with the size you want right now and let the host hold it.

Initializers

init(standardSize:maximumSize:surface:displayID:)

init(standardSize: CGSize, maximumSize: CGSize, surface: DropletSurfaceKind, displayID: UInt32)

Creates a proposal. Constructed by hosts, read by droplets.

Properties

displayID

let displayID: UInt32

The display the size is for.

maximumSize

let maximumSize: CGSize

The ceiling for this display and surface style. The host clamps to it rather than refusing, so asking for more is safe and simply lands here.

standardSize

let standardSize: CGSize

The size the host would use for a surface that expresses no preference.

surface

let surface: DropletSurfaceKind

The surface kind the size is for.