5#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_PLATFORM_VIEW_EMBEDDER_H_
6#define FLUTTER_SHELL_PLATFORM_EMBEDDER_PLATFORM_VIEW_EMBEDDER_H_
23#ifdef SHELL_ENABLE_METAL
27#ifdef SHELL_ENABLE_VULKAN
29#ifdef IMPELLER_SUPPORTS_RENDERING
39 std::function<void(int64_t
view_id,
43 std::function<void(std::unique_ptr<PlatformMessage>)>;
45 std::function<std::unique_ptr<std::vector<std::string>>(
46 const std::vector<std::string>& supported_locale_data)>;
70 software_dispatch_table,
72 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
79 std::unique_ptr<EmbedderSurface> embedder_surface,
81 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
84#ifdef SHELL_ENABLE_METAL
89 std::unique_ptr<EmbedderSurface> embedder_surface,
91 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
94#ifdef SHELL_ENABLE_VULKAN
99 std::unique_ptr<EmbedderSurfaceVulkan> embedder_surface,
101 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
121 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder_;
122 std::unique_ptr<EmbedderSurface> embedder_surface_;
123 std::shared_ptr<EmbedderPlatformMessageHandler> platform_message_handler_;
127 std::unique_ptr<Surface> CreateRenderingSurface()
override;
130 std::shared_ptr<ExternalViewEmbedder> CreateExternalViewEmbedder()
override;
133 std::shared_ptr<impeller::Context> GetImpellerContext()
const override;
136 sk_sp<GrDirectContext> CreateResourceContext()
const override;
139 std::unique_ptr<VsyncWaiter> CreateVSyncWaiter()
override;
142 void OnPreEngineRestart()
const override;
145 std::unique_ptr<std::vector<std::string>> ComputePlatformResolvedLocales(
146 const std::vector<std::string>& supported_locale_data)
override;
149 void SendChannelUpdate(
const std::string&
name,
bool listening)
override;
std::function< void(intptr_t)> VsyncCallback
G_BEGIN_DECLS GBytes * message
G_BEGIN_DECLS FlutterViewId view_id
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
std::unordered_map< int32_t, SemanticsNode > SemanticsNodeUpdates
std::unordered_map< int32_t, CustomAccessibilityAction > CustomAccessibilityActionUpdates
DEF_SWITCHES_START aot vmservice shared library name