A user-defined identifier for a particular piece of Content. See Content creation functions
(e.g. [CreateViewport
], [CreateImage
]) for more information.
IdGenerator generates a monotonically-increasing sequence of IDs, either TransformIds or
ContentIds, depending on what the caller asks for. The ID values are unique both across and
within ID types, e.g. a given IdGenerator will not generate two TransformIds with the same
value, nor a TransformId and a ContentId with the same value.
The return type of [GetLayout
]. This table contains most of the information necessary
for a client to decide how to layout their content in a Flatland instance. This data may be
provided to the client before the command that creates the View is presented, so that the
client may lay out content properly before their first call to [Present
].
Arguments passed into [Present
]. All arguments are optional, and if an
argument is omitted Flatland will use a reasonable default, specified below.
The times we predict for a future presentation, expressed in nanoseconds in
the CLOCK_MONOTONIC
timebase.
A user-defined identifier for a particular transform. See [CreateTransform
] and
[ReleaseTransform
] for more information.
The protocol endpoints bound to a Flatland ViewCreationToken. These protocols operate on the
View that ViewCreationToken created in the Flatland session.
Two Flatland instances may be connected in a parent-child relationship. The child endpoint is
held in a View. This view is strongly associated with a ViewRef and other related protocols.
Two Flatland instances may be connected in a parent-child relationship. The parent endpoint is
held in a Viewport.
The properties of a Viewport as defined by the parent. This data, along with the set of attached
Transforms, will be used to compute the LayoutInfo for the View of the Viewport.
ViewportProperties
must have logical_size
set at least once. This is the initial size that
will drive the layout of the child.