summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/oleacc.idl
blob: e87c14fd782b0e185bb4f1a8437bf872e5f48c56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
/*
 * Copyright (C) 2005 Dmitry Timoshkov
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

/*
 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
 * a choice of LGPL license versions is made available with the language indicating
 * that LGPLv2 or any later version may be used, or where a choice of which version
 * of the LGPL is applied is otherwise unspecified.
 */

import "oaidl.idl";

cpp_quote("#define NAVDIR_UP         1")
cpp_quote("#define NAVDIR_DOWN       2")
cpp_quote("#define NAVDIR_LEFT       3")
cpp_quote("#define NAVDIR_RIGHT      4")
cpp_quote("#define NAVDIR_NEXT       5")
cpp_quote("#define NAVDIR_PREVIOUS   6")
cpp_quote("#define NAVDIR_FIRSTCHILD 7")
cpp_quote("#define NAVDIR_LASTCHILD  8")

cpp_quote("#define ROLE_SYSTEM_TITLEBAR     1")
cpp_quote("#define ROLE_SYSTEM_MENUBAR      2")
cpp_quote("#define ROLE_SYSTEM_SCROLLBAR    3")
cpp_quote("#define ROLE_SYSTEM_GRIP         4")
cpp_quote("#define ROLE_SYSTEM_SOUND        5")
cpp_quote("#define ROLE_SYSTEM_CURSOR       6")
cpp_quote("#define ROLE_SYSTEM_CARET        7")
cpp_quote("#define ROLE_SYSTEM_ALERT        8")
cpp_quote("#define ROLE_SYSTEM_WINDOW       9")
cpp_quote("#define ROLE_SYSTEM_CLIENT       10")
cpp_quote("#define ROLE_SYSTEM_MENUPOPUP    11")
cpp_quote("#define ROLE_SYSTEM_MENUITEM     12")
cpp_quote("#define ROLE_SYSTEM_TOOLTIP      13")
cpp_quote("#define ROLE_SYSTEM_APPLICATION  14")
cpp_quote("#define ROLE_SYSTEM_DOCUMENT     15")
cpp_quote("#define ROLE_SYSTEM_PANE         16")
cpp_quote("#define ROLE_SYSTEM_CHART        17")
cpp_quote("#define ROLE_SYSTEM_DIALOG       18")
cpp_quote("#define ROLE_SYSTEM_BORDER       19")
cpp_quote("#define ROLE_SYSTEM_GROUPING     20")
cpp_quote("#define ROLE_SYSTEM_SEPARATOR    21")
cpp_quote("#define ROLE_SYSTEM_TOOLBAR      22")
cpp_quote("#define ROLE_SYSTEM_STATUSBAR    23")
cpp_quote("#define ROLE_SYSTEM_TABLE        24")
cpp_quote("#define ROLE_SYSTEM_COLUMNHEADER 25")
cpp_quote("#define ROLE_SYSTEM_ROWHEADER    26")
cpp_quote("#define ROLE_SYSTEM_COLUMN       27")
cpp_quote("#define ROLE_SYSTEM_ROW          28")
cpp_quote("#define ROLE_SYSTEM_CELL         29")
cpp_quote("#define ROLE_SYSTEM_LINK         30")
cpp_quote("#define ROLE_SYSTEM_HELPBALLOON  31")
cpp_quote("#define ROLE_SYSTEM_CHARACTER    32")
cpp_quote("#define ROLE_SYSTEM_LIST         33")
cpp_quote("#define ROLE_SYSTEM_LISTITEM     34")
cpp_quote("#define ROLE_SYSTEM_OUTLINE      35")
cpp_quote("#define ROLE_SYSTEM_OUTLINEITEM  36")
cpp_quote("#define ROLE_SYSTEM_PAGETAB      37")
cpp_quote("#define ROLE_SYSTEM_PROPERTYPAGE 38")
cpp_quote("#define ROLE_SYSTEM_INDICATOR    39")
cpp_quote("#define ROLE_SYSTEM_GRAPHIC      40")
cpp_quote("#define ROLE_SYSTEM_STATICTEXT   41")
cpp_quote("#define ROLE_SYSTEM_TEXT         42")
cpp_quote("#define ROLE_SYSTEM_PUSHBUTTON   43")
cpp_quote("#define ROLE_SYSTEM_CHECKBUTTON  44")
cpp_quote("#define ROLE_SYSTEM_RADIOBUTTON  45")
cpp_quote("#define ROLE_SYSTEM_COMBOBOX     46")
cpp_quote("#define ROLE_SYSTEM_DROPLIST     47")
cpp_quote("#define ROLE_SYSTEM_PROGRESSBAR  48")
cpp_quote("#define ROLE_SYSTEM_DIAL         49")
cpp_quote("#define ROLE_SYSTEM_HOTKEYFIELD  50")
cpp_quote("#define ROLE_SYSTEM_SLIDER       51")
cpp_quote("#define ROLE_SYSTEM_SPINBUTTON   52")
cpp_quote("#define ROLE_SYSTEM_DIAGRAM      53")
cpp_quote("#define ROLE_SYSTEM_ANIMATION    54")
cpp_quote("#define ROLE_SYSTEM_EQUATION     55")
cpp_quote("#define ROLE_SYSTEM_BUTTONDROPDOWN 56")
cpp_quote("#define ROLE_SYSTEM_BUTTONMENU   57")
cpp_quote("#define ROLE_SYSTEM_BUTTONDROPDOWNGRID 58")
cpp_quote("#define ROLE_SYSTEM_WHITESPACE   59")
cpp_quote("#define ROLE_SYSTEM_PAGETABLIST  60")
cpp_quote("#define ROLE_SYSTEM_CLOCK        61")
cpp_quote("#define ROLE_SYSTEM_SPLITBUTTON  62")
cpp_quote("#define ROLE_SYSTEM_IPADDRESS    63")
cpp_quote("#define ROLE_SYSTEM_OUTLINEBUTTON 64")

