Flutter Engine
The Flutter Engine
flutter_platform_node_delegate_windows.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_PLATFORM_NODE_DELEGATE_WINDOWS_H_
6#define FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_PLATFORM_NODE_DELEGATE_WINDOWS_H_
7
8#include "flutter/fml/macros.h"
9#include "flutter/shell/platform/common/flutter_platform_node_delegate.h"
10#include "flutter/shell/platform/windows/flutter_windows_view.h"
11#include "flutter/third_party/accessibility/ax/platform/ax_platform_node.h"
12#include "flutter/third_party/accessibility/ax/platform/ax_unique_id.h"
13
14namespace flutter {
15
16// The Windows implementation of FlutterPlatformNodeDelegate.
17//
18// This class implements a wrapper around the Windows accessibility objects
19// that compose the accessibility tree.
21 public:
22 FlutterPlatformNodeDelegateWindows(std::weak_ptr<AccessibilityBridge> bridge,
23 FlutterWindowsView* view);
25
26 // |ui::AXPlatformNodeDelegate|
27 void Init(std::weak_ptr<OwnerBridge> bridge, ui::AXNode* node) override;
28
29 // |ui::AXPlatformNodeDelegate|
31
32 // |ui::AXPlatformNodeDelegate|
34 int screen_physical_pixel_x,
35 int screen_physical_pixel_y) const override;
36
37 // |FlutterPlatformNodeDelegate|
39 const ui::AXCoordinateSystem coordinate_system,
40 const ui::AXClippingBehavior clipping_behavior,
41 ui::AXOffscreenResult* offscreen_result) const override;
42
43 // Dispatches a Windows accessibility event of the specified type, generated
44 // by the accessibility node associated with this object. This is a
45 // convenience wrapper around |NotifyWinEvent|.
47
48 // Sets the accessibility focus to the accessibility node associated with
49 // this object.
50 void SetFocus();
51
52 // | AXPlatformNodeDelegate |
53 gfx::AcceleratedWidget GetTargetForNativeAccessibilityEvent() override;
54
55 // | FlutterPlatformNodeDelegate |
56 ui::AXPlatformNode* GetPlatformNode() const override;
57
58 private:
59 ui::AXPlatformNode* ax_platform_node_;
60 std::weak_ptr<AccessibilityBridge> bridge_;
61 FlutterWindowsView* view_;
62
63 FML_DISALLOW_COPY_AND_ASSIGN(FlutterPlatformNodeDelegateWindows);
64};
65
66} // namespace flutter
67
68#endif // FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_PLATFORM_NODE_DELEGATE_WINDOWS_H_
ax::mojom::Event event_type
void Init(std::weak_ptr< OwnerBridge > bridge, ui::AXNode *node) override
Called only once, immediately after construction. The constructor doesn't take any arguments because ...
virtual void DispatchWinAccessibilityEvent(ax::mojom::Event event_type)
FlutterPlatformNodeDelegateWindows(std::weak_ptr< AccessibilityBridge > bridge, FlutterWindowsView *view)
gfx::NativeViewAccessible HitTestSync(int screen_physical_pixel_x, int screen_physical_pixel_y) const override
gfx::Rect GetBoundsRect(const ui::AXCoordinateSystem coordinate_system, const ui::AXClippingBehavior clipping_behavior, ui::AXOffscreenResult *offscreen_result) const override
Definition: rect.h:36
UnimplementedNativeViewAccessible * NativeViewAccessible