class FlatlandManager
Defined at line 33 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,std::function<void (fidl::ServerEnd<fuchsia_ui_views::Focuser>, zx_koid_t)>register_view_focuser,std::function<void (fidl::ServerEnd<fuchsia_ui_views::ViewRefFocused>, zx_koid_t)>register_view_ref_focused,std::function<void (fidl::ServerEnd<fuchsia_ui_pointer::TouchSource>, zx_koid_t)>register_touch_source,std::function<void (fidl::ServerEnd<fuchsia_ui_pointer::MouseSource>, zx_koid_t)>register_mouse_source,std::function<void (fidl::ServerEnd<fuchsia_ui_pointer::TouchSourceV2>, zx_koid_t)>register_touch_source_v2,std::function<void (fidl::ServerEnd<fuchsia_ui_pointer::MouseSourceV2>, zx_koid_t)>register_mouse_source_v2)
Defined at line 24 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc
void ~FlatlandManager ()
Defined at line 73 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 85 of file ../../src/ui/scenic/lib/flatland/flatland_manager.h
std::optional<scheduling::SessionId> CreateFlatland (fidl::ServerEnd<fuchsia_ui_composition::Flatland> flatland, const FlatlandConfig & config)
Defined at line 88 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc
void CreateFlatlandDisplay (fidl::ServerEnd<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 209 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 264 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc
void SendHintsToStartRendering ()
Called at FrameScheduler OnCpuWorkDone time.
Defined at line 292 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 346 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 367 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 501 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc
async_dispatcher_t * GetSessionDispatcherForTest (scheduling::SessionId session_id)
Defined at line 369 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc
std::vector<scheduling::SessionId> GetSessionIdsForTest ()
Defined at line 378 of file ../../src/ui/scenic/lib/flatland/flatland_manager.cc