cpp_quote("#define SELFLAG_NONE            0x00")
cpp_quote("#define SELFLAG_TAKEFOCUS       0x01")
cpp_quote("#define SELFLAG_TAKESELECTION   0x02")
cpp_quote("#define SELFLAG_EXTENDSELECTION 0x04")
cpp_quote("#define SELFLAG_ADDSELECTION    0x08")
cpp_quote("#define SELFLAG_REMOVESELECTION 0x10")
cpp_quote("#define SELFLAG_VALID           0x1f")

typedef GUID MSAAPROPID;

typedef enum AnnoScope
{
    ANNO_THIS,
    ANNO_CONTAINER
} AnnoScope;

[
  local,
  object,
  uuid(618736e0-3c3d-11cf-810c-00aa00389b71),
  pointer_default(unique)
]
interface IAccessible : IDispatch
{
    typedef [unique] IAccessible  *LPACCESSIBLE;
    const long DISPID_ACC_PARENT     = -5000;
    const long DISPID_ACC_CHILDCOUNT = -5001;
    const long DISPID_ACC_CHILD      = -5002;
    const long DISPID_ACC_NAME       = -5003;
    const long DISPID_ACC_VALUE      = -5004;
    const long DISPID_ACC_DESCRIPTION= -5005;
    const long DISPID_ACC_ROLE       = -5006;
    const long DISPID_ACC_STATE      = -5007;
    const long DISPID_ACC_HELP       = -5008;
    const long DISPID_ACC_HELPTOPIC  = -5009;
    const long DISPID_ACC_KEYBOARDSHORTCUT = -5010;
    const long DISPID_ACC_FOCUS      = -5011;
    const long DISPID_ACC_SELECTION  = -5012;
    const long DISPID_ACC_DEFAULTACTION = -5013;
    const long DISPID_ACC_SELECT     = -5014;
    const long DISPID_ACC_LOCATION   = -5015;
    const long DISPID_ACC_NAVIGATE   = -5016;
    const long DISPID_ACC_HITTEST    = -5017;
    const long DISPID_ACC_DODEFAULTACTION = -5018;

    [hidden, propget, id(DISPID_ACC_PARENT)] HRESULT accParent([out, retval]IDispatch** ppdispParent);
    [hidden, propget, id(DISPID_ACC_CHILDCOUNT)] HRESULT accChildCount([out, retval] long* pcountChildren);
    [hidden, propget, id(DISPID_ACC_CHILD)] HRESULT accChild([in] VARIANT varChildID, [out, retval]IDispatch **ppdispChild);
    [hidden, propget, id(DISPID_ACC_NAME)] HRESULT accName([in]VARIANT varID, [out, retval] BSTR* pszName);
    [hidden, propget, id(DISPID_ACC_VALUE)] HRESULT accValue([in]VARIANT varID, [out, retval] BSTR* pszValue);
    [hidden, propget, id(DISPID_ACC_DESCRIPTION)] HRESULT accDescription([in]VARIANT varID, [out, retval] BSTR* pszDescription);
    [hidden, propget, id(DISPID_ACC_ROLE)] HRESULT accRole([in]VARIANT varID, [out, retval]VARIANT* pvarRole);
    [hidden, propget, id(DISPID_ACC_STATE)] HRESULT accState([in]VARIANT varID, [out, retval]VARIANT* pvarState);
    [hidden, propget, id(DISPID_ACC_HELP)] HRESULT accHelp([in]VARIANT varID, [out, retval]BSTR* pszHelp);
    [hidden, propget, id(DISPID_ACC_HELPTOPIC)] HRESULT accHelpTopic([out]BSTR* pszHelpFile, [in]VARIANT varID, [out, retval] long* pidTopic);
    [hidden, propget, id(DISPID_ACC_KEYBOARDSHORTCUT)] HRESULT accKeyboardShortcut([in]VARIANT varID, [out, retval] BSTR* pszKeyboardShortcut);
    [hidden, propget, id(DISPID_ACC_FOCUS)] HRESULT accFocus([out, retval] VARIANT* pvarID);
    [hidden, propget, id(DISPID_ACC_SELECTION)] HRESULT accSelection([out, retval] VARIANT* pvarID);
    [hidden, propget, id(DISPID_ACC_DEFAULTACTION)] HRESULT accDefaultAction([in]VARIANT varID, [out, retval] BSTR* pszDefaultAction);

