5 #ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_PLATFORM_VIEW_IOS_H_
6 #define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_PLATFORM_VIEW_IOS_H_
10 #include "flutter/fml/closure.h"
11 #include "flutter/fml/macros.h"
12 #include "flutter/shell/common/platform_view.h"
42 const std::shared_ptr<IOSContext>& context,
44 const flutter::TaskRunners& task_runners);
47 PlatformView::Delegate& delegate,
50 const flutter::TaskRunners& task_runners,
51 const std::shared_ptr<fml::ConcurrentTaskRunner>& worker_task_runner,
52 const std::shared_ptr<const fml::SyncSwitch>& is_gpu_disabled_sync_switch);
107 flutter::SemanticsNodeUpdates update,
108 flutter::CustomAccessibilityActionUpdates actions) override;
118 const std::vector<std::
string>& supported_locale_data) override;
124 return platform_message_handler_;
128 return platform_message_handler_;
134 class ScopedObserver {
138 void reset(id<NSObject> observer);
139 ScopedObserver(
const ScopedObserver&) =
delete;
140 ScopedObserver& operator=(
const ScopedObserver&) =
delete;
143 id<NSObject> observer_ = nil;
148 class AccessibilityBridgeManager {
150 explicit AccessibilityBridgeManager(
const std::function<
void(
bool)>& set_semantics_enabled);
151 AccessibilityBridgeManager(
const std::function<
void(
bool)>& set_semantics_enabled,
152 AccessibilityBridge* bridge);
153 explicit operator bool() const noexcept {
return static_cast<bool>(accessibility_bridge_); }
154 AccessibilityBridge* get() const noexcept {
return accessibility_bridge_.get(); }
155 void Set(std::unique_ptr<AccessibilityBridge> bridge);
159 FML_DISALLOW_COPY_AND_ASSIGN(AccessibilityBridgeManager);
160 std::unique_ptr<AccessibilityBridge> accessibility_bridge_;
161 std::function<void(
bool)> set_semantics_enabled_;
167 std::mutex ios_surface_mutex_;
168 std::unique_ptr<IOSSurface> ios_surface_;
169 std::shared_ptr<IOSContext> ios_context_;
171 AccessibilityBridgeManager accessibility_bridge_;
172 ScopedObserver dealloc_view_controller_observer_;
173 std::vector<std::string> platform_resolved_locale_;
174 std::shared_ptr<PlatformMessageHandlerIos> platform_message_handler_;
Manages the lifetime of the on-screen and off-screen rendering contexts on iOS. On-screen contexts ar...