diff --git a/reactos/include/psdk/oleacc.idl b/reactos/include/psdk/oleacc.idl new file mode 100644 index 00000000000..53332857aef --- /dev/null +++ b/reactos/include/psdk/oleacc.idl @@ -0,0 +1,180 @@ +/* + * 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"; + +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);") + +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)") diff --git a/reactos/include/psdk/psdk.rbuild b/reactos/include/psdk/psdk.rbuild index 52b61cbf146..d9f642a7963 100644 --- a/reactos/include/psdk/psdk.rbuild +++ b/reactos/include/psdk/psdk.rbuild @@ -27,6 +27,7 @@ objsafe.idl ocidl.idl ocmm.idl + oleacc.idl oledb.idl oleidl.idl optary.idl diff --git a/reactos/include/psdk/rpc.h b/reactos/include/psdk/rpc.h index 1b6ef112a7d..952bba5487b 100644 --- a/reactos/include/psdk/rpc.h +++ b/reactos/include/psdk/rpc.h @@ -1,7 +1,15 @@ #if !defined( RPC_NO_WINDOWS_H ) && !defined( MAC ) && !defined( _MAC ) +#if defined (_OLE32_) +#ifndef RC_INVOKED +#include +#endif +#include +#include +#else #include #endif +#endif #ifdef __GNUC__ #ifndef _SEH_NO_NATIVE_NLG