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