1 // Copyright 2014 The Chromium 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.
5 #ifndef UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_DELEGATE_H_
6 #define UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_DELEGATE_H_
8 #include "ui/accessibility/ax_enums.h"
9 #include "ui/accessibility/ax_export.h"
10 #include "ui/gfx/geometry/vector2d.h"
11 #include "ui/gfx/native_widget_types.h"
18 class AX_EXPORT AXPlatformNodeDelegate
{
20 // Get the accessibility data that should be exposed for this node.
21 virtual AXNodeData
* GetData() = 0;
23 // Get the parent of the node unless it's the root, then it returns NULL.
24 virtual gfx::NativeViewAccessible
GetParent() = 0;
26 // Get the number of children of this node.
27 virtual int GetChildCount() = 0;
29 // Get the child of a node from [0...GetChildCount() - 1]
30 virtual gfx::NativeViewAccessible
ChildAtIndex(int index
) = 0;
32 // Get the offset to convert local coordinates to screen global coordinates.
33 virtual gfx::Vector2d
GetGlobalCoordinateOffset() = 0;
38 virtual void NotifyAccessibilityEvent(ui::AXEvent event_type
) = 0;
44 #endif // UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_DELEGATE_H_