oleacc.idl 9.63 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/*
 * 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
 */

import "oaidl.idl";

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
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")

[
  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);
}

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);")

161 162 163 164 165 166 167 168 169 170 171 172 173 174
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)")

175 176 177 178 179
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);")
180
cpp_quote("#define GetStateText WINELIB_NAME_AW(GetStateText)")