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>;
62 FlutterBackingStore* backing_store_out);
74 void PresentPlatformViews(
FlutterView* default_base_view,
75 const std::vector<LayerVariant>& layers,
80 NSMapTable<NSView*, FlutterMutatorView*>* mutator_views_;
91 size_t layer_position,
94 FML_DISALLOW_COPY_AND_ASSIGN(ViewPresenter);
98 id<FlutterViewProvider>
const view_provider_;
106 std::unordered_map<int64_t, ViewPresenter> presenters_;
113 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_MACOS_FRAMEWORK_SOURCE_FLUTTERCOMPOSITOR_H_