A Stream of incoming requests for fuchsia.ui.composition/Allocator.
A typed wrapper for an eventpair, representing the registry endpoint of a buffer collection.
A typed wrapper for an eventpair, representing the Image import endpoint of a buffer
collection.
A Stream of incoming requests for fuchsia.ui.composition/ChildViewWatcher.
Represents a color with alpha channel.
Values are unorm (i.e. the valid range is [0,1]), and are in linear color
space. They are not gamma-corrected nor premultiplied.
A user-defined identifier for a particular piece of Content. See Content creation functions
(e.g. [CreateViewport
], [CreateImage
]) for more information.
A Stream of incoming requests for fuchsia.ui.composition/FlatlandDisplay.
A Stream of incoming requests for fuchsia.ui.composition/Flatland.
Metadata about the frame rendered by [GetNextFrame
].
The arguments passed into the [GetNextFrame
] call. All fields are necessary.
An interactive area of a View, placed in the coordinate space of a specific Transform.
The properties of an Image as defined by the client. These properties determine how an Image
uses the backing BufferCollection. See [CreateImage
] for more information.
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
].
Fields that a client needs in order to produce its next frame, returned in
[OnNextFrameBegin
]. Each field is guaranteed to be set and contain valid information.
A Stream of incoming requests for fuchsia.ui.composition/ParentViewportWatcher.
Arguments passed into [Present
]. All arguments are optional, and if an
argument is omitted Flatland will use a reasonable default, specified below.
The table of arguments for [RegisterBufferCollection
]. Note that some
fields below are REQUIRED.
The possible usages for a registered buffer collection. Can be a combination of options.
The arguments passed into the [Configure
] call. Note that not all fields are necessary.
A Stream of incoming requests for fuchsia.ui.composition/ScreenCapture.
A Stream of incoming requests for fuchsia.ui.composition/Screenshot.
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.
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.
The set of possible blending functions to choose from when determining how an image should
be composited on top of other images.
A protocol that provides information about a particular child View which is attached to the
Viewport owned by the parent client; connections to this protocol are estabished in
[CreateViewport
]. Since a Flatland instance may contain any number of Viewports, each of
which may or may not be attached to a transform, the client can maintain connections to an
equal number of ChildViewWatcher instances.
This API connects to the singleton “primary display”, and allows a tree of Flatland content to
be attached underneath. Only one FlatlandDisplay client connection is allowed at one time.
The set of error codes returned in [OnError
]. Everything except NO_ERROR, causes Flatland
channel to be closed.
Each Flatland instance contains a Graph, which consists of a set of objects, and the
relationships between those objects. The client can specify a subset of those objects
(specifically, the directed acyclic graph starting at the root transform) to be presented as
content to some kind of output – usually, a display.
The kind of hit test interaction expected for a hit region.
The set of possible image flip functions to choose from when determining how the image texture
should be displayed.
In Flatland, the +X axis is to the right and +Y axis is down. There is no notion of a Z axis.
Due to the lack of a Z axis, there is no mathematical notion of “handedness” (either right or
left) with respect to rotation. Thus, we define a counter-clockwise rotation in the same way
as if a skeuomorphic clock were to be displayed on the screen, with the hands of said clock
moving in a CCW motion from the POV of the observer.
ParentViewportWatchers will be informed when they are actively attached to a output display
(either directly, or through a chain of parent Viewports) and when they are not. Until they are
connected to a display, some pieces of information (such as pixel scale) may be unavailable.
A protocol that provides information about the parent Viewport attached to a Flatland instance’s
sole View. Although Flatland instances can have at most one view, it is possible to have
multiple ParentViewportWatchers during the brief transition period when replacing the instance’s
View with another, e.g. via [CreateView
]. During this period, certain updates may be
duplicated and sent to each ParentViewportWatcher connection.
The set of error codes returned by Allocator::RegisterBufferCollection().
The possible usages for registered buffer collection.
The rotation to be applied to the image.
The possible errors from the ScreenCapture protocol.
This protocol provides a low-level ScreenCapture API for clients to use.
ScreenCapture clients should familiarize themselves with the
[fuchsia.sysmem/BufferCollection
] and [fuchsia.ui.composition/Allocator
] protocols
as those are necessary to create the BufferCollections and images ScreenCapture uses.
The different formats of Screenshot that can be requested.
Collects the current graphical content of a display.