5#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_MACOS_FRAMEWORK_SOURCE_FLUTTERCOMPOSITOR_H_
6#define FLUTTER_SHELL_PLATFORM_DARWIN_MACOS_FRAMEWORK_SOURCE_FLUTTERCOMPOSITOR_H_
10#include <unordered_map>
29using LayerVariant = std::variant<PlatformViewLayer, BackingStoreLayer>;
91 void PresentPlatformViews(
FlutterView* default_base_view,
92 const std::vector<LayerVariant>&
layers,
97 NSMapTable<NSView*, FlutterMutatorView*>* mutator_views_;
108 size_t layer_position,
115 id<FlutterViewProvider>
const view_provider_;
124 std::unordered_map<FlutterViewId, ViewPresenter> presenters_;
bool CreateBackingStore(const FlutterBackingStoreConfig *config, FlutterBackingStore *backing_store_out)
bool Present(FlutterViewIdentifier view_id, const FlutterLayer **layers, size_t layers_count)
void AddView(FlutterViewId view_id)
void RemoveView(FlutterViewId view_id)
~FlutterCompositor()=default
const FlutterLayer size_t layers_count
const FlutterLayer ** layers
G_BEGIN_DECLS FlutterViewId view_id
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
Converts between the time representation used by Flutter Engine and CAMediaTime.
std::variant< PlatformViewLayer, BackingStoreLayer > LayerVariant
std::vector< FlutterRect > paint_region