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.