    [hidden, id(DISPID_ACC_SELECT)] HRESULT accSelect([in]long flagsSelect, [in]VARIANT varID);
    [hidden, id(DISPID_ACC_LOCATION)] HRESULT accLocation([out]long* pxLeft, [out]long* pyTop, [out]long* pcxWidth, [out]long* pcyHeight, [in]VARIANT varID);
    [hidden, id(DISPID_ACC_NAVIGATE)] HRESULT accNavigate([in]long navDir, [in]VARIANT varStart, [out, retval] VARIANT* pvarEnd);
    [hidden, id(DISPID_ACC_HITTEST)] HRESULT accHitTest([in]long xLeft, [in]long yTop, [out,retval] VARIANT* pvarID);
    [hidden, id(DISPID_ACC_DODEFAULTACTION)] HRESULT accDoDefaultAction([in]VARIANT varID);

    [hidden, propput, id(DISPID_ACC_NAME)] HRESULT accName([in]VARIANT varID, [in]BSTR pszName);
    [hidden, propput, id(DISPID_ACC_VALUE)] HRESULT accValue([in]VARIANT varID, [out, retval]BSTR pszValue);
}

[
    object,
    uuid(03022430-ABC4-11d0-BDE2-00AA001A1953),
    hidden,
    oleautomation,
    pointer_default(unique)
]
interface IAccessibleHandler : IUnknown
{
    typedef [unique] IAccessibleHandler *LPACCESSIBLEHANDLER;

    HRESULT AccessibleObjectFromID( [in] long hwnd, [in] long lObjectID, [out] LPACCESSIBLE *pIAccessible );
}

[
    object,
    uuid(7852b78d-1cfd-41c1-a615-9c0c85960b5f),
    pointer_default(unique)
]
interface IAccIdentity : IUnknown
{
    HRESULT GetIdentityString ([in] DWORD dwIDChild, [out] BYTE **ppIDString, [out] DWORD *pdwIDStringLen);
}

[
    object,
    uuid(76c0dbbb-15e0-4e7b-b61b-20eeea2001e0),
    pointer_default(unique)
]
interface IAccPropServer: IUnknown
{
    HRESULT GetPropValue ([in] const BYTE *pIDString, [in] DWORD  dwIDStringLen, [in] MSAAPROPID idProp,
        [out] VARIANT *pvarValue, [out] BOOL *pfHasProp);
}

[
    object,
    uuid(6e26e776-04f0-495d-80e4-3330352e3169),
    pointer_default(unique)
]
interface IAccPropServices : IUnknown
{
    HRESULT SetPropValue([in] const BYTE *pIDString, [in] DWORD dwIDStringLen, [in] MSAAPROPID idProp, [in] VARIANT var);

    HRESULT SetPropServer([in] const BYTE * pIDString, [in] DWORD dwIDStringLen, [in] const MSAAPROPID* paProps,
                    [in] int cProps, [in] IAccPropServer* pServer, [in] AnnoScope AnnoScope);

    HRESULT ClearProps([in] const BYTE *pIDString, [in] DWORD dwIDStringLen, [in] const MSAAPROPID* paProps, [in] int cProps);

