ExpandedSurfacePresentationRequest

A request to take the expanded shelf over with one of your surfaces.

struct ExpandedSurfacePresentationRequest

Initializers

init(surfaceID:displayID:opensShelf:autoCollapseGrace:triggersHaptic:)

init(surfaceID: ExpandedSurfaceID, displayID: UInt32? = nil, opensShelf: Bool = true, autoCollapseGrace: TimeInterval? = nil, triggersHaptic: Bool = true)

Creates a request.

Properties

autoCollapseGrace

let autoCollapseGrace: TimeInterval?

How long the host holds the shelf open against its own auto-collapse timer, in seconds. nil uses the host's standard grace period, and it is ignored entirely by a descriptor that suppresses autoCollapse.

displayID

let displayID: UInt32?

Which display to present on. nil lets the host choose, which is almost always what you want: it resolves the same display its own surfaces would open on, following the pointer.

opensShelf

let opensShelf: Bool

Whether the host should open its shelf if it is currently closed.

true is the takeover shape: the user pressed a shortcut and expects something to appear. false is for a surface that only makes sense inside a shelf the user already opened, and makes the call a no-op rather than a summons when the shelf is closed.

surfaceID

let surfaceID: ExpandedSurfaceID

The surface to present. Must be an id the droplet publishes through expandedSurfaces; the host refuses ids it does not recognize.

triggersHaptic

let triggersHaptic: Bool

True when the presentation should fire the host's standard open haptic.