Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: ui/views/accessibility/native_view_accessibility_win.h

Issue 420653003: MacViews: Accessibility bridge (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix build Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_WIN_H_ 5 #ifndef UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_WIN_H_
6 #define UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_WIN_H_ 6 #define UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_WIN_H_
7 7
8 #include <atlbase.h> 8 #include <atlbase.h>
9 #include <atlcom.h> 9 #include <atlcom.h>
10 #include <oleacc.h> 10 #include <oleacc.h>
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 END_COM_MAP() 59 END_COM_MAP()
60 60
61 virtual ~NativeViewAccessibilityWin(); 61 virtual ~NativeViewAccessibilityWin();
62 62
63 // NativeViewAccessibility. 63 // NativeViewAccessibility.
64 virtual void NotifyAccessibilityEvent( 64 virtual void NotifyAccessibilityEvent(
65 ui::AXEvent event_type) OVERRIDE; 65 ui::AXEvent event_type) OVERRIDE;
66 virtual gfx::NativeViewAccessible GetNativeObject() OVERRIDE; 66 virtual gfx::NativeViewAccessible GetNativeObject() OVERRIDE;
67 virtual void Destroy() OVERRIDE; 67 virtual void Destroy() OVERRIDE;
68 68
69 void set_view(views::View* view) { view_ = view; }
70
71 // Supported IAccessible methods. 69 // Supported IAccessible methods.
72 70
73 // Retrieves the child element or child object at a given point on the screen. 71 // Retrieves the child element or child object at a given point on the screen.
74 virtual STDMETHODIMP accHitTest(LONG x_left, LONG y_top, VARIANT* child); 72 virtual STDMETHODIMP accHitTest(LONG x_left, LONG y_top, VARIANT* child);
75 73
76 // Performs the object's default action. 74 // Performs the object's default action.
77 STDMETHODIMP accDoDefaultAction(VARIANT var_id); 75 STDMETHODIMP accDoDefaultAction(VARIANT var_id);
78 76
79 // Retrieves the specified object's current screen location. 77 // Retrieves the specified object's current screen location.
80 STDMETHODIMP accLocation(LONG* x_left, 78 STDMETHODIMP accLocation(LONG* x_left,
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 // to an MSAA role. 356 // to an MSAA role.
359 static int32 MSAARole(ui::AXRole role); 357 static int32 MSAARole(ui::AXRole role);
360 358
361 // Returns a conversion from the State (as defined in ax_enums.idl) 359 // Returns a conversion from the State (as defined in ax_enums.idl)
362 // to MSAA states set. 360 // to MSAA states set.
363 static int32 MSAAState(const ui::AXViewState& state); 361 static int32 MSAAState(const ui::AXViewState& state);
364 362
365 protected: 363 protected:
366 NativeViewAccessibilityWin(); 364 NativeViewAccessibilityWin();
367 365
368 const View* view() const { return view_; }
369
370 private: 366 private:
371 // Determines navigation direction for accNavigate, based on left, up and 367 // Determines navigation direction for accNavigate, based on left, up and
372 // previous being mapped all to previous and right, down, next being mapped 368 // previous being mapped all to previous and right, down, next being mapped
373 // to next. Returns true if navigation direction is next, false otherwise. 369 // to next. Returns true if navigation direction is next, false otherwise.
374 bool IsNavDirNext(int nav_dir) const; 370 bool IsNavDirNext(int nav_dir) const;
375 371
376 // Determines if the navigation target is within the allowed bounds. Returns 372 // Determines if the navigation target is within the allowed bounds. Returns
377 // true if it is, false otherwise. 373 // true if it is, false otherwise.
378 bool IsValidNav(int nav_dir, 374 bool IsValidNav(int nav_dir,
379 int start_id, 375 int start_id,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 407
412 // Adds this view to alert_target_view_storage_ids_. 408 // Adds this view to alert_target_view_storage_ids_.
413 void AddAlertTarget(); 409 void AddAlertTarget();
414 410
415 // Removes this view from alert_target_view_storage_ids_. 411 // Removes this view from alert_target_view_storage_ids_.
416 void RemoveAlertTarget(); 412 void RemoveAlertTarget();
417 413
418 // Give CComObject access to the class constructor. 414 // Give CComObject access to the class constructor.
419 template <class Base> friend class CComObject; 415 template <class Base> friend class CComObject;
420 416
421 // Member View needed for view-specific calls.
422 View* view_;
423
424 // A unique id for each object, needed for IAccessible2. 417 // A unique id for each object, needed for IAccessible2.
425 long unique_id_; 418 long unique_id_;
426 419
427 // Next unique id to assign. 420 // Next unique id to assign.
428 static long next_unique_id_; 421 static long next_unique_id_;
429 422
430 // Circular queue size. 423 // Circular queue size.
431 static const int kMaxViewStorageIds = 20; 424 static const int kMaxViewStorageIds = 20;
432 425
433 // Circular queue of view storage ids corresponding to child ids 426 // Circular queue of view storage ids corresponding to child ids
434 // used to post notifications using NotifyWinEvent. 427 // used to post notifications using NotifyWinEvent.
435 static int view_storage_ids_[kMaxViewStorageIds]; 428 static int view_storage_ids_[kMaxViewStorageIds];
436 429
437 // Next index into |view_storage_ids_| to use. 430 // Next index into |view_storage_ids_| to use.
438 static int next_view_storage_id_index_; 431 static int next_view_storage_id_index_;
439 432
440 // A vector of view storage ids of views that have been the target of 433 // A vector of view storage ids of views that have been the target of
441 // an alert event, in order to provide an api to quickly identify all 434 // an alert event, in order to provide an api to quickly identify all
442 // open alerts. 435 // open alerts.
443 static std::vector<int> alert_target_view_storage_ids_; 436 static std::vector<int> alert_target_view_storage_ids_;
444 437
445 DISALLOW_COPY_AND_ASSIGN(NativeViewAccessibilityWin); 438 DISALLOW_COPY_AND_ASSIGN(NativeViewAccessibilityWin);
446 }; 439 };
447 440
448 } // namespace views 441 } // namespace views
449 442
450 #endif // UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_WIN_H_ 443 #endif // UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_WIN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698