15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// found in the LICENSE file. 45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#ifndef UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_BASE_H_ 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#define UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_BASE_H_ 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "ui/accessibility/ax_enums.h" 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "ui/accessibility/platform/ax_platform_node.h" 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "ui/gfx/geometry/rect.h" 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "ui/gfx/native_widget_types.h" 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace ui { 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class AXPlatformNodeDelegate; 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class AXPlatformNodeBase : public AXPlatformNode { 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) public: 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual void Init(AXPlatformNodeDelegate* delegate); 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // These are simple wrappers to our delegate. 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) AXRole GetRole() const; 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) gfx::Rect GetBoundsInScreen() const; 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) gfx::NativeViewAccessible GetParent(); 255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) int GetChildCount(); 265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) gfx::NativeViewAccessible ChildAtIndex(int index); 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // AXPlatformNode 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual void Destroy() OVERRIDE; 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual gfx::NativeViewAccessible GetNativeViewAccessible() OVERRIDE; 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) protected: 335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) AXPlatformNodeBase(); 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual ~AXPlatformNodeBase(); 355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) AXPlatformNodeDelegate* delegate_; // Weak. Owns this. 375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) private: 395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(AXPlatformNodeBase); 405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}; 415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} // namespace ui 435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif // UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_BASE_H_ 45