5 #ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_ACCESSIBILITY_BRIDGE_H_
6 #define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_ACCESSIBILITY_BRIDGE_H_
8 #import <UIKit/UIKit.h>
11 #include <unordered_map>
12 #include <unordered_set>
15 #include "flutter/fml/macros.h"
16 #include "flutter/fml/memory/weak_ptr.h"
17 #include "flutter/lib/ui/semantics/custom_accessibility_action.h"
18 #include "flutter/lib/ui/semantics/semantics_node.h"
25 #include "third_party/skia/include/core/SkRect.h"
54 std::unique_ptr<IosDelegate> ios_delegate =
nullptr);
58 const flutter::CustomAccessibilityActionUpdates& actions);
59 void HandleEvent(NSDictionary<NSString*, id>* annotatedEvent);
62 flutter::SemanticsAction action,
63 fml::MallocMapping args)
override;
69 UIView*
view()
const override {
return view_controller_.view; }
73 fml::WeakPtr<AccessibilityBridge>
GetWeakPtr();
76 return platform_views_controller_;
82 SemanticsObject* GetOrCreateObject(int32_t
id, flutter::SemanticsNodeUpdates& updates);
90 NSMutableArray<NSNumber*>* doomed_uids);
98 int32_t last_focused_semantics_object_id_;
100 NSMutableDictionary<NSNumber*, SemanticsObject*>* objects_;
102 int32_t previous_route_id_ = 0;
103 std::unordered_map<int32_t, flutter::CustomAccessibilityAction> actions_;
104 std::vector<int32_t> previous_routes_;
105 std::unique_ptr<IosDelegate> ios_delegate_;
106 fml::WeakPtrFactory<AccessibilityBridge> weak_factory_;
112 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_ACCESSIBILITY_BRIDGE_H_