7#include "flutter/shell/platform/windows/flutter_platform_node_delegate_windows.h"
9#include "flutter/fml/logging.h"
10#include "flutter/shell/platform/windows/accessibility_bridge_windows.h"
11#include "flutter/shell/platform/windows/flutter_windows_view.h"
12#include "flutter/third_party/accessibility/ax/ax_clipping_behavior.h"
13#include "flutter/third_party/accessibility/ax/ax_coordinate_system.h"
14#include "flutter/third_party/accessibility/ax/platform/ax_fragment_root_win.h"
19 std::weak_ptr<AccessibilityBridge> bridge,
21 : bridge_(bridge), view_(view) {
23 <<
"Expired AccessibilityBridge passed to node delegate";
28 if (ax_platform_node_) {
38 FML_DCHECK(ax_platform_node_) <<
"Failed to create AXPlatformNode";
44 FML_DCHECK(ax_platform_node_) <<
"AXPlatformNode hasn't been created";
50 int screen_physical_pixel_x,
51 int screen_physical_pixel_y)
const {
56 gfx::Point screen_point(screen_physical_pixel_x, screen_physical_pixel_y);
57 if (!
rect.Contains(screen_point)) {
62 auto bridge = bridge_.lock();
65 std::shared_ptr<FlutterPlatformNodeDelegateWindows> win_delegate =
66 std::static_pointer_cast<FlutterPlatformNodeDelegateWindows>(
67 bridge->GetFlutterPlatformNodeDelegateFromID(child->id()).lock());
69 <<
"No FlutterPlatformNodeDelegate found for node " << child->id();
70 auto hit_view = win_delegate->HitTestSync(screen_physical_pixel_x,
71 screen_physical_pixel_y);
87 coordinate_system, clipping_behavior, offscreen_result);
92 return gfx::Rect(origin.x, origin.y, extent.x - origin.x,
104 varchild.lVal = CHILDID_SELF;
108gfx::AcceleratedWidget
115 return ax_platform_node_;
ax::mojom::Event event_type
virtual HWND GetWindowHandle() const
#define FML_DCHECK(condition)
Optional< SkRect > bounds
sk_sp< SkBlender > blender SkRect rect
UnimplementedNativeViewAccessible * NativeViewAccessible