class FlatlandManager

Defined at line 30 of file ../../src/ui/scenic/lib/flatland/flatland_manager.h

Public Methods

void FlatlandManager (async_dispatcher_t * dispatcher, const std::shared_ptr<FlatlandPresenter> & flatland_presenter, const std::shared_ptr<UberStructSystem> & uber_struct_system, const std::shared_ptr<LinkSystem> & link_system, std::shared_ptr<display::Display> display, std::vector<std::shared_ptr<allocation::BufferCollectionImporter>> buffer_collection_importers, fit::function<void (fidl::InterfaceRequest<fuchsia::ui::views::Focuser>, zx_koid_t)> register_view_focuser, fit::function<void (fidl::InterfaceRequest<fuchsia::ui::views::ViewRefFocused>, zx_koid_t)> register_view_ref_focused, fit::function<void (fidl::InterfaceRequest<fuchsia::ui::pointer::TouchSource>, zx_koid_t)> register_touch_source, fit::function<void (fidl::InterfaceRequest<fuchsia::ui::pointer::MouseSource>, zx_koid_t)> register_mouse_source)

Defined at line 23 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc

void ~FlatlandManager ()

Defined at line 64 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc

size_t GetAliveSessionCount ()

Sessions still alive (but which might have been remove from FlatlandManager).

Defined at line 78 of file ../../src/ui/scenic/lib/flatland/flatland_manager.h

scheduling::SessionId CreateFlatland (fidl::InterfaceRequest<fuchsia::ui::composition::Flatland> flatland, fuchsia_ui_composition::TrustedFlatlandConfig config)

Defined at line 79 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc

void CreateFlatlandDisplay (fidl::InterfaceRequest<fuchsia::ui::composition::FlatlandDisplay> flatland)

TODO(https://fxbug.dev/42156949): This creates a FlatlandDisplay attached to the "primary"

hardware display (i.e. the only one supported). In the future there will be APIs that allow

clients to enumerate the displays, and to allow creation of a FlatlandDisplay bound to a

specific one of them. For now, attempts to create a second concurrent FlatlandDisplay (or

gfx::DisplayCompositor) will fail.

Defined at line 192 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc

void UpdateInstances (const std::unordered_map<scheduling::SessionId, scheduling::PresentId> & instance_to_update)

Called at FrameScheduler UpdateSessions time.

Defined at line 248 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc

void SendHintsToStartRendering ()

Called at FrameScheduler OnCpuWorkDone time.

Defined at line 276 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc

void OnFramePresented (const std::unordered_map<scheduling::SessionId, std::map<scheduling::PresentId, zx::time>> & latched_times, scheduling::PresentTimestamps present_times)

Called at FrameScheduler OnFramePresented time.

Defined at line 320 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc

size_t GetSessionCount ()

For validating test logic.

Sessions still "owned" by FlatlandManager.

Defined at line 341 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc

std::shared_ptr<FlatlandDisplay> GetPrimaryFlatlandDisplayForRendering ()

TODO(https://fxbug.dev/42156949): This is method assumes that there are either 0 or 1

displays with attached Flatland content.

Defined at line 451 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc