1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_oleacc.d) 8 */ 9 module nulib.system.win32.oleacc; 10 import nulib.system.win32.basetyps; 11 import nulib.system.win32.oaidl; 12 import nulib.system.win32.wtypes; 13 import nulib.system.win32.windef; 14 import nulib.system.com; 15 pragma(lib, "oleacc"); 16 17 18 version (ANSI) {} else version = Unicode; 19 20 enum { 21 DISPID_ACC_PARENT = -5000, 22 DISPID_ACC_CHILDCOUNT = -5001, 23 DISPID_ACC_CHILD = -5002, 24 DISPID_ACC_NAME = -5003, 25 DISPID_ACC_VALUE = -5004, 26 DISPID_ACC_DESCRIPTION = -5005, 27 DISPID_ACC_ROLE = -5006, 28 DISPID_ACC_STATE = -5007, 29 DISPID_ACC_HELP = -5008, 30 DISPID_ACC_HELPTOPIC = -5009, 31 DISPID_ACC_KEYBOARDSHORTCUT = -5010, 32 DISPID_ACC_FOCUS = -5011, 33 DISPID_ACC_SELECTION = -5012, 34 DISPID_ACC_DEFAULTACTION = -5013, 35 DISPID_ACC_SELECT = -5014, 36 DISPID_ACC_LOCATION = -5015, 37 DISPID_ACC_NAVIGATE = -5016, 38 DISPID_ACC_HITTEST = -5017, 39 DISPID_ACC_DODEFAULTACTION = -5018 40 } 41 42 enum { 43 NAVDIR_UP = 1, 44 NAVDIR_DOWN, 45 NAVDIR_LEFT, 46 NAVDIR_RIGHT, 47 NAVDIR_NEXT, 48 NAVDIR_PREVIOUS, 49 NAVDIR_FIRSTCHILD, 50 NAVDIR_LASTCHILD // = 8 51 } 52 53 enum { 54 ROLE_SYSTEM_TITLEBAR = 1, 55 ROLE_SYSTEM_MENUBAR, 56 ROLE_SYSTEM_SCROLLBAR, 57 ROLE_SYSTEM_GRIP, 58 ROLE_SYSTEM_SOUND, 59 ROLE_SYSTEM_CURSOR, 60 ROLE_SYSTEM_CARET, 61 ROLE_SYSTEM_ALERT, 62 ROLE_SYSTEM_WINDOW, 63 ROLE_SYSTEM_CLIENT, 64 ROLE_SYSTEM_MENUPOPUP, 65 ROLE_SYSTEM_MENUITEM, 66 ROLE_SYSTEM_TOOLTIP, 67 ROLE_SYSTEM_APPLICATION, 68 ROLE_SYSTEM_DOCUMENT, 69 ROLE_SYSTEM_PANE, 70 ROLE_SYSTEM_CHART, 71 ROLE_SYSTEM_DIALOG, 72 ROLE_SYSTEM_BORDER, 73 ROLE_SYSTEM_GROUPING, 74 ROLE_SYSTEM_SEPARATOR, 75 ROLE_SYSTEM_TOOLBAR, 76 ROLE_SYSTEM_STATUSBAR, 77 ROLE_SYSTEM_TABLE, 78 ROLE_SYSTEM_COLUMNHEADER, 79 ROLE_SYSTEM_ROWHEADER, 80 ROLE_SYSTEM_COLUMN, 81 ROLE_SYSTEM_ROW, 82 ROLE_SYSTEM_CELL, 83 ROLE_SYSTEM_LINK, 84 ROLE_SYSTEM_HELPBALLOON, 85 ROLE_SYSTEM_CHARACTER, 86 ROLE_SYSTEM_LIST, 87 ROLE_SYSTEM_LISTITEM, 88 ROLE_SYSTEM_OUTLINE, 89 ROLE_SYSTEM_OUTLINEITEM, 90 ROLE_SYSTEM_PAGETAB, 91 ROLE_SYSTEM_PROPERTYPAGE, 92 ROLE_SYSTEM_INDICATOR, 93 ROLE_SYSTEM_GRAPHIC, 94 ROLE_SYSTEM_STATICTEXT, 95 ROLE_SYSTEM_TEXT, 96 ROLE_SYSTEM_PUSHBUTTON, 97 ROLE_SYSTEM_CHECKBUTTON, 98 ROLE_SYSTEM_RADIOBUTTON, 99 ROLE_SYSTEM_COMBOBOX, 100 ROLE_SYSTEM_DROPLIST, 101 ROLE_SYSTEM_PROGRESSBAR, 102 ROLE_SYSTEM_DIAL, 103 ROLE_SYSTEM_HOTKEYFIELD, 104 ROLE_SYSTEM_SLIDER, 105 ROLE_SYSTEM_SPINBUTTON, 106 ROLE_SYSTEM_DIAGRAM, 107 ROLE_SYSTEM_ANIMATION, 108 ROLE_SYSTEM_EQUATION, 109 ROLE_SYSTEM_BUTTONDROPDOWN, 110 ROLE_SYSTEM_BUTTONMENU, 111 ROLE_SYSTEM_BUTTONDROPDOWNGRID, 112 ROLE_SYSTEM_WHITESPACE, 113 ROLE_SYSTEM_PAGETABLIST, 114 ROLE_SYSTEM_CLOCK // = 61 115 } 116 117 enum { 118 STATE_SYSTEM_UNAVAILABLE = 0x00000001, 119 STATE_SYSTEM_SELECTED = 0x00000002, 120 STATE_SYSTEM_FOCUSED = 0x00000004, 121 STATE_SYSTEM_PRESSED = 0x00000008, 122 STATE_SYSTEM_CHECKED = 0x00000010, 123 STATE_SYSTEM_MIXED = 0x00000020, 124 STATE_SYSTEM_READONLY = 0x00000040, 125 STATE_SYSTEM_HOTTRACKED = 0x00000080, 126 STATE_SYSTEM_DEFAULT = 0x00000100, 127 STATE_SYSTEM_EXPANDED = 0x00000200, 128 STATE_SYSTEM_COLLAPSED = 0x00000400, 129 STATE_SYSTEM_BUSY = 0x00000800, 130 STATE_SYSTEM_FLOATING = 0x00001000, 131 STATE_SYSTEM_MARQUEED = 0x00002000, 132 STATE_SYSTEM_ANIMATED = 0x00004000, 133 STATE_SYSTEM_INVISIBLE = 0x00008000, 134 STATE_SYSTEM_OFFSCREEN = 0x00010000, 135 STATE_SYSTEM_SIZEABLE = 0x00020000, 136 STATE_SYSTEM_MOVEABLE = 0x00040000, 137 STATE_SYSTEM_SELFVOICING = 0x00080000, 138 STATE_SYSTEM_FOCUSABLE = 0x00100000, 139 STATE_SYSTEM_SELECTABLE = 0x00200000, 140 STATE_SYSTEM_LINKED = 0x00400000, 141 STATE_SYSTEM_TRAVERSED = 0x00800000, 142 STATE_SYSTEM_MULTISELECTABLE = 0x01000000, 143 STATE_SYSTEM_EXTSELECTABLE = 0x02000000, 144 STATE_SYSTEM_ALERT_LOW = 0x04000000, 145 STATE_SYSTEM_ALERT_MEDIUM = 0x08000000, 146 STATE_SYSTEM_ALERT_HIGH = 0x10000000, 147 STATE_SYSTEM_VALID = 0x1fffffff 148 } 149 150 enum SELFLAG 151 { 152 SELFLAG_NONE = 0, 153 SELFLAG_TAKEFOCUS = 1, 154 SELFLAG_TAKESELECTION = 2, 155 SELFLAG_EXTENDSELECTION = 4, 156 SELFLAG_ADDSELECTION = 8, 157 SELFLAG_REMOVESELECTION = 16 158 } 159 160 enum SELFLAG_VALID = 0x0000001F; 161 162 163 interface IAccessible : IDispatch { 164 HRESULT get_accParent(IDispatch*); 165 HRESULT get_accChildCount(int*); 166 HRESULT get_accChild(VARIANT, IDispatch*); 167 HRESULT get_accName(VARIANT, BSTR*); 168 HRESULT get_accValue(VARIANT, BSTR*); 169 HRESULT get_accDescription(VARIANT, BSTR*); 170 HRESULT get_accRole(VARIANT, VARIANT*); 171 HRESULT get_accState(VARIANT, VARIANT*); 172 HRESULT get_accHelp(VARIANT, BSTR*); 173 HRESULT get_accHelpTopic(BSTR*, VARIANT, int*); 174 HRESULT get_accKeyboardShortcut(VARIANT, BSTR*); 175 HRESULT get_accFocus(VARIANT*); 176 HRESULT get_accSelection(VARIANT*); 177 HRESULT get_accDefaultAction(VARIANT, BSTR*); 178 179 HRESULT accSelect(int, VARIANT); 180 HRESULT accLocation(int*, int*, int*, int*, VARIANT); 181 HRESULT accNavigate(int, VARIANT, VARIANT*); 182 HRESULT accHitTest(int, int, VARIANT*); 183 HRESULT accDoDefaultAction(VARIANT); 184 185 HRESULT put_accName(VARIANT, BSTR); 186 HRESULT put_accValue(VARIANT, BSTR); 187 } 188 189 alias LPACCESSIBLE = IAccessible; 190 191 extern (Windows) nothrow @nogc { 192 HRESULT AccessibleChildren(IAccessible, LONG, LONG, VARIANT*, LONG*); 193 HRESULT AccessibleObjectFromEvent(HWND, DWORD, DWORD, IAccessible, VARIANT*); 194 HRESULT AccessibleObjectFromPoint(POINT, IAccessible*, VARIANT*); 195 HRESULT AccessibleObjectFromWindow(HWND, DWORD, REFIID, void**); 196 HRESULT CreateStdAccessibleObject(HWND, LONG, REFIID, void**); 197 HRESULT CreateStdAccessibleProxyA(HWND, LPCSTR, LONG, REFIID, void**); 198 HRESULT CreateStdAccessibleProxyW(HWND, LPCWSTR, LONG, REFIID, void**); 199 200 void GetOleaccVersionInfo(DWORD*, DWORD*); 201 UINT GetRoleTextA(DWORD, LPSTR, UINT); 202 UINT GetRoleTextW(DWORD, LPWSTR, UINT); 203 UINT GetStateTextA(DWORD, LPSTR, UINT); 204 UINT GetStateTextW(DWORD, LPWSTR, UINT); 205 LRESULT LresultFromObject(REFIID, WPARAM, LPUNKNOWN); 206 HRESULT ObjectFromLresult(LRESULT, REFIID, WPARAM, void**); 207 HRESULT WindowFromAccessibleObject(IAccessible, HWND*); 208 } 209 210 version (Unicode) { 211 alias CreateStdAccessibleProxy = CreateStdAccessibleProxyW; 212 alias GetRoleText = GetRoleTextW; 213 alias GetStateText = GetStateTextW; 214 } else { 215 alias CreateStdAccessibleProxy = CreateStdAccessibleProxyA; 216 alias GetRoleText = GetRoleTextA; 217 alias GetStateText = GetStateTextA; 218 }