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