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; 9b639cf2d6 2015-05-05 kinaba: pragma(lib, "oleacc"); 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 { 9b639cf2d6 2015-05-05 kinaba: HRESULT get_accParent(IDispatch*); 4e2933c620 2015-04-21 kinaba: HRESULT get_accChildCount(int*); 9b639cf2d6 2015-05-05 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: 9b639cf2d6 2015-05-05 kinaba: alias IAccessible LPACCESSIBLE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) { 9b639cf2d6 2015-05-05 kinaba: HRESULT AccessibleChildren(IAccessible, LONG, LONG, VARIANT*, LONG*); 9b639cf2d6 2015-05-05 kinaba: HRESULT AccessibleObjectFromEvent(HWND, DWORD, DWORD, IAccessible, VARIANT*); 9b639cf2d6 2015-05-05 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**); 9b639cf2d6 2015-05-05 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: }