class BufferCollageFlatland

Defined at line 80 of file ../../src/camera/bin/camera-gym/buffer_collage_flatland.h

This class takes ownership of the display and presents the contents of buffer collections in a

grid pattern. Unless otherwise noted, public methods are thread-safe and private methods must

only be called from the loop's thread.

Public Methods

void ~BufferCollageFlatland ()

Defined at line 49 of file ../../src/camera/bin/camera-gym/buffer_collage_flatland.cc

fpromise::result<std::unique_ptr<BufferCollageFlatland>, zx_status_t> Create (std::unique_ptr<simple_present::FlatlandConnection> flatland_connection, fuchsia::ui::composition::AllocatorHandle flatland_allocator, fuchsia::element::GraphicalPresenterHandle graphical_presenter, fuchsia::sysmem2::AllocatorHandle sysmem_allocator, fit::closure stop_callback)

Creates a new BufferCollage instance using the provided interface handles. After returning, if

the instance stops running, either due to an error or explicit action, |stop_callback| is

invoked exactly once if non-null.

Defined at line 56 of file ../../src/camera/bin/camera-gym/buffer_collage_flatland.cc

fpromise::promise<uint32_t> AddCollection (fuchsia::sysmem2::BufferCollectionTokenHandle token, fuchsia::images2::ImageFormat image_format, std::string description)

Called by stream_cycler when a new camera stream is available.

Defined at line 95 of file ../../src/camera/bin/camera-gym/buffer_collage_flatland.cc

void RemoveCollection (uint32_t collection_id)

Removes the collection with the given |collection_id| from the view and updates the layout to

fill the vacated space. If |id| is not a valid collection, the instance stops.

Defined at line 225 of file ../../src/camera/bin/camera-gym/buffer_collage_flatland.cc

void PostShowBuffer (uint32_t collection_id, uint32_t buffer_index, zx::eventpair * release_fence, std::optional<fuchsia::math::RectF> subregion)

Updates the view to show the given |buffer_index| in for the given |collection_id|'s node.

Holds |release_fence| until the buffer is no longer needed, then closes the handle. If

non-null, |subregion| specifies what sub-region of the buffer to highlight.

Defined at line 267 of file ../../src/camera/bin/camera-gym/buffer_collage_flatland.cc

void PresentView ()

Present view to graphical presenter.

Defined at line 393 of file ../../src/camera/bin/camera-gym/buffer_collage_flatland.cc