class ScreenCapture

Defined at line 1256 of file fidling/gen/sdk/fidl/fuchsia.ui.composition.internal/fuchsia.ui.composition.internal/hlcpp/fuchsia/ui/composition/internal/cpp/fidl.h

Provides a low-level streaming 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.

Public Members

static const char[] Name_

Public Methods

void ~ScreenCapture ()
void Configure (::fuchsia::ui::composition::internal::ScreenCaptureConfig ScreenCaptureConfig, ConfigureCallback callback)

Clients should first use the ['fuchsia.ui.composition/Allocator']

protocol to register a BufferCollection.

Similarly, the clients are responsible for specifying a buffer big

enough for the image. If the buffer is too small, an

attempt will be made to render the image, however, it will not be

guaranteed to contain the complete image.

void GetNextFrame (GetNextFrameCallback callback)

[`GetNextFrame`] returns the latest unseen-by-the-client frame as soon

as possible. On the first call to [`GetNextFrame`] and any subsequent

calls that have not recieved the previous expected requested frame,

[`GetNextFrame`] will return immediately with the last frame to be

rendered. If the client had requested the previous frame, the server

will wait until the next frame is produced to return.

After the client finishes processing the returned buffer, they should

drop the eventpair to signal to the server that the buffer can be

re-used.

It is invalid to call [`GetNextFrame`] while a previous call is still

pending. Doing so will return a BAD_HANGING_GET error and cause the

channel to close.