File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                                oleacc.d                               *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
4e2933c620 2015-04-21        kinaba: module win32.oleacc;
4e2933c620 2015-04-21        kinaba: pragma(lib, "oleacc.lib");
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: private import win32.basetyps, win32.oaidl, win32.unknwn, win32.wtypes,
4e2933c620 2015-04-21        kinaba:   win32.windef;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_PARENT           = -5000,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_CHILDCOUNT       = -5001,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_CHILD            = -5002,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_NAME             = -5003,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_VALUE            = -5004,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_DESCRIPTION      = -5005,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_ROLE             = -5006,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_STATE            = -5007,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_HELP             = -5008,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_HELPTOPIC        = -5009,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_KEYBOARDSHORTCUT = -5010,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_FOCUS            = -5011,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_SELECTION        = -5012,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_DEFAULTACTION    = -5013,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_SELECT           = -5014,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_LOCATION         = -5015,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_NAVIGATE         = -5016,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_HITTEST          = -5017,
4e2933c620 2015-04-21        kinaba: 	DISPID_ACC_DODEFAULTACTION  = -5018
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	NAVDIR_UP = 1,
4e2933c620 2015-04-21        kinaba: 	NAVDIR_DOWN,
4e2933c620 2015-04-21        kinaba: 	NAVDIR_LEFT,
4e2933c620 2015-04-21        kinaba: 	NAVDIR_RIGHT,
4e2933c620 2015-04-21        kinaba: 	NAVDIR_NEXT,
4e2933c620 2015-04-21        kinaba: 	NAVDIR_PREVIOUS,
4e2933c620 2015-04-21        kinaba: 	NAVDIR_FIRSTCHILD,
4e2933c620 2015-04-21        kinaba: 	NAVDIR_LASTCHILD // = 8
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_TITLEBAR = 1,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_MENUBAR,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_SCROLLBAR,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_GRIP,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_SOUND,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_CURSOR,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_CARET,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_ALERT,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_WINDOW,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_CLIENT,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_MENUPOPUP,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_MENUITEM,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_TOOLTIP,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_APPLICATION,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_DOCUMENT,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_PANE,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_CHART,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_DIALOG,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_BORDER,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_GROUPING,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_SEPARATOR,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_TOOLBAR,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_STATUSBAR,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_TABLE,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_COLUMNHEADER,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_ROWHEADER,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_COLUMN,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_ROW,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_CELL,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_LINK,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_HELPBALLOON,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_CHARACTER,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_LIST,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_LISTITEM,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_OUTLINE,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_OUTLINEITEM,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_PAGETAB,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_PROPERTYPAGE,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_INDICATOR,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_GRAPHIC,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_STATICTEXT,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_TEXT,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_PUSHBUTTON,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_CHECKBUTTON,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_RADIOBUTTON,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_COMBOBOX,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_DROPLIST,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_PROGRESSBAR,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_DIAL,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_HOTKEYFIELD,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_SLIDER,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_SPINBUTTON,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_DIAGRAM,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_ANIMATION,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_EQUATION,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_BUTTONDROPDOWN,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_BUTTONMENU,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_BUTTONDROPDOWNGRID,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_WHITESPACE,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_PAGETABLIST,
4e2933c620 2015-04-21        kinaba: 	ROLE_SYSTEM_CLOCK // = 61
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_UNAVAILABLE     = 0x00000001,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_SELECTED        = 0x00000002,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_FOCUSED         = 0x00000004,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_PRESSED         = 0x00000008,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_CHECKED         = 0x00000010,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_MIXED           = 0x00000020,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_READONLY        = 0x00000040,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_HOTTRACKED      = 0x00000080,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_DEFAULT         = 0x00000100,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_EXPANDED        = 0x00000200,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_COLLAPSED       = 0x00000400,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_BUSY            = 0x00000800,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_FLOATING        = 0x00001000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_MARQUEED        = 0x00002000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_ANIMATED        = 0x00004000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_INVISIBLE       = 0x00008000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_OFFSCREEN       = 0x00010000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_SIZEABLE        = 0x00020000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_MOVEABLE        = 0x00040000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_SELFVOICING     = 0x00080000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_FOCUSABLE       = 0x00100000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_SELECTABLE      = 0x00200000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_LINKED          = 0x00400000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_TRAVERSED       = 0x00800000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_MULTISELECTABLE = 0x01000000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_EXTSELECTABLE   = 0x02000000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_ALERT_LOW       = 0x04000000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_ALERT_MEDIUM    = 0x08000000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_ALERT_HIGH      = 0x10000000,
4e2933c620 2015-04-21        kinaba: 	STATE_SYSTEM_VALID           = 0x1fffffff
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum SELFLAG
4e2933c620 2015-04-21        kinaba: {
4e2933c620 2015-04-21        kinaba: 	SELFLAG_NONE            = 0,
4e2933c620 2015-04-21        kinaba: 	SELFLAG_TAKEFOCUS       = 1,
4e2933c620 2015-04-21        kinaba: 	SELFLAG_TAKESELECTION   = 2,
4e2933c620 2015-04-21        kinaba: 	SELFLAG_EXTENDSELECTION = 4,
4e2933c620 2015-04-21        kinaba: 	SELFLAG_ADDSELECTION    = 8,
4e2933c620 2015-04-21        kinaba: 	SELFLAG_REMOVESELECTION = 16
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const SELFLAG_VALID = 0x0000001F;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: interface IAccessible : IDispatch {
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accParent(IDispatch**);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accChildCount(int*);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accChild(VARIANT, IDispatch **);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accName(VARIANT, BSTR*);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accValue(VARIANT, BSTR*);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accDescription(VARIANT, BSTR*);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accRole(VARIANT, VARIANT*);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accState(VARIANT, VARIANT*);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accHelp(VARIANT, BSTR*);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accHelpTopic(BSTR*, VARIANT, int*);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accKeyboardShortcut(VARIANT, BSTR*);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accFocus(VARIANT*);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accSelection(VARIANT*);
4e2933c620 2015-04-21        kinaba: 	HRESULT get_accDefaultAction(VARIANT, BSTR*);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	HRESULT accSelect(int, VARIANT);
4e2933c620 2015-04-21        kinaba: 	HRESULT accLocation(int*, int*, int*, int*, VARIANT);
4e2933c620 2015-04-21        kinaba: 	HRESULT accNavigate(int, VARIANT, VARIANT*);
4e2933c620 2015-04-21        kinaba: 	HRESULT accHitTest(int, int, VARIANT*);
4e2933c620 2015-04-21        kinaba: 	HRESULT accDoDefaultAction(VARIANT);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	HRESULT put_accName(VARIANT, BSTR);
4e2933c620 2015-04-21        kinaba: 	HRESULT put_accValue(VARIANT, BSTR);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias IAccessible* LPACCESSIBLE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Windows) {
4e2933c620 2015-04-21        kinaba: 	HRESULT AccessibleChildren(IAccessible*, LONG, LONG, VARIANT*, LONG*);
4e2933c620 2015-04-21        kinaba: 	HRESULT AccessibleObjectFromEvent(HWND, DWORD, DWORD, IAccessible*, VARIANT*);
4e2933c620 2015-04-21        kinaba: 	HRESULT AccessibleObjectFromPoint(POINT, IAccessible**, VARIANT*);
4e2933c620 2015-04-21        kinaba: 	HRESULT AccessibleObjectFromWindow(HWND, DWORD, REFIID, void**);
4e2933c620 2015-04-21        kinaba: 	HRESULT CreateStdAccessibleObject(HWND, LONG, REFIID, void**);
4e2933c620 2015-04-21        kinaba: 	HRESULT CreateStdAccessibleProxyA(HWND, LPCSTR, LONG, REFIID, void**);
4e2933c620 2015-04-21        kinaba: 	HRESULT CreateStdAccessibleProxyW(HWND, LPCWSTR, LONG, REFIID, void**);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	void GetOleaccVersionInfo(DWORD*, DWORD*);
4e2933c620 2015-04-21        kinaba: 	UINT GetRoleTextA(DWORD, LPSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	UINT GetRoleTextW(DWORD, LPWSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	UINT GetStateTextA(DWORD, LPSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	UINT GetStateTextW(DWORD, LPWSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	LRESULT LresultFromObject(REFIID, WPARAM, LPUNKNOWN);
4e2933c620 2015-04-21        kinaba: 	HRESULT ObjectFromLresult(LRESULT, REFIID, WPARAM, void**);
4e2933c620 2015-04-21        kinaba: 	HRESULT WindowFromAccessibleObject(IAccessible*, HWND*);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: version(Unicode) {
4e2933c620 2015-04-21        kinaba: 	alias CreateStdAccessibleProxyW CreateStdAccessibleProxy;
4e2933c620 2015-04-21        kinaba: 	alias GetRoleTextW GetRoleText;
4e2933c620 2015-04-21        kinaba: 	alias GetStateTextW GetStateText;
4e2933c620 2015-04-21        kinaba: } else {
4e2933c620 2015-04-21        kinaba: 	alias CreateStdAccessibleProxyA CreateStdAccessibleProxy;
4e2933c620 2015-04-21        kinaba: 	alias GetRoleTextA GetRoleText;
4e2933c620 2015-04-21        kinaba: 	alias GetStateTextA GetStateText;
4e2933c620 2015-04-21        kinaba: }