From 2150c6a0e76b8498158cc175c181b7b8941be1d6 Mon Sep 17 00:00:00 2001 From: infidel Date: Fri, 30 May 2003 10:09:36 +0000 Subject: [PATCH] 2003-05-30 Mattia Barbon * lib/oleacc.def: New file. * include/winable.h: New file. * include/oleacc.h: Add extern "C" guard. (NAVDIR_*, ROLE_*, STATE_*): Add missing constants. (AccessibleChildren, AccessibleObjectFromEvent, AccessibleObjectFromPoint, AccessibleObjectFromWindow, CreateStdAccessibleProxy[AW], GetOleaccVersionInfo, GetRoleText[AW], GetStateText[AW], LresultFromObject, ObjectFromLresult, WindowFromAccessibleObject): Add prototypes and UNICODE mappings. * include/winuser.h (NotifyWinEvent): Add prototype. (OBJID_WINDOW, OBJID_SYSMENU, OBJID_TITLEBAR, OBJID_MENU, OBJID_CLIENT, OBJID_VSCROLL, OBJID_HSCROLL, OBJID_SIZEGRIP, OBJID_CARET, OBJID_CURSOR, OBJID_ALERT, OBJID_SOUND): Move from here to... * include/winable.h (OBJID_WINDOW, OBJID_SYSMENU, OBJID_TITLEBAR, OBJID_MENU, OBJID_CLIENT, OBJID_VSCROLL, OBJID_HSCROLL, OBJID_SIZEGRIP, OBJID_CARET, OBJID_CURSOR, OBJID_ALERT, OBJID_SOUND): Here, as per documentation. * lib/test.c: Include winable.h. * lib/user32.def (NotifyWinEvent): Add missing export. --- winsup/w32api/ChangeLog | 23 +++++++ winsup/w32api/include/oleacc.h | 137 ++++++++++++++++++++++++++++++++++++++++ winsup/w32api/include/winable.h | 27 ++++++++ winsup/w32api/include/winuser.h | 13 +--- winsup/w32api/lib/oleacc.def | 17 +++++ winsup/w32api/lib/test.c | 1 + winsup/w32api/lib/user32.def | 1 + 7 files changed, 207 insertions(+), 12 deletions(-) create mode 100644 winsup/w32api/include/winable.h create mode 100644 winsup/w32api/lib/oleacc.def diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 27a81e2992..21ed31422c 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,26 @@ +2003-05-30 Mattia Barbon + + * lib/oleacc.def: New file. + * include/winable.h: New file. + * include/oleacc.h: Add extern "C" guard. + (NAVDIR_*, ROLE_*, STATE_*): Add missing constants. + (AccessibleChildren, AccessibleObjectFromEvent, + AccessibleObjectFromPoint, AccessibleObjectFromWindow, + CreateStdAccessibleProxy[AW], GetOleaccVersionInfo, GetRoleText[AW], + GetStateText[AW], LresultFromObject, ObjectFromLresult, + WindowFromAccessibleObject): Add prototypes and UNICODE mappings. + * include/winuser.h (NotifyWinEvent): Add prototype. + (OBJID_WINDOW, OBJID_SYSMENU, OBJID_TITLEBAR, + OBJID_MENU, OBJID_CLIENT, OBJID_VSCROLL, OBJID_HSCROLL, + OBJID_SIZEGRIP, OBJID_CARET, OBJID_CURSOR, OBJID_ALERT, + OBJID_SOUND): Move from here to... + * include/winable.h (OBJID_WINDOW, OBJID_SYSMENU, OBJID_TITLEBAR, + OBJID_MENU, OBJID_CLIENT, OBJID_VSCROLL, OBJID_HSCROLL, + OBJID_SIZEGRIP, OBJID_CARET, OBJID_CURSOR, OBJID_ALERT, + OBJID_SOUND): Here, as per documentation. + * lib/test.c: Include winable.h. + * lib/user32.def (NotifyWinEvent): Add missing export. + 2003-05-30 Bang Jun-Young * include/winbase.h (HeapCompact): Correct prototype. diff --git a/winsup/w32api/include/oleacc.h b/winsup/w32api/include/oleacc.h index ccc961042a..7263700919 100644 --- a/winsup/w32api/include/oleacc.h +++ b/winsup/w32api/include/oleacc.h @@ -1,5 +1,12 @@ #ifndef _OLEACC_H #define _OLEACC_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif #define DISPID_ACC_PARENT (-5000) #define DISPID_ACC_CHILDCOUNT (-5001) @@ -23,6 +30,108 @@ #define DISPID_ACC_HITTEST (-5017) #define DISPID_ACC_DODEFAULTACTION (-5018) +#define NAVDIR_DOWN 2 +#define NAVDIR_FIRSTCHILD 7 +#define NAVDIR_LASTCHILD 8 +#define NAVDIR_LEFT 3 +#define NAVDIR_NEXT 5 +#define NAVDIR_PREVIOUS 6 +#define NAVDIR_RIGHT 4 +#define NAVDIR_UP 1 + +#define ROLE_SYSTEM_ALERT 8 +#define ROLE_SYSTEM_ANIMATION 54 +#define ROLE_SYSTEM_APPLICATION 14 +#define ROLE_SYSTEM_BORDER 19 +#define ROLE_SYSTEM_BUTTONDROPDOWN 56 +#define ROLE_SYSTEM_BUTTONDROPDOWNGRID 58 +#define ROLE_SYSTEM_BUTTONMENU 57 +#define ROLE_SYSTEM_CARET 7 +#define ROLE_SYSTEM_CELL 29 +#define ROLE_SYSTEM_CHARACTER 32 +#define ROLE_SYSTEM_CHART 17 +#define ROLE_SYSTEM_CHECKBUTTON 44 +#define ROLE_SYSTEM_CLIENT 10 +#define ROLE_SYSTEM_CLOCK 61 +#define ROLE_SYSTEM_COLUMN 27 +#define ROLE_SYSTEM_COLUMNHEADER 25 +#define ROLE_SYSTEM_COMBOBOX 46 +#define ROLE_SYSTEM_CURSOR 6 +#define ROLE_SYSTEM_DIAGRAM 53 +#define ROLE_SYSTEM_DIAL 49 +#define ROLE_SYSTEM_DIALOG 18 +#define ROLE_SYSTEM_DOCUMENT 15 +#define ROLE_SYSTEM_DROPLIST 47 +#define ROLE_SYSTEM_EQUATION 55 +#define ROLE_SYSTEM_GRAPHIC 40 +#define ROLE_SYSTEM_GRIP 4 +#define ROLE_SYSTEM_GROUPING 20 +#define ROLE_SYSTEM_HELPBALLOON 31 +#define ROLE_SYSTEM_HOTKEYFIELD 50 +#define ROLE_SYSTEM_INDICATOR 39 +#define ROLE_SYSTEM_LINK 30 +#define ROLE_SYSTEM_LIST 33 +#define ROLE_SYSTEM_LISTITEM 34 +#define ROLE_SYSTEM_MENUBAR 2 +#define ROLE_SYSTEM_MENUITEM 12 +#define ROLE_SYSTEM_MENUPOPUP 11 +#define ROLE_SYSTEM_OUTLINE 35 +#define ROLE_SYSTEM_OUTLINEITEM 36 +#define ROLE_SYSTEM_PAGETAB 37 +#define ROLE_SYSTEM_PAGETABLIST 60 +#define ROLE_SYSTEM_PANE 16 +#define ROLE_SYSTEM_PROGRESSBAR 48 +#define ROLE_SYSTEM_PROPERTYPAGE 38 +#define ROLE_SYSTEM_PUSHBUTTON 43 +#define ROLE_SYSTEM_RADIOBUTTON 45 +#define ROLE_SYSTEM_ROW 28 +#define ROLE_SYSTEM_ROWHEADER 26 +#define ROLE_SYSTEM_SCROLLBAR 3 +#define ROLE_SYSTEM_SEPARATOR 21 +#define ROLE_SYSTEM_SLIDER 51 +#define ROLE_SYSTEM_SOUND 5 +#define ROLE_SYSTEM_SPINBUTTON 52 +#define ROLE_SYSTEM_STATICTEXT 41 +#define ROLE_SYSTEM_STATUSBAR 23 +#define ROLE_SYSTEM_TABLE 24 +#define ROLE_SYSTEM_TEXT 42 +#define ROLE_SYSTEM_TITLEBAR 1 +#define ROLE_SYSTEM_TOOLBAR 22 +#define ROLE_SYSTEM_TOOLTIP 13 +#define ROLE_SYSTEM_WHITESPACE 59 +#define ROLE_SYSTEM_WINDOW 9 + +#define STATE_SYSTEM_UNAVAILABLE 0x00000001 +#define STATE_SYSTEM_SELECTED 0x00000002 +#define STATE_SYSTEM_FOCUSED 0x00000004 +#define STATE_SYSTEM_PRESSED 0x00000008 +#define STATE_SYSTEM_CHECKED 0x00000010 +#define STATE_SYSTEM_MIXED 0x00000020 +#define STATE_SYSTEM_READONLY 0x00000040 +#define STATE_SYSTEM_HOTTRACKED 0x00000080 +#define STATE_SYSTEM_DEFAULT 0x00000100 +#define STATE_SYSTEM_EXPANDED 0x00000200 +#define STATE_SYSTEM_COLLAPSED 0x00000400 +#define STATE_SYSTEM_BUSY 0x00000800 +#define STATE_SYSTEM_FLOATING 0x00001000 +#define STATE_SYSTEM_MARQUEED 0x00002000 +#define STATE_SYSTEM_ANIMATED 0x00004000 +#define STATE_SYSTEM_INVISIBLE 0x00008000 +#define STATE_SYSTEM_OFFSCREEN 0x00010000 +#define STATE_SYSTEM_SIZEABLE 0x00020000 +#define STATE_SYSTEM_MOVEABLE 0x00040000 +#define STATE_SYSTEM_SELFVOICING 0x00080000 +#define STATE_SYSTEM_FOCUSABLE 0x00100000 +#define STATE_SYSTEM_SELECTABLE 0x00200000 +#define STATE_SYSTEM_LINKED 0x00400000 +#define STATE_SYSTEM_TRAVERSED 0x00800000 +#define STATE_SYSTEM_MULTISELECTABLE 0x01000000 +#define STATE_SYSTEM_EXTSELECTABLE 0x02000000 +#define STATE_SYSTEM_ALERT_LOW 0x04000000 +#define STATE_SYSTEM_ALERT_MEDIUM 0x08000000 +#define STATE_SYSTEM_ALERT_HIGH 0x10000000 +#define STATE_SYSTEM_VALID 0x1fffffff + typedef enum tagSELFLAG { SELFLAG_NONE = 0, @@ -76,5 +185,33 @@ DECLARE_INTERFACE_(IAccessible, IDispatch) }; typedef IAccessible* LPACCESSIBLE; +STDAPI AccessibleChildren(IAccessible*,LONG,LONG,VARIANT*,LONG*); +STDAPI AccessibleObjectFromEvent(HWND,DWORD,DWORD,IAccessible*,VARIANT*); +STDAPI AccessibleObjectFromPoint(POINT,IAccessible**,VARIANT*); +STDAPI AccessibleObjectFromWindow(HWND,DWORD,REFIID,void**); +STDAPI CreateStdAccessibleObject(HWND,LONG,REFIID,void**); +STDAPI CreateStdAccessibleProxyA(HWND,LPCSTR,LONG,REFIID,void**); +STDAPI CreateStdAccessibleProxyW(HWND,LPCWSTR,LONG,REFIID,void**); +void WINAPI GetOleaccVersionInfo(DWORD*,DWORD*); +UINT WINAPI GetRoleTextA(DWORD,LPSTR,UINT); +UINT WINAPI GetRoleTextW(DWORD,LPWSTR,UINT); +UINT WINAPI GetStateTextA(DWORD,LPSTR,UINT); +UINT WINAPI GetStateTextW(DWORD,LPWSTR,UINT); +LRESULT WINAPI LresultFromObject(REFIID,WPARAM,LPUNKNOWN); +STDAPI ObjectFromLresult(LRESULT,REFIID,WPARAM,void**); +STDAPI WindowFromAccessibleObject(IAccessible*,HWND*); + +#ifdef UNICODE +#define CreateStdAccessibleProxy CreateStdAccessibleProxyW +#define GetRoleText GetRoleTextW +#define GetStateText GetStateTextW +#else +#define CreateStdAccessibleProxy CreateStdAccessibleProxyA +#define GetRoleText GetRoleTextA +#define GetStateText GetStateTextA +#endif +#ifdef __cplusplus +} +#endif #endif /* _OLEACC_H */ diff --git a/winsup/w32api/include/winable.h b/winsup/w32api/include/winable.h new file mode 100644 index 0000000000..c1030d6f47 --- /dev/null +++ b/winsup/w32api/include/winable.h @@ -0,0 +1,27 @@ +#ifndef _WINABLE_H +#define _WINABLE_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define OBJID_WINDOW 0x00000000 +#define OBJID_SYSMENU 0xFFFFFFFF +#define OBJID_TITLEBAR 0xFFFFFFFE +#define OBJID_MENU 0xFFFFFFFD +#define OBJID_CLIENT 0xFFFFFFFC +#define OBJID_VSCROLL 0xFFFFFFFB +#define OBJID_HSCROLL 0xFFFFFFFA +#define OBJID_SIZEGRIP 0xFFFFFFF9 +#define OBJID_CARET 0xFFFFFFF8 +#define OBJID_CURSOR 0xFFFFFFF7 +#define OBJID_ALERT 0xFFFFFFF6 +#define OBJID_SOUND 0xFFFFFFF5 + +#ifdef __cplusplus +} +#endif +#endif /* _WINABLE_H */ diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h index 59a412e2a5..6f34430448 100644 --- a/winsup/w32api/include/winuser.h +++ b/winsup/w32api/include/winuser.h @@ -1990,18 +1990,6 @@ extern "C" { #if(WINVER >= 0x0400) #define ENDSESSION_LOGOFF 0x80000000 #endif /* WINVER >= 0x0400 */ -#define OBJID_WINDOW 0x00000000 -#define OBJID_SYSMENU 0xFFFFFFFF -#define OBJID_TITLEBAR 0xFFFFFFFE -#define OBJID_MENU 0xFFFFFFFD -#define OBJID_CLIENT 0xFFFFFFFC -#define OBJID_VSCROLL 0xFFFFFFFB -#define OBJID_HSCROLL 0xFFFFFFFA -#define OBJID_SIZEGRIP 0xFFFFFFF9 -#define OBJID_CARET 0xFFFFFFF8 -#define OBJID_CURSOR 0xFFFFFFF7 -#define OBJID_ALERT 0xFFFFFFF6 -#define OBJID_SOUND 0xFFFFFFF5 #if(WINVER >= 0x0500) #define ASFW_ANY ((DWORD)-1) #define LSFW_LOCK 1 @@ -3193,6 +3181,7 @@ void WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,DWORD); BOOL WINAPI MoveWindow(HWND,int,int,int,int,BOOL); DWORD WINAPI MsgWaitForMultipleObjects(DWORD,CONST HANDLE*,BOOL,DWORD,DWORD); DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD,CONST HANDLE*,DWORD,DWORD,DWORD); +void WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG); DWORD WINAPI OemKeyScan(WORD); BOOL WINAPI OemToCharA(LPCSTR,LPSTR); BOOL WINAPI OemToCharBuffA(LPCSTR,LPSTR,DWORD); diff --git a/winsup/w32api/lib/oleacc.def b/winsup/w32api/lib/oleacc.def new file mode 100644 index 0000000000..c7ea139248 --- /dev/null +++ b/winsup/w32api/lib/oleacc.def @@ -0,0 +1,17 @@ +LIBRARY Oleacc.dll +EXPORTS +AccessibleChildren@20 +AccessibleObjectFromEvent@20 +AccessibleObjectFromPoint@16 +AccessibleObjectFromWindow@16 +CreateStdAccessibleObject@16 +CreateStdAccessibleProxyA@20 +CreateStdAccessibleProxyW@20 +GetOleaccVersionInfo@8 +GetRoleTextA@12 +GetRoleTextW@12 +GetStateTextA@12 +GetStateTextW@12 +LresultFromObject@12 +ObjectFromLresult@16 +WindowFromAccessibleObject@8 diff --git a/winsup/w32api/lib/test.c b/winsup/w32api/lib/test.c index 3ce1e4ad3e..808981c434 100644 --- a/winsup/w32api/lib/test.c +++ b/winsup/w32api/lib/test.c @@ -79,6 +79,7 @@ #include #include #include +#include #include #include #include diff --git a/winsup/w32api/lib/user32.def b/winsup/w32api/lib/user32.def index 7514750269..6e9cf81292 100644 --- a/winsup/w32api/lib/user32.def +++ b/winsup/w32api/lib/user32.def @@ -409,6 +409,7 @@ ModifyMenuW@20 MoveWindow@24 MsgWaitForMultipleObjects@20 MsgWaitForMultipleObjectsEx@20 +NotifyWinEvent@16 OemKeyScan@4 OemToCharA@8 OemToCharBuffA@12 -- 2.11.0