- add sources.
[platform/framework/web/crosswalk.git] / src / ui / base / accessibility / accessibility_types.h
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
3 // found in the LICENSE file.
4
5 #ifndef UI_BASE_ACCESSIBILITY_ACCESSIBILITY_TYPES_H_
6 #define UI_BASE_ACCESSIBILITY_ACCESSIBILITY_TYPES_H_
7
8 #include "base/basictypes.h"
9
10 namespace ui {
11
12 ////////////////////////////////////////////////////////////////////////////////
13 //
14 // AccessibilityTypes
15 //
16 // Provides enumerations used to preserve platform-independence in
17 // accessibility functions.
18 //
19 ////////////////////////////////////////////////////////////////////////////////
20 class AccessibilityTypes {
21  public:
22
23   // This defines states of the supported accessibility roles in our
24   // Views (e.g. used in View::GetAccessibleState). Any interface using states
25   // must provide a conversion to its own states (see e.g.
26   // NativeViewAccessibilityWin::get_accState).
27   typedef uint32 State;
28   enum StateFlag {
29     STATE_CHECKED     = 1 << 0,
30     STATE_COLLAPSED   = 1 << 1,
31     STATE_DEFAULT     = 1 << 2,
32     STATE_EDITABLE    = 1 << 3,
33     STATE_EXPANDED    = 1 << 4,
34     STATE_FOCUSED     = 1 << 5,
35     STATE_HASPOPUP    = 1 << 6,
36     STATE_HOTTRACKED  = 1 << 7,
37     STATE_INVISIBLE   = 1 << 8,
38     STATE_LINKED      = 1 << 9,
39     STATE_OFFSCREEN   = 1 << 10,
40     STATE_PRESSED     = 1 << 11,
41     STATE_PROTECTED   = 1 << 12,
42     STATE_READONLY    = 1 << 13,
43     STATE_SELECTED    = 1 << 14,
44     STATE_UNAVAILABLE = 1 << 15
45   };
46
47   // This defines an enumeration of the supported accessibility roles in our
48   // Views (e.g. used in View::GetAccessibleRole). Any interface using roles
49   // must provide a conversion to its own roles (see e.g.
50   // NativeViewAccessibilityWin::get_accRole).
51   enum Role {
52     ROLE_ALERT,
53     ROLE_APPLICATION,
54     ROLE_BUTTONDROPDOWN,
55     ROLE_BUTTONMENU,
56     ROLE_CHECKBUTTON,
57     ROLE_CLIENT,
58     ROLE_COMBOBOX,
59     ROLE_DIALOG,
60     ROLE_GRAPHIC,
61     ROLE_GROUPING,
62     ROLE_LINK,
63     ROLE_LOCATION_BAR,
64     ROLE_MENUBAR,
65     ROLE_MENUITEM,
66     ROLE_MENUPOPUP,
67     ROLE_OUTLINE,
68     ROLE_OUTLINEITEM,
69     ROLE_PAGETAB,
70     ROLE_PAGETABLIST,
71     ROLE_PANE,
72     ROLE_PROGRESSBAR,
73     ROLE_PUSHBUTTON,
74     ROLE_RADIOBUTTON,
75     ROLE_SCROLLBAR,
76     ROLE_SEPARATOR,
77     ROLE_SLIDER,
78     ROLE_STATICTEXT,
79     ROLE_TEXT,
80     ROLE_TITLEBAR,
81     ROLE_TOOLBAR,
82     ROLE_WINDOW
83   };
84
85   // This defines an enumeration of the supported accessibility events in our
86   // Views (e.g. used in View::NotifyAccessibilityEvent). Any interface using
87   // events must provide a conversion to its own events (see e.g.
88   // ViewAccessibility::MSAAEvent).
89   enum Event {
90     EVENT_ALERT,
91     EVENT_FOCUS,
92     EVENT_MENUSTART,
93     EVENT_MENUEND,
94     EVENT_MENUPOPUPSTART,
95     EVENT_MENUPOPUPEND,
96     EVENT_NAME_CHANGED,
97     EVENT_TEXT_CHANGED,
98     EVENT_SELECTION_CHANGED,
99     EVENT_VALUE_CHANGED
100   };
101
102  private:
103   // Do not instantiate this class.
104   AccessibilityTypes() {}
105   ~AccessibilityTypes() {}
106 };
107
108 }  // namespace ui
109
110 #endif  // UI_BASE_ACCESSIBILITY_ACCESSIBILITY_TYPES_H_