5#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_PLATFORM_VIEW_EMBEDDER_H_
6#define FLUTTER_SHELL_PLATFORM_EMBEDDER_PLATFORM_VIEW_EMBEDDER_H_
11#include "flutter/fml/macros.h"
12#include "flutter/shell/common/platform_view.h"
13#include "flutter/shell/platform/embedder/embedder.h"
14#include "flutter/shell/platform/embedder/embedder_surface.h"
15#include "flutter/shell/platform/embedder/embedder_surface_software.h"
16#include "flutter/shell/platform/embedder/vsync_waiter_embedder.h"
19#include "flutter/shell/platform/embedder/embedder_surface_gl_impeller.h"
20#include "flutter/shell/platform/embedder/embedder_surface_gl_skia.h"
23#ifdef SHELL_ENABLE_METAL
24#include "flutter/shell/platform/embedder/embedder_surface_metal_skia.h"
27#ifdef SHELL_ENABLE_VULKAN
28#include "flutter/shell/platform/embedder/embedder_surface_vulkan.h"
41 std::function<std::unique_ptr<std::vector<std::string>>(
42 const std::vector<std::string>& supported_locale_data)>;
62 software_dispatch_table,
64 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
71 std::unique_ptr<EmbedderSurface> embedder_surface,
73 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
76#ifdef SHELL_ENABLE_METAL
81 std::unique_ptr<EmbedderSurface> embedder_surface,
83 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
86#ifdef SHELL_ENABLE_VULKAN
91 std::unique_ptr<EmbedderSurfaceVulkan> embedder_surface,
93 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
112 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder_;
113 std::unique_ptr<EmbedderSurface> embedder_surface_;
114 std::shared_ptr<EmbedderPlatformMessageHandler> platform_message_handler_;
118 std::unique_ptr<Surface> CreateRenderingSurface()
override;
121 std::shared_ptr<ExternalViewEmbedder> CreateExternalViewEmbedder()
override;
124 std::shared_ptr<impeller::Context> GetImpellerContext()
const override;
130 std::unique_ptr<VsyncWaiter> CreateVSyncWaiter()
override;
133 void OnPreEngineRestart()
const override;
136 std::unique_ptr<std::vector<std::string>> ComputePlatformResolvedLocales(
137 const std::vector<std::string>& supported_locale_data)
override;
140 void SendChannelUpdate(
const std::string&
name,
bool listening)
override;
std::function< void(intptr_t)> VsyncCallback
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
Dart_NativeFunction function
std::unordered_map< int32_t, SemanticsNode > SemanticsNodeUpdates
std::unordered_map< int32_t, CustomAccessibilityAction > CustomAccessibilityActionUpdates
DEF_SWITCHES_START aot vmservice shared library name