    HRESULT SetHwndProp([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
                    [in] MSAAPROPID idProp, [in] VARIANT var);

    HRESULT SetHwndPropStr([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
                    [in] MSAAPROPID idProp, [in] LPWSTR str);

    HRESULT SetHwndPropServer([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
                    [in] const MSAAPROPID* paProps, [in] int cProps, [in] IAccPropServer* pServer, [in] AnnoScope AnnoScope);

    HRESULT ClearHwndProps([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
                    [in] const MSAAPROPID* paProps, [in] int cProps);

    HRESULT ComposeHwndIdentityString([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
                    [out] BYTE **ppIDString, [out] DWORD* pdwIDStringLen);

    HRESULT DecomposeHwndIdentityString([in] const BYTE *pIDString, [in] DWORD dwIDStringLen,
                    [out] HWND* phwnd, [out] DWORD* pidObject, [out] DWORD* pidChild);

    HRESULT SetHmenuProp([in] HMENU hmenu, [in] DWORD idChild, [in] MSAAPROPID idProp, [in] VARIANT var);

    HRESULT SetHmenuPropStr([in] HMENU hmenu, [in] DWORD idChild, [in] MSAAPROPID idProp, [in] LPWSTR str);

    HRESULT SetHmenuPropServer([in] HMENU hmenu, [in] DWORD idChild, [in] const MSAAPROPID* paProps,
                    [in] int cProps, [in] IAccPropServer* pServer, [in] AnnoScope AnnoScope);

    HRESULT ClearHmenuProps([in] HMENU hmenu, [in] DWORD idChild, [in] const MSAAPROPID* paProps, [in] int cProps);

    HRESULT ComposeHmenuIdentityString([in] HMENU hmenu, [in] DWORD idChild,
                    [out] BYTE **ppIDString, [out] DWORD *pdwIDStringLen);

    HRESULT DecomposeHmenuIdentityString([in] const BYTE *pIDString, [in] DWORD dwIDStringLen,
                    [out] HMENU *phmenu, [out] DWORD *pidChild);
}

[
    uuid(1ea4dbf0-3c3b-11cf-810c-00aa00389b71),
    lcid(0),
    version(1.1),
    hidden
]
library Accessibility
{
    importlib ("stdole2.tlb");
    interface IAccessible;
    interface IAccessibleHandler;

    interface IAccIdentity;
    interface IAccPropServer;
    interface IAccPropServices;

    [
        uuid(b5f8350b-0548-48b1-a6ee-88bd00b4a5e7)
    ]
    coclass CAccPropServices
    {
        interface IAccPropServices;
    }
};

cpp_quote("DEFINE_GUID(LIBID_Accessibility, 0x1ea4dbf0, 0x3c3b, 0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);")
cpp_quote("DEFINE_GUID(CLSID_AccPropServices, 0xb5f8350b, 0x0548, 0x48b1, 0xa6, 0xee, 0x88, 0xbd, 0x00, 0xb4, 0xa5, 0xe7);")
cpp_quote("DEFINE_GUID(IIS_IsOleaccProxy, 0x902697fa, 0x80e4, 0x4560, 0x80, 0x2a, 0xa1, 0x3f, 0x22, 0xa6, 0x47, 0x09);")

cpp_quote("LRESULT WINAPI LresultFromObject(REFIID,WPARAM,LPUNKNOWN);")
cpp_quote("HRESULT WINAPI ObjectFromLresult(LRESULT,REFIID,WPARAM,void **);")
cpp_quote("HRESULT WINAPI WindowFromAccessibleObject(IAccessible *,HWND *);")
cpp_quote("HRESULT WINAPI AccessibleObjectFromWindow(HWND,DWORD,REFIID,void **);")
cpp_quote("HRESULT WINAPI AccessibleObjectFromEvent(HWND,DWORD,DWORD,IAccessible **,VARIANT *);")
cpp_quote("HRESULT WINAPI AccessibleObjectFromPoint(POINT,IAccessible **,VARIANT *);")
cpp_quote("HRESULT WINAPI AccessibleChildren(IAccessible *,LONG,LONG,VARIANT *,LONG *);")

cpp_quote("void WINAPI GetOleaccVersionInfo(DWORD *,DWORD *);")
cpp_quote("HRESULT WINAPI CreateStdAccessibleObject(HWND,LONG,REFIID,void **);")
cpp_quote("HRESULT WINAPI CreateStdAccessibleProxyA(HWND,LPCSTR,LONG,REFIID,void **);")
cpp_quote("HRESULT WINAPI CreateStdAccessibleProxyW(HWND,LPCWSTR,LONG,REFIID,void **);")
cpp_quote("#define CreateStdAccessibleProxy WINELIB_NAME_AW(CreateStdAccessibleProxy)")

cpp_quote("UINT WINAPI GetRoleTextA(DWORD,LPSTR,UINT);")
cpp_quote("UINT WINAPI GetRoleTextW(DWORD,LPWSTR,UINT);")
cpp_quote("#define GetRoleText WINELIB_NAME_AW(GetRoleText)")
cpp_quote("UINT WINAPI GetStateTextA(DWORD,LPSTR,UINT);")
cpp_quote("UINT WINAPI GetStateTextW(DWORD,LPWSTR,UINT);")
cpp_quote("#define GetStateText WINELIB_NAME_AW(GetStateText)")