push-include for #pragma pack(16)
[reactos.git] / reactos / w32api / include / oleacc.h
1 #ifndef _OLEACC_H
2 #define _OLEACC_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 #define DISPID_ACC_PARENT (-5000)
12 #define DISPID_ACC_CHILDCOUNT (-5001)
13 #define DISPID_ACC_CHILD (-5002)
14
15 #define DISPID_ACC_NAME (-5003)
16 #define DISPID_ACC_VALUE (-5004)
17 #define DISPID_ACC_DESCRIPTION (-5005)
18 #define DISPID_ACC_ROLE (-5006)
19 #define DISPID_ACC_STATE (-5007)
20 #define DISPID_ACC_HELP (-5008)
21 #define DISPID_ACC_HELPTOPIC (-5009)
22 #define DISPID_ACC_KEYBOARDSHORTCUT (-5010)
23 #define DISPID_ACC_FOCUS (-5011)
24 #define DISPID_ACC_SELECTION (-5012)
25 #define DISPID_ACC_DEFAULTACTION (-5013)
26
27 #define DISPID_ACC_SELECT (-5014)
28 #define DISPID_ACC_LOCATION (-5015)
29 #define DISPID_ACC_NAVIGATE (-5016)
30 #define DISPID_ACC_HITTEST (-5017)
31 #define DISPID_ACC_DODEFAULTACTION (-5018)
32
33 #define NAVDIR_DOWN 2
34 #define NAVDIR_FIRSTCHILD 7
35 #define NAVDIR_LASTCHILD 8
36 #define NAVDIR_LEFT 3
37 #define NAVDIR_NEXT 5
38 #define NAVDIR_PREVIOUS 6
39 #define NAVDIR_RIGHT 4
40 #define NAVDIR_UP 1
41
42 #define ROLE_SYSTEM_ALERT 8
43 #define ROLE_SYSTEM_ANIMATION 54
44 #define ROLE_SYSTEM_APPLICATION 14
45 #define ROLE_SYSTEM_BORDER 19
46 #define ROLE_SYSTEM_BUTTONDROPDOWN 56
47 #define ROLE_SYSTEM_BUTTONDROPDOWNGRID 58
48 #define ROLE_SYSTEM_BUTTONMENU 57
49 #define ROLE_SYSTEM_CARET 7
50 #define ROLE_SYSTEM_CELL 29
51 #define ROLE_SYSTEM_CHARACTER 32
52 #define ROLE_SYSTEM_CHART 17
53 #define ROLE_SYSTEM_CHECKBUTTON 44
54 #define ROLE_SYSTEM_CLIENT 10
55 #define ROLE_SYSTEM_CLOCK 61
56 #define ROLE_SYSTEM_COLUMN 27
57 #define ROLE_SYSTEM_COLUMNHEADER 25
58 #define ROLE_SYSTEM_COMBOBOX 46
59 #define ROLE_SYSTEM_CURSOR 6
60 #define ROLE_SYSTEM_DIAGRAM 53
61 #define ROLE_SYSTEM_DIAL 49
62 #define ROLE_SYSTEM_DIALOG 18
63 #define ROLE_SYSTEM_DOCUMENT 15
64 #define ROLE_SYSTEM_DROPLIST 47
65 #define ROLE_SYSTEM_EQUATION 55
66 #define ROLE_SYSTEM_GRAPHIC 40
67 #define ROLE_SYSTEM_GRIP 4
68 #define ROLE_SYSTEM_GROUPING 20
69 #define ROLE_SYSTEM_HELPBALLOON 31
70 #define ROLE_SYSTEM_HOTKEYFIELD 50
71 #define ROLE_SYSTEM_INDICATOR 39
72 #define ROLE_SYSTEM_LINK 30
73 #define ROLE_SYSTEM_LIST 33
74 #define ROLE_SYSTEM_LISTITEM 34
75 #define ROLE_SYSTEM_MENUBAR 2
76 #define ROLE_SYSTEM_MENUITEM 12
77 #define ROLE_SYSTEM_MENUPOPUP 11
78 #define ROLE_SYSTEM_OUTLINE 35
79 #define ROLE_SYSTEM_OUTLINEITEM 36
80 #define ROLE_SYSTEM_PAGETAB 37
81 #define ROLE_SYSTEM_PAGETABLIST 60
82 #define ROLE_SYSTEM_PANE 16
83 #define ROLE_SYSTEM_PROGRESSBAR 48
84 #define ROLE_SYSTEM_PROPERTYPAGE 38
85 #define ROLE_SYSTEM_PUSHBUTTON 43
86 #define ROLE_SYSTEM_RADIOBUTTON 45
87 #define ROLE_SYSTEM_ROW 28
88 #define ROLE_SYSTEM_ROWHEADER 26
89 #define ROLE_SYSTEM_SCROLLBAR 3
90 #define ROLE_SYSTEM_SEPARATOR 21
91 #define ROLE_SYSTEM_SLIDER 51
92 #define ROLE_SYSTEM_SOUND 5
93 #define ROLE_SYSTEM_SPINBUTTON 52
94 #define ROLE_SYSTEM_STATICTEXT 41
95 #define ROLE_SYSTEM_STATUSBAR 23
96 #define ROLE_SYSTEM_TABLE 24
97 #define ROLE_SYSTEM_TEXT 42
98 #define ROLE_SYSTEM_TITLEBAR 1
99 #define ROLE_SYSTEM_TOOLBAR 22
100 #define ROLE_SYSTEM_TOOLTIP 13
101 #define ROLE_SYSTEM_WHITESPACE 59
102 #define ROLE_SYSTEM_WINDOW 9
103
104 #ifndef STATE_SYSTEM_UNAVAILABLE
105 #define STATE_SYSTEM_UNAVAILABLE 0x00000001
106 #define STATE_SYSTEM_SELECTED 0x00000002
107 #define STATE_SYSTEM_FOCUSED 0x00000004
108 #define STATE_SYSTEM_PRESSED 0x00000008
109 #define STATE_SYSTEM_CHECKED 0x00000010
110 #define STATE_SYSTEM_MIXED 0x00000020
111 #define STATE_SYSTEM_INDETERMINATE STATE_SYSTEM_MIXED
112 #define STATE_SYSTEM_READONLY 0x00000040
113 #define STATE_SYSTEM_HOTTRACKED 0x00000080
114 #define STATE_SYSTEM_DEFAULT 0x00000100
115 #define STATE_SYSTEM_EXPANDED 0x00000200
116 #define STATE_SYSTEM_COLLAPSED 0x00000400
117 #define STATE_SYSTEM_BUSY 0x00000800
118 #define STATE_SYSTEM_FLOATING 0x00001000
119 #define STATE_SYSTEM_MARQUEED 0x00002000
120 #define STATE_SYSTEM_ANIMATED 0x00004000
121 #define STATE_SYSTEM_INVISIBLE 0x00008000
122 #define STATE_SYSTEM_OFFSCREEN 0x00010000
123 #define STATE_SYSTEM_SIZEABLE 0x00020000
124 #define STATE_SYSTEM_MOVEABLE 0x00040000
125 #define STATE_SYSTEM_SELFVOICING 0x00080000
126 #define STATE_SYSTEM_FOCUSABLE 0x00100000
127 #define STATE_SYSTEM_SELECTABLE 0x00200000
128 #define STATE_SYSTEM_LINKED 0x00400000
129 #define STATE_SYSTEM_TRAVERSED 0x00800000
130 #define STATE_SYSTEM_MULTISELECTABLE 0x01000000
131 #define STATE_SYSTEM_EXTSELECTABLE 0x02000000
132 #define STATE_SYSTEM_ALERT_LOW 0x04000000
133 #define STATE_SYSTEM_ALERT_MEDIUM 0x08000000
134 #define STATE_SYSTEM_ALERT_HIGH 0x10000000
135 #define STATE_SYSTEM_VALID 0x1fffffff
136 #endif
137
138 typedef enum tagSELFLAG
139 {
140 SELFLAG_NONE = 0,
141 SELFLAG_TAKEFOCUS = 1,
142 SELFLAG_TAKESELECTION = 2,
143 SELFLAG_EXTENDSELECTION = 4,
144 SELFLAG_ADDSELECTION = 8,
145 SELFLAG_REMOVESELECTION = 16
146 } SELFLAG;
147
148 #define SELFLAG_VALID 0x0000001F
149
150 /* DEFINE_GUID(LIBID_Accessibility, 0x1ea4dbf0, 0x3c3b,0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); */
151 /* DEFINE_GUID(IID_IAccessible, 0x618736e0, 0x3c3d,0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); */
152 EXTERN_C const IID LIBID_Accessibility;
153 EXTERN_C const IID IID_IAccessible;
154
155 #define INTERFACE IAccessible
156 DECLARE_INTERFACE_(IAccessible, IDispatch)
157 {
158 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
159 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
160 STDMETHOD_(ULONG,Release)(THIS) PURE;
161 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
162 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
163 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
164 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
165
166 STDMETHOD(get_accParent)(THIS_ IDispatch**) PURE;
167 STDMETHOD(get_accChildCount)(THIS_ long*) PURE;
168 STDMETHOD(get_accChild)(THIS_ VARIANT, IDispatch **) PURE;
169 STDMETHOD(get_accName)(THIS_ VARIANT, BSTR*) PURE;
170 STDMETHOD(get_accValue)(THIS_ VARIANT, BSTR*) PURE;
171 STDMETHOD(get_accDescription)(THIS_ VARIANT, BSTR*) PURE;
172 STDMETHOD(get_accRole)(THIS_ VARIANT, VARIANT*) PURE;
173 STDMETHOD(get_accState)(THIS_ VARIANT, VARIANT*) PURE;
174 STDMETHOD(get_accHelp)(THIS_ VARIANT, BSTR*) PURE;
175 STDMETHOD(get_accHelpTopic)(THIS_ BSTR*, VARIANT, long*) PURE;
176 STDMETHOD(get_accKeyboardShortcut)(THIS_ VARIANT, BSTR*) PURE;
177 STDMETHOD(get_accFocus)(THIS_ VARIANT*) PURE;
178 STDMETHOD(get_accSelection)(THIS_ VARIANT*) PURE;
179 STDMETHOD(get_accDefaultAction)(THIS_ VARIANT, BSTR*) PURE;
180
181 STDMETHOD(accSelect)(THIS_ long, VARIANT) PURE;
182 STDMETHOD(accLocation)(THIS_ long*, long*, long*, long*, VARIANT) PURE;
183 STDMETHOD(accNavigate)(THIS_ long, VARIANT, VARIANT*) PURE;
184 STDMETHOD(accHitTest)(THIS_ long, long, VARIANT*) PURE;
185 STDMETHOD(accDoDefaultAction)(THIS_ VARIANT) PURE;
186
187 STDMETHOD(put_accName)(THIS_ VARIANT, BSTR) PURE;
188 STDMETHOD(put_accValue)(THIS_ VARIANT, BSTR) PURE;
189 };
190 #undef INTERFACE
191 typedef IAccessible* LPACCESSIBLE;
192
193 STDAPI AccessibleChildren(IAccessible*,LONG,LONG,VARIANT*,LONG*);
194 STDAPI AccessibleObjectFromEvent(HWND,DWORD,DWORD,IAccessible*,VARIANT*);
195 STDAPI AccessibleObjectFromPoint(POINT,IAccessible**,VARIANT*);
196 STDAPI AccessibleObjectFromWindow(HWND,DWORD,REFIID,void**);
197 STDAPI CreateStdAccessibleObject(HWND,LONG,REFIID,void**);
198 STDAPI CreateStdAccessibleProxyA(HWND,LPCSTR,LONG,REFIID,void**);
199 STDAPI CreateStdAccessibleProxyW(HWND,LPCWSTR,LONG,REFIID,void**);
200 void WINAPI GetOleaccVersionInfo(DWORD*,DWORD*);
201 UINT WINAPI GetRoleTextA(DWORD,LPSTR,UINT);
202 UINT WINAPI GetRoleTextW(DWORD,LPWSTR,UINT);
203 UINT WINAPI GetStateTextA(DWORD,LPSTR,UINT);
204 UINT WINAPI GetStateTextW(DWORD,LPWSTR,UINT);
205 LRESULT WINAPI LresultFromObject(REFIID,WPARAM,LPUNKNOWN);
206 STDAPI ObjectFromLresult(LRESULT,REFIID,WPARAM,void**);
207 STDAPI WindowFromAccessibleObject(IAccessible*,HWND*);
208
209 #ifdef UNICODE
210 #define CreateStdAccessibleProxy CreateStdAccessibleProxyW
211 #define GetRoleText GetRoleTextW
212 #define GetStateText GetStateTextW
213 #else
214 #define CreateStdAccessibleProxy CreateStdAccessibleProxyA
215 #define GetRoleText GetRoleTextA
216 #define GetStateText GetStateTextA
217 #endif
218
219 #ifdef __cplusplus
220 }
221 #endif
222 #endif /* _OLEACC_H */