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>
13 #include "flutter/fml/macros.h"
18 #include "flutter/shell/platform/embedder/embedder.h"
29 using LayerVariant = std::variant<PlatformViewLayer, BackingStoreLayer>;
53 void AddView(FlutterViewId view_id);
74 FlutterBackingStore* backing_store_out);
91 void PresentPlatformViews(
FlutterView* default_base_view,
92 const std::vector<LayerVariant>& layers,
97 NSMapTable<NSView*, FlutterMutatorView*>* mutator_views_;
108 size_t layer_position,
111 FML_DISALLOW_COPY_AND_ASSIGN(ViewPresenter);
115 id<FlutterViewProvider>
const view_provider_;
124 std::unordered_map<FlutterViewId, ViewPresenter> presenters_;
131 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_MACOS_FRAMEWORK_SOURCE_FLUTTERCOMPOSITOR_H_