summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure95
-rw-r--r--doc/global/qt-cpp-defines.qdocconf2
-rw-r--r--doc/global/template/style/offline.css5
-rw-r--r--doc/global/template/style/online.css5
-rw-r--r--examples/corelib/tools/customtype/message.cpp3
-rw-r--r--examples/opengl/hellowindow/hellowindow.cpp16
-rw-r--r--examples/opengl/hellowindow/hellowindow.h4
-rw-r--r--examples/opengl/hellowindow/main.cpp18
-rw-r--r--examples/widgets/gestures/imagegestures/imagewidget.cpp4
-rw-r--r--examples/widgets/gestures/imagegestures/main.cpp9
-rw-r--r--mkspecs/android-g++/qmake.conf66
-rw-r--r--mkspecs/android-g++/qplatformdefs.h5
-rw-r--r--mkspecs/common/gcc-base.conf2
-rw-r--r--mkspecs/common/sanitize.conf23
-rw-r--r--mkspecs/features/sanitizer.prf30
-rw-r--r--qmake/Makefile.unix4
-rw-r--r--qmake/generators/win32/msbuild_objectmodel.cpp8
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp3
-rw-r--r--qmake/qmake.pri4
-rw-r--r--src/3rdparty/atspi2/atspi/atspi-constants.h118
-rw-r--r--src/3rdparty/forkfd/forkfd.c495
-rw-r--r--src/3rdparty/forkfd/forkfd.h58
-rw-r--r--src/3rdparty/forkfd/forkfd_gcc.h76
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/Accessible2.h585
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/Accessible2_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/Accessible2_p.c1196
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleAction.h220
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_p.c557
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication.h188
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_p.c420
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent.h185
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_p.c360
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText.h235
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_p.c579
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleEventID.h105
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink.h252
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_p.c1113
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext.h349
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_p.c454
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleImage.h185
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_p.c414
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation.h244
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_p.c520
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleRole.h118
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleStates.h95
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleTable.h497
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2.h367
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_p.c1099
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell.h246
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_p.c634
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_p.c1543
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleText.h435
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleText_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleText_p.c1203
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleValue.h188
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_p.c1029
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/IA2CommonTypes.h102
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.h103
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.tlbbin1236 -> 0 bytes
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/dlldata.c30
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.h4667
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.tlbbin0 -> 27672 bytes
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_i.c133
-rw-r--r--src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_p.c7867
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/Accessible2.h585
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/Accessible2_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/Accessible2_p.c1190
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleAction.h220
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleAction_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleAction_p.c563
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleApplication.h188
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_p.c428
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleComponent.h185
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_p.c369
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText.h235
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_p.c584
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleEventID.h105
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink.h252
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_p.c1191
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext.h349
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_p.c463
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleImage.h185
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleImage_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleImage_p.c423
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleRelation.h244
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_p.c527
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleRole.h118
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleStates.h95
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleTable.h497
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleTable2.h367
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_p.c1091
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell.h246
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_p.c637
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleTable_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleTable_p.c1526
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleText.h435
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleText_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleText_p.c1196
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleValue.h188
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleValue_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/AccessibleValue_p.c1105
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/IA2CommonTypes.h102
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.h103
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.tlbbin1236 -> 0 bytes
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary_i.c79
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/dlldata.c30
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/ia2_api_all.h4667
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/ia2_api_all.tlbbin0 -> 27672 bytes
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/ia2_api_all_i.c133
-rw-r--r--src/3rdparty/iaccessible2/generated/x86/ia2_api_all_p.c7823
-rw-r--r--src/3rdparty/iaccessible2/iaccessible2.pri74
-rw-r--r--src/3rdparty/iaccessible2/idl/Accessible2.idl679
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleAction.idl194
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleApplication.idl121
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleComponent.idl124
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleEditableText.idl259
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleEventID.idl230
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleHyperlink.idl187
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleHypertext.idl123
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleImage.idl111
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleRelation.idl197
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleRole.idl293
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleStates.idl209
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleTable.idl551
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleTable2.idl375
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleTableCell.idl194
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleText.idl674
-rw-r--r--src/3rdparty/iaccessible2/idl/AccessibleValue.idl136
-rw-r--r--src/3rdparty/iaccessible2/idl/IA2CommonTypes.idl191
-rw-r--r--src/3rdparty/iaccessible2/idl/IA2TypeLibrary.idl94
-rw-r--r--src/3rdparty/iaccessible2/idl/Makefile41
-rw-r--r--src/3rdparty/iaccessible2/idl/README3
-rw-r--r--src/3rdparty/iaccessible2/idl/ia2_api_all.idl5473
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qmimedata.cpp6
-rw-r--r--src/corelib/doc/snippets/qstring/main.cpp14
-rw-r--r--src/corelib/global/qcompilerdetection.h11
-rw-r--r--src/corelib/global/qflags.h14
-rw-r--r--src/corelib/global/qglobal.cpp116
-rw-r--r--src/corelib/global/qglobal.h7
-rw-r--r--src/corelib/global/qsysinfo.h18
-rw-r--r--src/corelib/io/qdatastream.cpp1
-rw-r--r--src/corelib/io/qdatastream.h5
-rw-r--r--src/corelib/io/qfileselector.cpp2
-rw-r--r--src/corelib/io/qiodevice.cpp167
-rw-r--r--src/corelib/io/qresource.cpp16
-rw-r--r--src/corelib/io/qstorageinfo_p.h6
-rw-r--r--src/corelib/io/qstorageinfo_unix.cpp4
-rw-r--r--src/corelib/io/qstorageinfo_win.cpp8
-rw-r--r--src/corelib/io/qtemporaryfile.cpp1
-rw-r--r--src/corelib/io/qtextstream.cpp30
-rw-r--r--src/corelib/io/qtextstream_p.h2
-rw-r--r--src/corelib/itemmodels/qabstractproxymodel.h2
-rw-r--r--src/corelib/itemmodels/qidentityproxymodel.cpp3
-rw-r--r--src/corelib/itemmodels/qidentityproxymodel.h2
-rw-r--r--src/corelib/json/qjsonobject.cpp43
-rw-r--r--src/corelib/json/qjsonobject.h4
-rw-r--r--src/corelib/json/qjsonvalue.cpp3
-rw-r--r--src/corelib/kernel/kernel.pri24
-rw-r--r--src/corelib/kernel/qcore_mac_objc.mm67
-rw-r--r--src/corelib/kernel/qcore_mac_p.h8
-rw-r--r--src/corelib/kernel/qcoreevent.cpp1
-rw-r--r--src/corelib/kernel/qcoreevent.h2
-rw-r--r--src/corelib/kernel/qmetaobject.cpp178
-rw-r--r--src/corelib/kernel/qmetaobject.h33
-rw-r--r--src/corelib/kernel/qmetaobject_p.h4
-rw-r--r--src/corelib/kernel/qmetatype.cpp256
-rw-r--r--src/corelib/kernel/qmetatype.h69
-rw-r--r--src/corelib/kernel/qmetatype_p.h6
-rw-r--r--src/corelib/kernel/qmimedata.cpp5
-rw-r--r--src/corelib/kernel/qobject.cpp10
-rw-r--r--src/corelib/kernel/qobjectdefs.h4
-rw-r--r--src/corelib/kernel/qtranslator.cpp1
-rw-r--r--src/corelib/kernel/qvariant.cpp45
-rw-r--r--src/corelib/plugin/qlibrary.cpp5
-rw-r--r--src/corelib/tools/qarraydata.cpp19
-rw-r--r--src/corelib/tools/qarraydatapointer.h6
-rw-r--r--src/corelib/tools/qbytearray.cpp205
-rw-r--r--src/corelib/tools/qbytearray.h40
-rw-r--r--src/corelib/tools/qchar.h2
-rw-r--r--src/corelib/tools/qcommandlineparser.cpp68
-rw-r--r--src/corelib/tools/qdatetime.cpp101
-rw-r--r--src/corelib/tools/qdatetime.h16
-rw-r--r--src/corelib/tools/qdatetime_mac.mm76
-rw-r--r--src/corelib/tools/qdatetime_p.h3
-rw-r--r--src/corelib/tools/qeasingcurve.cpp87
-rw-r--r--src/corelib/tools/qelapsedtimer_unix.cpp14
-rw-r--r--src/corelib/tools/qhash.cpp4
-rw-r--r--src/corelib/tools/qlist.cpp2
-rw-r--r--src/corelib/tools/qlist.h25
-rw-r--r--src/corelib/tools/qmargins.h90
-rw-r--r--src/corelib/tools/qpair.h4
-rw-r--r--src/corelib/tools/qpoint.h72
-rw-r--r--src/corelib/tools/qrect.h264
-rw-r--r--src/corelib/tools/qregularexpression.cpp131
-rw-r--r--src/corelib/tools/qregularexpression.h10
-rw-r--r--src/corelib/tools/qringbuffer_p.h10
-rw-r--r--src/corelib/tools/qsize.h56
-rw-r--r--src/corelib/tools/qstring.cpp514
-rw-r--r--src/corelib/tools/qstring.h77
-rw-r--r--src/corelib/tools/qstring_compat.cpp49
-rw-r--r--src/corelib/tools/qstringalgorithms_p.h156
-rw-r--r--src/corelib/tools/qstringiterator_p.h5
-rw-r--r--src/corelib/tools/qtimezone.cpp4
-rw-r--r--src/corelib/tools/qtimezoneprivate_android.cpp235
-rw-r--r--src/corelib/tools/qtimezoneprivate_p.h48
-rw-r--r--src/corelib/tools/qtools_p.h6
-rw-r--r--src/corelib/tools/qvector.cpp12
-rw-r--r--src/corelib/tools/qvector.h26
-rw-r--r--src/corelib/tools/tools.pri11
-rw-r--r--src/dbus/qdbusintegrator.cpp2
-rw-r--r--src/dbus/qdbusmetaobject.cpp14
-rw-r--r--src/gui/accessible/qaccessible.cpp105
-rw-r--r--src/gui/accessible/qaccessible.h6
-rw-r--r--src/gui/accessible/qaccessiblecache.cpp4
-rw-r--r--src/gui/accessible/qaccessiblecache_p.h4
-rw-r--r--src/gui/image/qbmphandler.cpp4
-rw-r--r--src/gui/image/qicon.cpp2
-rw-r--r--src/gui/image/qimage.cpp98
-rw-r--r--src/gui/image/qimage.h16
-rw-r--r--src/gui/image/qimage_conversions.cpp337
-rw-r--r--src/gui/image/qimage_p.h2
-rw-r--r--src/gui/image/qimagereader.cpp2
-rw-r--r--src/gui/image/qjpeghandler.cpp31
-rw-r--r--src/gui/image/qpixmap_raster.cpp9
-rw-r--r--src/gui/image/qpnghandler.cpp14
-rw-r--r--src/gui/image/qppmhandler.cpp108
-rw-r--r--src/gui/kernel/qevent.cpp63
-rw-r--r--src/gui/kernel/qevent.h19
-rw-r--r--src/gui/kernel/qguiapplication.cpp52
-rw-r--r--src/gui/kernel/qkeysequence.cpp5
-rw-r--r--src/gui/kernel/qkeysequence.h3
-rw-r--r--src/gui/kernel/qoffscreensurface.cpp7
-rw-r--r--src/gui/kernel/qopenglcontext.cpp1
-rw-r--r--src/gui/kernel/qpaintdevicewindow.cpp5
-rw-r--r--src/gui/kernel/qpaintdevicewindow_p.h12
-rw-r--r--src/gui/kernel/qpixelformat.cpp18
-rw-r--r--src/gui/kernel/qpixelformat.h19
-rw-r--r--src/gui/kernel/qplatformintegration.cpp10
-rw-r--r--src/gui/kernel/qplatformintegration.h1
-rw-r--r--src/gui/kernel/qplatformopenglcontext.cpp10
-rw-r--r--src/gui/kernel/qplatformopenglcontext.h2
-rw-r--r--src/gui/kernel/qplatformtheme.cpp7
-rw-r--r--src/gui/kernel/qplatformtheme.h3
-rw-r--r--src/gui/kernel/qplatformwindow.cpp32
-rw-r--r--src/gui/kernel/qplatformwindow.h1
-rw-r--r--src/gui/kernel/qshortcutmap.cpp4
-rw-r--r--src/gui/kernel/qsurface.h4
-rw-r--r--src/gui/kernel/qwindow.cpp53
-rw-r--r--src/gui/kernel/qwindow.h2
-rw-r--r--src/gui/kernel/qwindow_p.h11
-rw-r--r--src/gui/kernel/qwindowsysteminterface.cpp36
-rw-r--r--src/gui/kernel/qwindowsysteminterface.h5
-rw-r--r--src/gui/kernel/qwindowsysteminterface_p.h20
-rw-r--r--src/gui/opengl/qopenglengineshadermanager.cpp12
-rw-r--r--src/gui/opengl/qopenglengineshadermanager_p.h6
-rw-r--r--src/gui/opengl/qopenglengineshadersource_p.h16
-rw-r--r--src/gui/opengl/qopenglfunctions.cpp5
-rw-r--r--src/gui/opengl/qopenglfunctions.h3
-rw-r--r--src/gui/opengl/qopenglpaintengine.cpp14
-rw-r--r--src/gui/opengl/qopenglshaderprogram.cpp152
-rw-r--r--src/gui/opengl/qopengltexture.cpp470
-rw-r--r--src/gui/opengl/qopengltexture.h211
-rw-r--r--src/gui/opengl/qopengltexture_p.h4
-rw-r--r--src/gui/opengl/qopengltexturecache.cpp33
-rw-r--r--src/gui/opengl/qopengltexturecache_p.h1
-rw-r--r--src/gui/opengl/qopengltexturehelper.cpp5
-rw-r--r--src/gui/opengl/qopenglvertexarrayobject.cpp5
-rw-r--r--src/gui/opengl/qtriangulator.cpp6
-rw-r--r--src/gui/painting/painting.pri1
-rw-r--r--src/gui/painting/qblendfunctions.cpp426
-rw-r--r--src/gui/painting/qbrush.h2
-rw-r--r--src/gui/painting/qcolor.h2
-rw-r--r--src/gui/painting/qdrawhelper.cpp103
-rw-r--r--src/gui/painting/qmemrotate.cpp17
-rw-r--r--src/gui/painting/qpainter.cpp14
-rw-r--r--src/gui/painting/qpdf.cpp13
-rw-r--r--src/gui/painting/qrgb.h14
-rw-r--r--src/gui/painting/qtextureglyphcache.cpp8
-rw-r--r--src/gui/text/qdistancefield.cpp5
-rw-r--r--src/gui/text/qfontdatabase.cpp85
-rw-r--r--src/gui/text/qfontdatabase.h2
-rw-r--r--src/gui/text/qfontengine.cpp214
-rw-r--r--src/gui/text/qfontengine_ft.cpp11
-rw-r--r--src/gui/text/qfontengine_p.h48
-rw-r--r--src/gui/text/qfontengine_qpf2.cpp2
-rw-r--r--src/gui/text/qfragmentmap_p.h2
-rw-r--r--src/gui/text/qplatformfontdatabase.cpp2
-rw-r--r--src/gui/text/qtextdocument.cpp168
-rw-r--r--src/gui/text/qtextdocument.h11
-rw-r--r--src/gui/text/qtextdocument_p.cpp2
-rw-r--r--src/gui/text/qtextengine.cpp4
-rw-r--r--src/gui/text/qtextformat.cpp20
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp11
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h2
-rw-r--r--src/network/access/qhttpthreaddelegate.cpp10
-rw-r--r--src/network/access/qnetworkreply.cpp1
-rw-r--r--src/network/access/qnetworkreply_p.h1
-rw-r--r--src/network/access/qnetworkreplyhttpimpl.cpp19
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp18
-rw-r--r--src/network/access/qnetworkrequest.cpp7
-rw-r--r--src/network/access/qnetworkrequest.h1
-rw-r--r--src/network/ssl/qsslconfiguration.cpp46
-rw-r--r--src/network/ssl/qsslconfiguration.h5
-rw-r--r--src/network/ssl/qsslconfiguration_p.h3
-rw-r--r--src/network/ssl/qsslcontext_openssl.cpp27
-rw-r--r--src/network/ssl/qsslellipticcurve.cpp173
-rw-r--r--src/network/ssl/qsslellipticcurve.h104
-rw-r--r--src/network/ssl/qsslellipticcurve_dummy.cpp67
-rw-r--r--src/network/ssl/qsslellipticcurve_openssl.cpp167
-rw-r--r--src/network/ssl/qsslsocket.cpp161
-rw-r--r--src/network/ssl/qsslsocket.h8
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp28
-rw-r--r--src/network/ssl/qsslsocket_openssl_symbols.cpp11
-rw-r--r--src/network/ssl/qsslsocket_openssl_symbols_p.h7
-rw-r--r--src/network/ssl/qsslsocket_p.h6
-rw-r--r--src/network/ssl/ssl.pri6
-rw-r--r--src/platformsupport/accessibility/qaccessiblebridgeutils_p.h4
-rw-r--r--src/platformsupport/eglconvenience/eglconvenience.pri4
-rw-r--r--src/platformsupport/eglconvenience/qeglconvenience.cpp12
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformcontext.cpp56
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformcontext_p.h3
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformcursor_p.h1
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformintegration.cpp45
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformintegration_p.h5
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformscreen.cpp49
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformscreen_p.h13
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformwindow.cpp24
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformwindow_p.h17
-rw-r--r--src/platformsupport/eglconvenience/qxlibeglintegration.cpp34
-rw-r--r--src/platformsupport/fbconvenience/qfbvthandler.cpp2
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp41
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp6
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h2
-rw-r--r--src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm10
-rw-r--r--src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp72
-rw-r--r--src/platformsupport/input/evdevkeyboard/qevdevkeyboardmanager.cpp25
-rw-r--r--src/platformsupport/input/evdevmouse/qevdevmousehandler.cpp28
-rw-r--r--src/platformsupport/input/evdevmouse/qevdevmousemanager.cpp33
-rw-r--r--src/platformsupport/input/evdevtablet/qevdevtablet.cpp16
-rw-r--r--src/platformsupport/input/evdevtouch/qevdevtouch.cpp35
-rw-r--r--src/platformsupport/input/input.pri4
-rw-r--r--src/platformsupport/input/tslib/qtslib.cpp (renamed from src/plugins/generic/tslib/qtslib.cpp)34
-rw-r--r--src/platformsupport/input/tslib/qtslib_p.h (renamed from src/plugins/generic/tslib/qtslib.h)11
-rw-r--r--src/platformsupport/input/tslib/tslib.pri7
-rw-r--r--src/platformsupport/linuxaccessibility/application.cpp3
-rw-r--r--src/platformsupport/linuxaccessibility/application_p.h4
-rw-r--r--src/platformsupport/linuxaccessibility/atspiadaptor.cpp2
-rw-r--r--src/platformsupport/linuxaccessibility/atspiadaptor_p.h2
-rw-r--r--src/platformsupport/linuxaccessibility/bridge.cpp2
-rw-r--r--src/platformsupport/linuxaccessibility/bridge_p.h2
-rw-r--r--src/platformsupport/linuxaccessibility/cache.cpp6
-rw-r--r--src/platformsupport/linuxaccessibility/cache_p.h2
-rw-r--r--src/platformsupport/linuxaccessibility/constant_mappings.cpp2
-rw-r--r--src/platformsupport/linuxaccessibility/constant_mappings_p.h2
-rw-r--r--src/platformsupport/linuxaccessibility/struct_marshallers.cpp2
-rw-r--r--src/platformsupport/linuxaccessibility/struct_marshallers_p.h2
-rw-r--r--src/platformsupport/platformcompositor/platformcompositor.pri7
-rw-r--r--src/platformsupport/platformcompositor/qopenglcompositor.cpp (renamed from src/platformsupport/eglconvenience/qeglcompositor.cpp)158
-rw-r--r--src/platformsupport/platformcompositor/qopenglcompositor_p.h107
-rw-r--r--src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp (renamed from src/platformsupport/eglconvenience/qeglplatformbackingstore.cpp)103
-rw-r--r--src/platformsupport/platformcompositor/qopenglcompositorbackingstore_p.h (renamed from src/platformsupport/eglconvenience/qeglplatformbackingstore_p.h)20
-rw-r--r--src/platformsupport/platformsupport.pro1
-rw-r--r--src/platformsupport/themes/genericunix/qgenericunixthemes.cpp13
-rw-r--r--src/plugins/bearer/linux_common/qofonoservice_linux.cpp8
-rw-r--r--src/plugins/bearer/linux_common/qofonoservice_linux_p.h4
-rw-r--r--src/plugins/generic/tslib/main.cpp15
-rw-r--r--src/plugins/generic/tslib/tslib.pro7
-rw-r--r--src/plugins/platforms/android/androidjniinput.cpp2
-rw-r--r--src/plugins/platforms/android/androidjnimain.cpp2
-rw-r--r--src/plugins/platforms/android/androidjnimenu.cpp2
-rw-r--r--src/plugins/platforms/android/qandroidassetsfileenginehandler.cpp2
-rw-r--r--src/plugins/platforms/android/qandroidplatformscreen.cpp2
-rw-r--r--src/plugins/platforms/android/qandroidplatformtheme.cpp6
-rw-r--r--src/plugins/platforms/cocoa/qnsview.h1
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm27
-rw-r--r--src/plugins/platforms/eglfs/eglfs.pri6
-rw-r--r--src/plugins/platforms/eglfs/qeglfscontext.cpp35
-rw-r--r--src/plugins/platforms/eglfs/qeglfscontext.h5
-rw-r--r--src/plugins/platforms/eglfs/qeglfshooks.h13
-rw-r--r--src/plugins/platforms/eglfs/qeglfshooks_kms.cpp1136
-rw-r--r--src/plugins/platforms/eglfs/qeglfshooks_stub.cpp42
-rw-r--r--src/plugins/platforms/eglfs/qeglfshooks_x11.cpp4
-rw-r--r--src/plugins/platforms/eglfs/qeglfsintegration.cpp46
-rw-r--r--src/plugins/platforms/eglfs/qeglfsintegration.h6
-rw-r--r--src/plugins/platforms/eglfs/qeglfsoffscreenwindow.cpp85
-rw-r--r--src/plugins/platforms/eglfs/qeglfsoffscreenwindow.h68
-rw-r--r--src/plugins/platforms/eglfs/qeglfsscreen.cpp6
-rw-r--r--src/plugins/platforms/eglfs/qeglfsscreen.h11
-rw-r--r--src/plugins/platforms/eglfs/qeglfswindow.cpp42
-rw-r--r--src/plugins/platforms/ios/quiaccessibilityelement.mm29
-rw-r--r--src/plugins/platforms/kms/qkmsscreen.cpp2
-rw-r--r--src/plugins/platforms/minimal/qminimalintegration.cpp2
-rw-r--r--src/plugins/platforms/qnx/qqnxglcontext.cpp4
-rw-r--r--src/plugins/platforms/qnx/qqnxglcontext.h4
-rw-r--r--src/plugins/platforms/qnx/qqnxintegration.cpp4
-rw-r--r--src/plugins/platforms/qnx/qqnxscreen.cpp6
-rw-r--r--src/plugins/platforms/windows/accessible/iaccessible2.cpp2
-rw-r--r--src/plugins/platforms/windows/accessible/iaccessible2.h19
-rw-r--r--src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h2
-rw-r--r--src/plugins/platforms/windows/qwindowsfontdatabase.cpp2
-rw-r--r--src/plugins/platforms/windows/qwindowsfontengine.cpp40
-rw-r--r--src/plugins/platforms/windows/qwindowsfontengine.h5
-rw-r--r--src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp10
-rw-r--r--src/plugins/platforms/windows/qwindowsmime.cpp36
-rw-r--r--src/plugins/platforms/winrt/qwinrttheme.cpp2
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp2
-rw-r--r--src/plugins/plugins.pro1
-rw-r--r--src/plugins/styles/bb10style/bb10lightstyle.qrc54
-rw-r--r--src/plugins/styles/bb10style/bb10style.pro28
-rw-r--r--src/plugins/styles/bb10style/bright/button/core_button_disabled.pngbin0 -> 1510 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/button/core_button_disabled_selected.pngbin0 -> 1782 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/button/core_button_enabled_selected.pngbin0 -> 1830 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/button/core_button_inactive.pngbin0 -> 2428 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/button/core_button_pressed.pngbin0 -> 3221 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/checkbox/core_checkbox_checked.pngbin0 -> 2048 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/checkbox/core_checkbox_disabled.pngbin0 -> 935 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/checkbox/core_checkbox_disabled_checked.pngbin0 -> 1702 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/checkbox/core_checkbox_enabled.pngbin0 -> 1082 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/checkbox/core_checkbox_pressed.pngbin0 -> 2776 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/checkbox/core_checkbox_pressed_checked.pngbin0 -> 2652 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/combobox/core_dropdown_button.pngbin0 -> 1605 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowdown.pngbin0 -> 1419 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowdown_pressed.pngbin0 -> 1404 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowup.pngbin0 -> 1398 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_disabled.pngbin0 -> 1587 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_pressed.pngbin0 -> 1801 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/combobox/core_dropdown_checkmark.pngbin0 -> 1769 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/combobox/core_dropdown_divider.pngbin0 -> 134 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/combobox/core_dropdown_menu.pngbin0 -> 874 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/combobox/core_dropdown_menuup.pngbin0 -> 996 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/combobox/core_listitem_active.pngbin0 -> 182 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/lineedit/core_textinput_bg.pngbin0 -> 1315 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/lineedit/core_textinput_bg_disabled.pngbin0 -> 454 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/lineedit/core_textinput_bg_highlight.pngbin0 -> 394 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/listitem/core_listitem_active.pngbin0 -> 164 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/listitem/core_listitem_divider.pngbin0 -> 135 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/progressbar/core_progressindicator_bg.pngbin0 -> 1802 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_complete.pngbin0 -> 635 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_fill.pngbin0 -> 629 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vbg.pngbin0 -> 903 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vcomplete.pngbin0 -> 614 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vfill.pngbin0 -> 594 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_checked.pngbin0 -> 4471 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_disabled.pngbin0 -> 3652 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_disabled_checked.pngbin0 -> 4094 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_inactive.pngbin0 -> 4245 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_pressed.pngbin0 -> 5460 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/scrollbar/core_scrollbar.pngbin0 -> 1242 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/scrollbar/core_scrollbar_v.pngbin0 -> 385 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_active.pngbin0 -> 1167 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_cache.pngbin0 -> 1154 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_disabled.pngbin0 -> 1134 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_enabled.pngbin0 -> 1049 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_handle.pngbin0 -> 2843 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_handle_disabled.pngbin0 -> 2708 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/bright/slider/core_slider_handle_pressed.pngbin0 -> 6577 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_inactive.pngbin0 -> 1162 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_vactive.pngbin0 -> 1077 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_vcache.pngbin0 -> 1063 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_vdisabled.pngbin0 -> 1064 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_venabled.pngbin0 -> 996 bytes
-rw-r--r--src/plugins/styles/bb10style/bright/slider/core_slider_vinactive.pngbin0 -> 1071 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/button/core_button_disabled.pngbin0 -> 1291 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/button/core_button_disabled_selected.pngbin0 -> 1655 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/button/core_button_enabled_selected.pngbin0 -> 1665 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/button/core_button_inactive.pngbin0 -> 2262 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/button/core_button_pressed.pngbin0 -> 2853 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/checkbox/core_checkbox_checked.pngbin0 -> 1947 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/checkbox/core_checkbox_disabled.pngbin0 -> 787 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/checkbox/core_checkbox_disabled_checked.pngbin0 -> 1578 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/checkbox/core_checkbox_enabled.pngbin0 -> 925 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/checkbox/core_checkbox_pressed.pngbin0 -> 2478 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/checkbox/core_checkbox_pressed_checked.pngbin0 -> 2256 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/combobox/core_dropdown_button.pngbin0 -> 1425 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowdown.pngbin0 -> 1404 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowdown_pressed.pngbin0 -> 1465 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowup.pngbin0 -> 1383 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_disabled.pngbin0 -> 1291 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_pressed.pngbin0 -> 1583 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/combobox/core_dropdown_checkmark.pngbin0 -> 1588 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/combobox/core_dropdown_divider.pngbin0 -> 134 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/combobox/core_dropdown_menu.pngbin0 -> 662 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/combobox/core_dropdown_menuup.pngbin0 -> 688 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/combobox/core_listitem_active.pngbin0 -> 149 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/lineedit/core_textinput_bg.pngbin0 -> 1315 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/lineedit/core_textinput_bg_disabled.pngbin0 -> 454 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/lineedit/core_textinput_bg_highlight.pngbin0 -> 394 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/listitem/core_listitem_active.pngbin0 -> 164 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/listitem/core_listitem_divider.pngbin0 -> 136 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/progressbar/core_progressindicator_bg.pngbin0 -> 1724 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_complete.pngbin0 -> 635 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_fill.pngbin0 -> 658 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vbg.pngbin0 -> 815 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vcomplete.pngbin0 -> 614 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vfill.pngbin0 -> 602 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_checked.pngbin0 -> 4298 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_disabled.pngbin0 -> 3125 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_disabled_checked.pngbin0 -> 3539 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_inactive.pngbin0 -> 3968 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_pressed.pngbin0 -> 4777 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/scrollbar/core_scrollbar.pngbin0 -> 1245 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/scrollbar/core_scrollbar_v.pngbin0 -> 369 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_active.pngbin0 -> 1160 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_cache.pngbin0 -> 1154 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_disabled.pngbin0 -> 1105 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_enabled.pngbin0 -> 983 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_handle.pngbin0 -> 3019 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_handle_disabled.pngbin0 -> 1715 bytes
-rwxr-xr-xsrc/plugins/styles/bb10style/dark/slider/core_slider_handle_pressed.pngbin0 -> 6593 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_inactive.pngbin0 -> 1158 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_vactive.pngbin0 -> 1066 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_vcache.pngbin0 -> 1058 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_vdisabled.pngbin0 -> 1009 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_venabled.pngbin0 -> 929 bytes
-rw-r--r--src/plugins/styles/bb10style/dark/slider/core_slider_vinactive.pngbin0 -> 1067 bytes
-rw-r--r--src/plugins/styles/bb10style/qbb10brightstyle.cpp352
-rw-r--r--src/plugins/styles/bb10style/qbb10brightstyle.h70
-rw-r--r--src/plugins/styles/bb10style/qbb10brightstyle.qrc57
-rw-r--r--src/plugins/styles/bb10style/qbb10darkstyle.cpp357
-rw-r--r--src/plugins/styles/bb10style/qbb10darkstyle.h70
-rw-r--r--src/plugins/styles/bb10style/qbb10darkstyle.qrc57
-rw-r--r--src/plugins/styles/bb10style/qbb10styleplugin.cpp74
-rw-r--r--src/plugins/styles/bb10style/qbb10styleplugin.h64
-rw-r--r--src/plugins/styles/bb10style/qbb10styleplugin.json3
-rw-r--r--src/plugins/styles/bb10style/qpixmapstyle.cpp994
-rw-r--r--src/plugins/styles/bb10style/qpixmapstyle.h236
-rw-r--r--src/plugins/styles/styles.pro3
-rw-r--r--src/printsupport/kernel/qcups.cpp7
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp189
-rw-r--r--src/sql/kernel/qsqlfield.cpp6
-rw-r--r--src/testlib/qtestkeyboard.h4
-rw-r--r--src/tools/bootstrap/bootstrap.pro12
-rw-r--r--src/tools/moc/generator.cpp306
-rw-r--r--src/tools/moc/preprocessor.cpp59
-rw-r--r--src/tools/moc/preprocessor.h4
-rw-r--r--src/tools/qdoc/atom.cpp8
-rw-r--r--src/tools/qdoc/atom.h19
-rw-r--r--src/tools/qdoc/codeparser.cpp9
-rw-r--r--src/tools/qdoc/codeparser.h5
-rw-r--r--src/tools/qdoc/config.cpp36
-rw-r--r--src/tools/qdoc/config.h5
-rw-r--r--src/tools/qdoc/ditaxmlgenerator.cpp6
-rw-r--r--src/tools/qdoc/doc.cpp43
-rw-r--r--src/tools/qdoc/generator.cpp17
-rw-r--r--src/tools/qdoc/generator.h22
-rw-r--r--src/tools/qdoc/htmlgenerator.cpp295
-rw-r--r--src/tools/qdoc/htmlgenerator.h4
-rw-r--r--src/tools/qdoc/location.cpp16
-rw-r--r--src/tools/qdoc/location.h4
-rw-r--r--src/tools/qdoc/main.cpp489
-rw-r--r--src/tools/qdoc/node.cpp2
-rw-r--r--src/tools/qdoc/qdocdatabase.cpp321
-rw-r--r--src/tools/qdoc/qdocdatabase.h54
-rw-r--r--src/tools/qdoc/qdocindexfiles.cpp4
-rw-r--r--src/tools/qdoc/tokenizer.cpp8
-rw-r--r--src/tools/qdoc/tree.cpp72
-rw-r--r--src/tools/qdoc/tree.h36
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.cpp16
-rw-r--r--src/widgets/effects/qpixmapfilter.cpp7
-rw-r--r--src/widgets/graphicsview/qgraphicslayout_p.h2
-rw-r--r--src/widgets/graphicsview/qgraphicsscene.cpp2
-rw-r--r--src/widgets/itemviews/itemviews.pri1
-rw-r--r--src/widgets/itemviews/qabstractitemdelegate.cpp118
-rw-r--r--src/widgets/itemviews/qabstractitemdelegate.h3
-rw-r--r--src/widgets/itemviews/qabstractitemdelegate_p.h (renamed from src/platformsupport/eglconvenience/qeglcompositor_p.h)49
-rw-r--r--src/widgets/itemviews/qabstractitemview.cpp1
-rw-r--r--src/widgets/itemviews/qabstractitemview.h4
-rw-r--r--src/widgets/itemviews/qitemdelegate.cpp109
-rw-r--r--src/widgets/itemviews/qitemdelegate.h2
-rw-r--r--src/widgets/itemviews/qlistwidget.cpp19
-rw-r--r--src/widgets/itemviews/qlistwidget_p.h2
-rw-r--r--src/widgets/itemviews/qstyleditemdelegate.cpp103
-rw-r--r--src/widgets/itemviews/qstyleditemdelegate.h2
-rw-r--r--src/widgets/itemviews/qtablewidget.cpp19
-rw-r--r--src/widgets/itemviews/qtablewidget_p.h2
-rw-r--r--src/widgets/itemviews/qtreeview.cpp4
-rw-r--r--src/widgets/itemviews/qtreeview_p.h2
-rw-r--r--src/widgets/kernel/qapplication.cpp53
-rw-r--r--src/widgets/kernel/qdesktopwidget_p.h4
-rw-r--r--src/widgets/kernel/qgesture.cpp77
-rw-r--r--src/widgets/kernel/qgesture.h5
-rw-r--r--src/widgets/kernel/qwidget.cpp17
-rw-r--r--src/widgets/kernel/qwidget_p.h4
-rw-r--r--src/widgets/kernel/qwidgetbackingstore.cpp18
-rw-r--r--src/widgets/kernel/qwidgetwindow.cpp1
-rw-r--r--src/widgets/styles/qcommonstyle.cpp19
-rw-r--r--src/widgets/styles/qfusionstyle.cpp5
-rw-r--r--src/widgets/styles/qmacstyle_mac.mm33
-rw-r--r--src/widgets/styles/qstyle.cpp26
-rw-r--r--src/widgets/styles/qstyle.h6
-rw-r--r--src/widgets/styles/qstyleoption.cpp3
-rw-r--r--src/widgets/styles/qstyleoption.h2
-rw-r--r--src/widgets/styles/qwindowsstyle.cpp11
-rw-r--r--src/widgets/widgets/qframe.cpp76
-rw-r--r--src/widgets/widgets/qframe.h2
-rw-r--r--src/widgets/widgets/qlineedit.cpp2
-rw-r--r--src/widgets/widgets/qmenu.cpp298
-rw-r--r--src/widgets/widgets/qmenu.h1
-rw-r--r--src/widgets/widgets/qmenu_p.h251
-rw-r--r--src/widgets/widgets/qprogressbar.cpp2
-rw-r--r--src/widgets/widgets/qwidgettextcontrol.cpp6
-rw-r--r--src/xml/dom/qdom.cpp5
-rw-r--r--tests/auto/corelib/global/qflags/qflags.pro1
-rw-r--r--tests/auto/corelib/global/qflags/tst_qflags.cpp14
-rw-r--r--tests/auto/corelib/global/qgetputenv/tst_qgetputenv.cpp68
-rw-r--r--tests/auto/corelib/json/tst_qtjson.cpp42
-rw-r--r--tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp49
-rw-r--r--tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp29
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp106
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp120
-rw-r--r--tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp29
-rw-r--r--tests/auto/corelib/tools/qdatetime/qdatetime.pro5
-rw-r--r--tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp12
-rw-r--r--tests/auto/corelib/tools/qdatetime/tst_qdatetime_mac.mm82
-rw-r--r--tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp20
-rw-r--r--tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp280
-rw-r--r--tests/auto/corelib/tools/qstring/tst_qstring.cpp66
-rw-r--r--tests/auto/corelib/tools/qvector/tst_qvector.cpp12
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp15
-rw-r--r--tests/auto/gui/image/qimagereader/tst_qimagereader.cpp4
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_qwindow.cpp76
-rw-r--r--tests/auto/gui/painting/qpainter/tst_qpainter.cpp3
-rw-r--r--tests/auto/gui/qopengl/tst_qopengl.cpp64
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp65
-rw-r--r--tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp54
-rw-r--r--tests/auto/network/ssl/qsslellipticcurve/.gitignore1
-rw-r--r--tests/auto/network/ssl/qsslellipticcurve/qsslellipticcurve.pro8
-rw-r--r--tests/auto/network/ssl/qsslellipticcurve/tst_qsslellipticcurve.cpp120
-rw-r--r--tests/auto/network/ssl/ssl.pro1
-rw-r--r--tests/auto/other/other.pro1
-rw-r--r--tests/auto/other/qaccessibility/tst_qaccessibility.cpp8
-rw-r--r--tests/auto/other/toolsupport/toolsupport.pro4
-rw-r--r--tests/auto/other/toolsupport/tst_toolsupport.cpp153
-rw-r--r--tests/auto/tools/moc/tst_moc.cpp40
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp3
-rw-r--r--tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp5
-rw-r--r--tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp9
-rw-r--r--tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp55
-rw-r--r--tests/auto/widgets/itemviews/qtablewidget/tst_qtablewidget.cpp68
-rw-r--r--tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp34
-rw-r--r--tests/auto/widgets/kernel/qwidgetmetatype/tst_qwidgetmetatype.cpp1
-rw-r--r--tests/auto/widgets/widgets/qframe/.gitignore1
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_noshadow_0_0.pngbin0 -> 103 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_noshadow_0_1.pngbin0 -> 103 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_noshadow_0_2.pngbin0 -> 103 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_noshadow_1_0.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_noshadow_1_1.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_noshadow_1_2.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_noshadow_2_0.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_noshadow_2_1.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_noshadow_2_2.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_plain_0_0.pngbin0 -> 103 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_plain_0_1.pngbin0 -> 103 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_plain_0_2.pngbin0 -> 103 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_plain_1_0.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_plain_1_1.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_plain_1_2.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_plain_2_0.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_plain_2_1.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_plain_2_2.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_raised_0_0.pngbin0 -> 103 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_raised_0_1.pngbin0 -> 129 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_raised_0_2.pngbin0 -> 126 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_raised_1_0.pngbin0 -> 135 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_raised_1_1.pngbin0 -> 158 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_raised_1_2.pngbin0 -> 162 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_raised_2_0.pngbin0 -> 148 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_raised_2_1.pngbin0 -> 182 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_raised_2_2.pngbin0 -> 182 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_sunken_0_0.pngbin0 -> 103 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_sunken_0_1.pngbin0 -> 129 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_sunken_0_2.pngbin0 -> 126 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_sunken_1_0.pngbin0 -> 138 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_sunken_1_1.pngbin0 -> 159 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_sunken_1_2.pngbin0 -> 163 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_sunken_2_0.pngbin0 -> 148 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_sunken_2_1.pngbin0 -> 182 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/box_sunken_2_2.pngbin0 -> 182 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_0.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_1.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_2.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_0.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_1.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_2.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_0.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_1.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_2.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_0.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_1.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_2.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_0.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_1.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_2.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_0.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_1.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_2.pngbin0 -> 114 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_0.pngbin0 -> 148 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_1.pngbin0 -> 148 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_2.pngbin0 -> 148 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_0.pngbin0 -> 148 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_1.pngbin0 -> 148 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_2.pngbin0 -> 148 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_0.pngbin0 -> 148 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_1.pngbin0 -> 148 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_2.pngbin0 -> 148 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_0.pngbin0 -> 154 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_1.pngbin0 -> 154 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_2.pngbin0 -> 154 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_0.pngbin0 -> 154 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_1.pngbin0 -> 154 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_2.pngbin0 -> 154 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_0.pngbin0 -> 154 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_1.pngbin0 -> 154 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_2.pngbin0 -> 154 bytes
-rw-r--r--tests/auto/widgets/widgets/qframe/qframe.pro8
-rw-r--r--tests/auto/widgets/widgets/qframe/tst_qframe.cpp185
-rw-r--r--tests/auto/widgets/widgets/widgets.pro1
-rw-r--r--tests/auto/xml/dom/qdom/tst_qdom.cpp3
-rw-r--r--tests/benchmarks/corelib/io/io.pro3
-rw-r--r--tests/benchmarks/corelib/io/qtextstream/main.cpp133
-rw-r--r--tests/benchmarks/corelib/io/qtextstream/qtextstream.pro9
-rw-r--r--tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp18
-rw-r--r--tests/benchmarks/corelib/tools/qbytearray/main.cpp189
-rw-r--r--tests/benchmarks/corelib/tools/qbytearray/qbytearray.pro1
-rw-r--r--tests/benchmarks/corelib/tools/qstring/main.cpp58
-rw-r--r--tools/configure/configureapp.cpp15
-rw-r--r--util/glgen/glgen.pro5
-rw-r--r--util/glgen/legacyspecparser.cpp (renamed from util/glgen/specparser.cpp)57
-rw-r--r--util/glgen/legacyspecparser.h78
-rw-r--r--util/glgen/main.cpp33
-rw-r--r--util/glgen/specparser.h90
-rw-r--r--util/glgen/xmlspecparser.cpp440
-rw-r--r--util/glgen/xmlspecparser.h83
754 files changed, 47127 insertions, 43613 deletions
diff --git a/configure b/configure
index 229fb4eeb2..ea09857387 100755
--- a/configure
+++ b/configure
@@ -654,7 +654,7 @@ CFG_KMS=auto
CFG_LIBUDEV=auto
CFG_OBSOLETE_WAYLAND=no
CFG_EVDEV=auto
-CFG_TSLIB=no
+CFG_TSLIB=auto
CFG_NIS=auto
CFG_CUPS=auto
CFG_ICONV=auto
@@ -717,6 +717,11 @@ CFG_PULSEAUDIO=auto
CFG_COREWLAN=auto
CFG_ICU=auto
CFG_FORCE_ASSERTS=no
+CFG_SANITIZERS=none
+CFG_SANITIZE_ADDRESS=no
+CFG_SANITIZE_THREAD=no
+CFG_SANITIZE_MEMORY=no
+CFG_SANITIZE_UNDEFINED=no
CFG_PCRE=auto
QPA_PLATFORM_GUARD=yes
CFG_CXX11=auto
@@ -779,7 +784,7 @@ CFG_DEFAULT_ANDROID_NDK_ROOT=$ANDROID_NDK_ROOT
CFG_DEFAULT_ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT
CFG_DEFAULT_ANDROID_PLATFORM=android-9
CFG_DEFAULT_ANDROID_TARGET_ARCH=armeabi-v7a
-CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION=4.8
+CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION=4.9
CFG_DEFAULT_ANDROID_NDK_HOST=$ANDROID_NDK_HOST
#-------------------------------------------------------------------------------
@@ -888,6 +893,7 @@ while [ "$#" -gt 0 ]; do
-qpa| \
-qconfig| \
-qreal| \
+ -sanitize| \
-xkb-config-root| \
-android-sdk| \
-android-ndk| \
@@ -1159,6 +1165,25 @@ while [ "$#" -gt 0 ]; do
print "\"$result\"";' "$CFG_QREAL"`
fi
;;
+ sanitize)
+ if [ "$VAL" = "address" ]; then
+ CFG_SANITIZE_ADDRESS=yes
+ elif [ "$VAL" = "thread" ]; then
+ CFG_SANITIZE_THREAD=yes
+ elif [ "$VAL" = "memory" ]; then
+ CFG_SANITIZE_MEMORY=yes
+ elif [ "$VAL" = "undefined" ]; then
+ CFG_SANITIZE_UNDEFINED=yes
+ else
+ echo "Unknown sanitizer: '$VAL'"
+ ERROR=true
+ fi
+ if [ "$CFG_SANITIZERS" = "none" ]; then
+ CFG_SANITIZERS=$VAL
+ else
+ CFG_SANITIZERS="$CFG_SANITIZERS $VAL"
+ fi
+ ;;
sysroot)
CFG_SYSROOT="$VAL"
;;
@@ -2454,6 +2479,9 @@ Additional options:
-no-evdev .......... Do not compile support for evdev.
* -evdev ............. Compile support for evdev.
+ -no-tslib .......... Do not compile support for tslib.
+ * -tslib ............. Compile support for tslib.
+
-no-icu ............ Do not compile support for ICU libraries.
+ -icu ............... Compile support for ICU libraries.
@@ -2479,6 +2507,8 @@ Additional options:
-force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
+ -sanitize [address|thread|memory|undefined] Enables the specified compiler sanitizer.
+
-device <name> ............... Cross-compile for device <name> (experimental)
-device-option <key=value> ... Add device specific options for the device mkspec
(experimental)
@@ -2573,7 +2603,8 @@ Android options:
-android-ndk-host .............. Sets the android NDK host (linux-x86, linux-x86_64, etc.)
(default \$ANDROID_NDK_HOST)
- -android-arch .................. Sets the android architecture (armeabi, armeabi-v7a, x86, mips)
+ -android-arch .................. Sets the android architecture (armeabi, armeabi-v7a, x86, mips,
+ arm64-v8a, x86_64, mips64)
(default $CFG_DEFAULT_ANDROID_TARGET_ARCH)
-android-toolchain-version ..... Sets the android toolchain version
@@ -3178,27 +3209,46 @@ QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
TEST_COMPILER=$QMAKE_CONF_COMPILER
if [ "$XPLATFORM_ANDROID" = "yes" ] ; then
+ ANDROID_NDK_TOOLCHAIN_PREFIX=
ANDROID_NDK_TOOLS_PREFIX=
ANDROID_PLATFORM_ARCH=
case $CFG_DEFAULT_ANDROID_TARGET_ARCH in
armeabi*)
ANDROID_NDK_TOOLS_PREFIX=arm-linux-androideabi
+ ANDROID_NDK_TOOLCHAIN_PREFIX=arm-linux-androideabi
ANDROID_PLATFORM_ARCH=arch-arm
;;
x86)
- ANDROID_NDK_TOOLS_PREFIX=x86
+ ANDROID_NDK_TOOLS_PREFIX=i686-linux-android
+ ANDROID_NDK_TOOLCHAIN_PREFIX=x86
ANDROID_PLATFORM_ARCH=arch-x86
;;
mips)
ANDROID_NDK_TOOLS_PREFIX=mipsel-linux-android
+ ANDROID_NDK_TOOLCHAIN_PREFIX=mipsel-linux-android
ANDROID_PLATFORM_ARCH=arch-mips
;;
+ arm64-v8a)
+ ANDROID_NDK_TOOLS_PREFIX=aarch64-linux-android
+ ANDROID_NDK_TOOLCHAIN_PREFIX=aarch64-linux-android
+ ANDROID_PLATFORM_ARCH=arch-arm64
+ ;;
+ mips64)
+ ANDROID_NDK_TOOLS_PREFIX=mips64el-linux-android
+ ANDROID_NDK_TOOLCHAIN_PREFIX=mips64el-linux-android
+ ANDROID_PLATFORM_ARCH=arch-mips64
+ ;;
+ x86_64)
+ ANDROID_NDK_TOOLS_PREFIX=x86_64-linux-android
+ ANDROID_NDK_TOOLCHAIN_PREFIX=x86_64
+ ANDROID_PLATFORM_ARCH=arch-x86_64
+ ;;
*)
echo "ERROR: Unknown android arch $CFG_DEFAULT_ANDROID_TARGET_ARCH"
exit 1
;;
esac
- QMAKE_CONF_COMPILER=$CFG_DEFAULT_ANDROID_NDK_ROOT/toolchains/$ANDROID_NDK_TOOLS_PREFIX-$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION/prebuilt/$CFG_DEFAULT_ANDROID_NDK_HOST/bin/$ANDROID_NDK_TOOLS_PREFIX-g++
+ QMAKE_CONF_COMPILER=$CFG_DEFAULT_ANDROID_NDK_ROOT/toolchains/$ANDROID_NDK_TOOLCHAIN_PREFIX-$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION/prebuilt/$CFG_DEFAULT_ANDROID_NDK_HOST/bin/$ANDROID_NDK_TOOLS_PREFIX-g++
TEST_COMPILER="$QMAKE_CONF_COMPILER --sysroot=$CFG_DEFAULT_ANDROID_NDK_ROOT/platforms/$CFG_DEFAULT_ANDROID_PLATFORM/$ANDROID_PLATFORM_ARCH/"
if [ "$CFG_ANDROID_STYLE_ASSETS" = "yes" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG android-style-assets"
@@ -3778,17 +3828,21 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
EXEEXT=
fi
if [ "$BUILD_ON_MAC" = "yes" ]; then
+ echo "COCOA_LFLAGS =-framework Foundation -framework CoreServices" >>"$mkfile"
echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
+ EXTRA_LFLAGS="$EXTRA_LFLAGS \$(COCOA_LFLAGS)"
EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
EXTRA_CFLAGS="$EXTRA_CFLAGS \$(CARBON_CFLAGS)"
EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(CARBON_CFLAGS)"
EXTRA_OBJS="$EXTRA_OBJS \
qsettings_mac.o \
- qcore_mac.o"
+ qcore_mac.o \
+ qcore_mac_objc.o"
EXTRA_SRCS="$EXTRA_SRCS \
\"\$(SOURCE_PATH)/src/corelib/io/qsettings_mac.cpp\" \
- \"\$(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp\""
+ \"\$(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp\" \
+ \"\$(SOURCE_PATH)/src/corelib/kernel/qcore_mac_objc.mm\""
fi
if [ '!' -z "$D_FLAGS" ]; then
EXTRA_CFLAGS="$EXTRA_CFLAGS $D_FLAGS"
@@ -4981,6 +5035,9 @@ if [ "$CFG_TSLIB" != "no" ]; then
CFG_TSLIB=no
fi
fi
+if [ "$CFG_TSLIB" = "no" ]; then
+ QMakeVar add DEFINES QT_NO_TSLIB
+fi
# Check we actually have X11 :-)
if compileTest x11/xlib "XLib"; then
@@ -5850,6 +5907,27 @@ if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
QT_CONFIG="$QT_CONFIG force_asserts"
fi
+if [ "$CFG_SANITIZERS" != "none" ]; then
+
+ QTCONFIG_CONFIG="$QTCONFIG_CONFIG sanitizer"
+
+ if [ "$CFG_SANITIZE_ADDRESS" = "yes" ]; then
+ QTCONFIG_CONFIG="$QTCONFIG_CONFIG sanitize_address"
+ fi
+
+ if [ "$CFG_SANITIZE_THREAD" = "yes" ]; then
+ QTCONFIG_CONFIG="$QTCONFIG_CONFIG sanitize_thread"
+ fi
+
+ if [ "$CFG_SANITIZE_MEMORY" = "yes" ]; then
+ QTCONFIG_CONFIG="$QTCONFIG_CONFIG sanitize_memory"
+ fi
+
+ if [ "$CFG_SANITIZE_UNDEFINED" = "yes" ]; then
+ QTCONFIG_CONFIG="$QTCONFIG_CONFIG sanitize_undefined"
+ fi
+fi
+
if [ "$CFG_PCRE" = "qt" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG pcre"
fi
@@ -6169,6 +6247,7 @@ QMakeVar set sql-plugins "$SQL_PLUGINS"
[ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
[ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"
+[ "$CFG_TSLIB" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_TSLIB"
[ "$CFG_XCURSOR" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XCURSOR"
[ "$CFG_XFIXES" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XFIXES"
[ "$CFG_FONTCONFIG" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_FONTCONFIG"
@@ -6537,6 +6616,7 @@ else
echo " Mode ................... $build_mode"
fi
unset build_mode release
+echo " Using sanitizer(s)...... $CFG_SANITIZERS"
echo " Using C++11 ............ $CFG_CXX11"
echo " Using gold linker....... $CFG_USE_GOLD_LINKER"
echo " Using PCH .............. $CFG_PRECOMPILE"
@@ -6645,6 +6725,7 @@ report_support " PostgreSQL ..........." "$CFG_SQL_psql" plugin "plugin" yes
report_support " SQLite 2 ............." "$CFG_SQL_sqlite2" plugin "plugin" yes "built into QtSql"
report_support_plugin " SQLite ..............." "$CFG_SQL_sqlite" "$CFG_SQLITE" QtSql
report_support " TDS .................." "$CFG_SQL_tds" plugin "plugin" yes "built into QtSql"
+report_support " tslib .................." "$CFG_TSLIB"
report_support " udev ..................." "$CFG_LIBUDEV"
report_support " xkbcommon .............." "$CFG_XKBCOMMON" system "system library" qt "bundled copy, XKB config root: $CFG_XKB_CONFIG_ROOT"
report_support " zlib ..................." "$CFG_ZLIB" system "system library" yes "bundled copy"
diff --git a/doc/global/qt-cpp-defines.qdocconf b/doc/global/qt-cpp-defines.qdocconf
index 300c4402c1..e806a00480 100644
--- a/doc/global/qt-cpp-defines.qdocconf
+++ b/doc/global/qt-cpp-defines.qdocconf
@@ -28,10 +28,12 @@ Cpp.ignoretokens += \
Q_CORE_EXPORT_INLINE \
Q_DBUS_EXPORT \
Q_DECL_CONSTEXPR \
+ Q_DECL_RELAXED_CONSTEXPR \
Q_DECL_CONST_FUNCTION \
Q_DECL_DEPRECATED \
Q_DECL_NOEXCEPT \
Q_DECL_FINAL \
+ Q_DECL_OVERRIDE \
Q_DECL_NOTHROW \
Q_DECL_PURE_FUNCTION \
Q_DECL_UNUSED \
diff --git a/doc/global/template/style/offline.css b/doc/global/template/style/offline.css
index dc0a6d1ec9..16f26f43bb 100644
--- a/doc/global/template/style/offline.css
+++ b/doc/global/template/style/offline.css
@@ -61,6 +61,11 @@ a:link {
text-align: left;
}
+a.qa-mark:target:before {
+ content: "***";
+ color: #ff0000;
+}
+
a:hover {
color: #44a51c;
text-align: left;
diff --git a/doc/global/template/style/online.css b/doc/global/template/style/online.css
index 5d0cd7ecfb..c44f7ea672 100644
--- a/doc/global/template/style/online.css
+++ b/doc/global/template/style/online.css
@@ -43,6 +43,11 @@ links
-----------
*/
+a.qa-mark:target:before {
+ content: "***";
+ color: #ff0000;
+}
+
.flags {
text-decoration: none;
text-height: 24px;
diff --git a/examples/corelib/tools/customtype/message.cpp b/examples/corelib/tools/customtype/message.cpp
index c470ab116e..eb8befc36f 100644
--- a/examples/corelib/tools/customtype/message.cpp
+++ b/examples/corelib/tools/customtype/message.cpp
@@ -65,7 +65,8 @@ Message::Message(const QString &body, const QStringList &headers)
//! [custom type streaming operator]
QDebug operator<<(QDebug dbg, const Message &message)
{
- QStringList pieces = message.body().split("\r\n", QString::SkipEmptyParts);
+ const QString body = message.body();
+ QVector<QStringRef> pieces = body.splitRef("\r\n", QString::SkipEmptyParts);
if (pieces.isEmpty())
dbg.nospace() << "Message()";
else if (pieces.size() == 1)
diff --git a/examples/opengl/hellowindow/hellowindow.cpp b/examples/opengl/hellowindow/hellowindow.cpp
index 57eb111edb..ac5bfea280 100644
--- a/examples/opengl/hellowindow/hellowindow.cpp
+++ b/examples/opengl/hellowindow/hellowindow.cpp
@@ -56,9 +56,14 @@ Renderer::Renderer(const QSurfaceFormat &format, Renderer *share, QScreen *scree
if (share)
m_context->setShareContext(share->m_context);
m_context->create();
+
+ m_backgroundColor = QColor::fromRgbF(0.1f, 0.1f, 0.2f, 1.0f);
+ m_backgroundColor.setRed(qrand() % 64);
+ m_backgroundColor.setGreen(qrand() % 128);
+ m_backgroundColor.setBlue(qrand() % 256);
}
-HelloWindow::HelloWindow(const QSharedPointer<Renderer> &renderer)
+HelloWindow::HelloWindow(const QSharedPointer<Renderer> &renderer, QScreen *screen)
: m_colorIndex(0), m_renderer(renderer)
{
setSurfaceType(QWindow::OpenGLSurface);
@@ -67,6 +72,8 @@ HelloWindow::HelloWindow(const QSharedPointer<Renderer> &renderer)
setGeometry(QRect(10, 10, 640, 480));
setFormat(renderer->format());
+ if (screen)
+ setScreen(screen);
create();
@@ -147,7 +154,7 @@ void Renderer::render()
f->glViewport(0, 0, viewSize.width() * surface->devicePixelRatio(), viewSize.height() * surface->devicePixelRatio());
f->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- f->glClearColor(0.1f, 0.1f, 0.2f, 1.0f);
+ f->glClearColor(m_backgroundColor.redF(), m_backgroundColor.greenF(), m_backgroundColor.blueF(), m_backgroundColor.alphaF());
f->glFrontFace(GL_CW);
f->glCullFace(GL_FRONT);
f->glEnable(GL_CULL_FACE);
@@ -180,8 +187,13 @@ void Renderer::render()
QTimer::singleShot(0, this, SLOT(render()));
}
+Q_GLOBAL_STATIC(QMutex, initMutex)
+
void Renderer::initialize()
{
+ // Threaded shader compilation can confuse some drivers. Avoid it.
+ QMutexLocker lock(initMutex());
+
QOpenGLShader *vshader = new QOpenGLShader(QOpenGLShader::Vertex, this);
vshader->compileSourceCode(
"attribute highp vec4 vertex;"
diff --git a/examples/opengl/hellowindow/hellowindow.h b/examples/opengl/hellowindow/hellowindow.h
index 6a6fa275e2..cba4b34db6 100644
--- a/examples/opengl/hellowindow/hellowindow.h
+++ b/examples/opengl/hellowindow/hellowindow.h
@@ -90,12 +90,14 @@ private:
int m_currentWindow;
QMutex m_windowLock;
+
+ QColor m_backgroundColor;
};
class HelloWindow : public QWindow
{
public:
- explicit HelloWindow(const QSharedPointer<Renderer> &renderer);
+ explicit HelloWindow(const QSharedPointer<Renderer> &renderer, QScreen *screen = 0);
QColor color() const;
void updateColor();
diff --git a/examples/opengl/hellowindow/main.cpp b/examples/opengl/hellowindow/main.cpp
index 62b6bfca3f..e7ad9722c2 100644
--- a/examples/opengl/hellowindow/main.cpp
+++ b/examples/opengl/hellowindow/main.cpp
@@ -50,7 +50,9 @@ int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
+ // Some platforms can only have one window per screen. Therefore we need to differentiate.
const bool multipleWindows = QGuiApplication::arguments().contains(QStringLiteral("--multiple"));
+ const bool multipleScreens = QGuiApplication::arguments().contains(QStringLiteral("--multiscreen"));
QScreen *screen = QGuiApplication::primaryScreen();
@@ -93,12 +95,13 @@ int main(int argc, char *argv[])
windowC->setTitle(QStringLiteral("Thread B - Context B"));
windowC->setVisible(true);
windows.prepend(windowC);
-
+ }
+ if (multipleScreens) {
for (int i = 1; i < QGuiApplication::screens().size(); ++i) {
QScreen *screen = QGuiApplication::screens().at(i);
QSharedPointer<Renderer> renderer(new Renderer(format, rendererA.data(), screen));
- renderThread = new QThread;
+ QThread *renderThread = new QThread;
renderer->moveToThread(renderThread);
renderThreads.prepend(renderThread);
@@ -107,8 +110,7 @@ int main(int argc, char *argv[])
QSize windowSize = screenGeometry.size() * 0.8;
- HelloWindow *window = new HelloWindow(renderer);
- window->setScreen(screen);
+ HelloWindow *window = new HelloWindow(renderer, screen);
window->setGeometry(QRect(center, windowSize).translated(-windowSize.width() / 2, -windowSize.height() / 2));
QChar id = QChar('B' + i);
@@ -123,10 +125,16 @@ int main(int argc, char *argv[])
renderThreads.at(i)->start();
}
+ // Quit after 10 seconds. For platforms that do not have windows that are closeable.
+ if (QCoreApplication::arguments().contains(QStringLiteral("--timeout")))
+ QTimer::singleShot(10000, qGuiApp, SLOT(quit()));
+
const int exitValue = app.exec();
- for (int i = 0; i < renderThreads.size(); ++i)
+ for (int i = 0; i < renderThreads.size(); ++i) {
+ renderThreads.at(i)->quit(); // some platforms may not have windows to close so ensure quit()
renderThreads.at(i)->wait();
+ }
qDeleteAll(windows);
qDeleteAll(renderThreads);
diff --git a/examples/widgets/gestures/imagegestures/imagewidget.cpp b/examples/widgets/gestures/imagegestures/imagewidget.cpp
index 57c2af4502..81783f211d 100644
--- a/examples/widgets/gestures/imagegestures/imagewidget.cpp
+++ b/examples/widgets/gestures/imagegestures/imagewidget.cpp
@@ -108,7 +108,7 @@ void ImageWidget::mouseDoubleClickEvent(QMouseEvent *)
//! [gesture event handler]
bool ImageWidget::gestureEvent(QGestureEvent *event)
{
- qCDebug(lcExample) << "gestureEvent():" << event->gestures().size();
+ qCDebug(lcExample) << "gestureEvent():" << event;
if (QGesture *swipe = event->gesture(Qt::SwipeGesture))
swipeTriggered(static_cast<QSwipeGesture *>(swipe));
else if (QGesture *pan = event->gesture(Qt::PanGesture))
@@ -132,7 +132,7 @@ void ImageWidget::panTriggered(QPanGesture *gesture)
}
#endif
QPointF delta = gesture->delta();
- qCDebug(lcExample) << "panTriggered():" << delta;
+ qCDebug(lcExample) << "panTriggered():" << gesture;
horizontalOffset += delta.x();
verticalOffset += delta.y();
update();
diff --git a/examples/widgets/gestures/imagegestures/main.cpp b/examples/widgets/gestures/imagegestures/main.cpp
index 80f275bd5f..5fca0d6895 100644
--- a/examples/widgets/gestures/imagegestures/main.cpp
+++ b/examples/widgets/gestures/imagegestures/main.cpp
@@ -82,14 +82,7 @@ int main(int argc, char *argv[])
"qt.examples.imagegestures.debug=true\n");
commandLineParser.setApplicationDescription(description);
- if (!commandLineParser.parse(QCoreApplication::arguments())) {
- showHelp(commandLineParser, commandLineParser.errorText());
- return -1;
- }
- if (commandLineParser.isSet(helpOption)) {
- showHelp(commandLineParser);
- return 0;
- }
+ commandLineParser.process(QCoreApplication::arguments());
QStringList arguments = commandLineParser.positionalArguments();
if (!arguments.isEmpty() && !QFileInfo(arguments.front()).isDir()) {
diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf
index e510c2d93c..ccf1cd804b 100644
--- a/mkspecs/android-g++/qmake.conf
+++ b/mkspecs/android-g++/qmake.conf
@@ -51,14 +51,20 @@ isEmpty(ANDROID_TARGET_ARCH): ANDROID_TARGET_ARCH = $$DEFAULT_ANDROID_TARGET_ARC
NDK_TOOLCHAIN_PREFIX = $$(ANDROID_NDK_TOOLCHAIN_PREFIX)
isEmpty(NDK_TOOLCHAIN_PREFIX) {
equals(ANDROID_TARGET_ARCH, x86): NDK_TOOLCHAIN_PREFIX = x86
+ else: equals(ANDROID_TARGET_ARCH, x86_64): NDK_TOOLCHAIN_PREFIX = x86_64
else: equals(ANDROID_TARGET_ARCH, mips): NDK_TOOLCHAIN_PREFIX = mipsel-linux-android
+ else: equals(ANDROID_TARGET_ARCH, mips64): NDK_TOOLCHAIN_PREFIX = mips64el-linux-android
+ else: equals(ANDROID_TARGET_ARCH, arm64-v8a): NDK_TOOLCHAIN_PREFIX = aarch64-linux-android
else: NDK_TOOLCHAIN_PREFIX = arm-linux-androideabi
}
NDK_TOOLS_PREFIX = $$(ANDROID_NDK_TOOLS_PREFIX)
isEmpty(NDK_TOOLS_PREFIX) {
equals(ANDROID_TARGET_ARCH, x86): NDK_TOOLS_PREFIX = i686-linux-android
+ else: equals(ANDROID_TARGET_ARCH, x86_64): NDK_TOOLS_PREFIX = x86_64-linux-android
else: equals(ANDROID_TARGET_ARCH, mips): NDK_TOOLS_PREFIX = mipsel-linux-android
+ else: equals(ANDROID_TARGET_ARCH, mips64): NDK_TOOLS_PREFIX = mips64el-linux-android
+ else: equals(ANDROID_TARGET_ARCH, arm64-v8a): NDK_TOOLS_PREFIX = aarch64-linux-android
else: NDK_TOOLS_PREFIX = arm-linux-androideabi
}
@@ -66,7 +72,10 @@ NDK_TOOLCHAIN_VERSION = $$(ANDROID_NDK_TOOLCHAIN_VERSION)
isEmpty(NDK_TOOLCHAIN_VERSION): NDK_TOOLCHAIN_VERSION = $$DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION
equals(ANDROID_TARGET_ARCH, x86): ANDROID_ARCHITECTURE = x86
+else: equals(ANDROID_TARGET_ARCH, x86_64): ANDROID_ARCHITECTURE = x86_64
else: equals(ANDROID_TARGET_ARCH, mips): ANDROID_ARCHITECTURE = mips
+else: equals(ANDROID_TARGET_ARCH, mips64): ANDROID_ARCHITECTURE = mips64
+else: equals(ANDROID_TARGET_ARCH, arm64-v8a): ANDROID_ARCHITECTURE = arm64
else: ANDROID_ARCHITECTURE = arm
!equals(NDK_TOOLCHAIN_VERSION, 4.4.3): ANDROID_CXXSTL_SUFFIX = -$$NDK_TOOLCHAIN_VERSION
@@ -92,12 +101,15 @@ ANDROID_PLATFORM_ROOT_PATH = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$AND
ANDROID_PLATFORM_PATH = $$ANDROID_PLATFORM_ROOT_PATH/usr
# used to compile platform plugins for android-4 and android-5
-QMAKE_ANDROID_PLATFORM_INCDIR = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/usr/include
-QMAKE_ANDROID_PLATFORM_LIBDIR = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/usr/lib
+QMAKE_ANDROID_PLATFORM_INCDIR = $$ANDROID_PLATFORM_PATH/include
+QMAKE_ANDROID_PLATFORM_LIBDIR = $$ANDROID_PLATFORM_PATH/lib
ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/libs/$$ANDROID_TARGET_ARCH
ANDROID_SOURCES_CXX_STL_INCDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/include $$ANDROID_SOURCES_CXX_STL_LIBDIR/include
+equals(ANDROID_TARGET_ARCH, x86_64)|equals(ANDROID_TARGET_ARCH, mips64): \
+ QMAKE_ANDROID_PLATFORM_LIBDIR = $${QMAKE_ANDROID_PLATFORM_LIBDIR}64
+
# modifications to g++.conf
QMAKE_CC = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-gcc
@@ -105,25 +117,43 @@ equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
QMAKE_CFLAGS = -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack
else: equals(ANDROID_TARGET_ARCH, armeabi): \
QMAKE_CFLAGS = -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack
+else: equals(ANDROID_TARGET_ARCH, arm64-v8a): \
+ QMAKE_CFLAGS = -ffunction-sections -funwind-tables -fstack-protector -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -DANDROID -Wa,--noexecstack
else: equals(ANDROID_TARGET_ARCH, x86): \
QMAKE_CFLAGS = -ffunction-sections -funwind-tables -O2 -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -DANDROID -Wa,--noexecstack
+else: equals(ANDROID_TARGET_ARCH, x86_64): \
+ QMAKE_CFLAGS = -ffunction-sections -funwind-tables -fstack-protector -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -DANDROID -Wa,--noexecstack
else: equals(ANDROID_TARGET_ARCH, mips): \
QMAKE_CFLAGS = -fno-strict-aliasing -finline-functions -ffunction-sections -funwind-tables -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers -O2 -fomit-frame-pointer -funswitch-loops -finline-limit=300 -DANDROID -Wa,--noexecstack
+else: equals(ANDROID_TARGET_ARCH, mips64): \
+ QMAKE_CFLAGS = -fno-strict-aliasing -finline-functions -ffunction-sections -funwind-tables -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers -fomit-frame-pointer -funswitch-loops -finline-limit=300 -DANDROID -Werror -Wa,--noexecstack
QMAKE_CFLAGS_WARN_ON = -Wall -Wno-psabi -W
QMAKE_CFLAGS_WARN_OFF = -Wno-psabi
equals(ANDROID_TARGET_ARCH, x86) {
QMAKE_CFLAGS_RELEASE = -O2
- QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -gdwarf-2 -O2
- QMAKE_CFLAGS_DEBUG = -g -gdwarf-2
+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -O2
+ QMAKE_CFLAGS_DEBUG = -g
+} else: equals(ANDROID_TARGET_ARCH, x86_64) {
+ QMAKE_CFLAGS_RELEASE = -O2
+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -O2
+ QMAKE_CFLAGS_DEBUG = -g
} else: equals(ANDROID_TARGET_ARCH, mips) {
QMAKE_CFLAGS_RELEASE = -O2
- QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -gdwarf-2 -O2
- QMAKE_CFLAGS_DEBUG = -g -gdwarf-2 -fno-omit-frame-pointer
+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -O2
+ QMAKE_CFLAGS_DEBUG = -g -fno-omit-frame-pointer
+} else: equals(ANDROID_TARGET_ARCH, mips64) {
+ QMAKE_CFLAGS_RELEASE = -O2
+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -O2
+ QMAKE_CFLAGS_DEBUG = -g -fno-omit-frame-pointer
+} else: equals(ANDROID_TARGET_ARCH, arm64-v8a) {
+ QMAKE_CFLAGS_RELEASE = -O2
+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -O2
+ QMAKE_CFLAGS_DEBUG = -g -fno-omit-frame-pointer
} else { # arm
QMAKE_CFLAGS_RELEASE = -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64
- QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -gdwarf-2 -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64
- QMAKE_CFLAGS_DEBUG = -g -gdwarf-2 -marm -O0 -fno-omit-frame-pointer
+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64
+ QMAKE_CFLAGS_DEBUG = -g -marm -O0 -fno-omit-frame-pointer
equals(ANDROID_TARGET_ARCH, armeabi): equals(NDK_TOOLCHAIN_VERSION, 4.8) {
DEFINES += QT_OS_ANDROID_GCC_48_WORKAROUND
} else {
@@ -138,7 +168,7 @@ QMAKE_CFLAGS_THREAD = -D_REENTRANT
QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden
QMAKE_CXX = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-g++
-QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -std=gnu++0x
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -std=c++11
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
@@ -162,31 +192,31 @@ QMAKE_STRIP =
QMAKE_RANLIB = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-ranlib
-QMAKE_INCDIR = $$ANDROID_SOURCES_CXX_STL_INCDIR $$ANDROID_PLATFORM_PATH/include
-QMAKE_LIBDIR = $$ANDROID_SOURCES_CXX_STL_LIBDIR $$ANDROID_PLATFORM_PATH/lib $$LIBGCC_PATH
+QMAKE_INCDIR = $$ANDROID_SOURCES_CXX_STL_INCDIR $$QMAKE_ANDROID_PLATFORM_INCDIR
+QMAKE_LIBDIR = $$ANDROID_SOURCES_CXX_STL_LIBDIR $$QMAKE_ANDROID_PLATFORM_LIBDIR $$LIBGCC_PATH
QMAKE_INCDIR_X11 =
QMAKE_LIBDIR_X11 =
-QMAKE_INCDIR_OPENGL = $$ANDROID_PLATFORM_PATH/include
-QMAKE_LIBDIR_OPENGL = $$ANDROID_PLATFORM_PATH/lib
+QMAKE_INCDIR_OPENGL = $$QMAKE_ANDROID_PLATFORM_INCDIR
+QMAKE_LIBDIR_OPENGL = $$QMAKE_ANDROID_PLATFORM_LIBDIR
-equals(ANDROID_TARGET_ARCH, x86)|equals(ANDROID_TARGET_ARCH, mips): \
- LIBGCC_PATH_FULL = $$system("$$QMAKE_CC -print-libgcc-file-name")
-else: \
+equals(ANDROID_TARGET_ARCH, armeabi)|equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
LIBGCC_PATH_FULL = $$system("$$QMAKE_CC -mthumb-interwork -print-libgcc-file-name")
+else: \
+ LIBGCC_PATH_FULL = $$system("$$QMAKE_CC -print-libgcc-file-name")
LIBGCC_PATH = $$dirname(LIBGCC_PATH_FULL)
QMAKE_LINK = $$QMAKE_CXX
QMAKE_LINK_SHLIB = $$QMAKE_CXX
QMAKE_LFLAGS = --sysroot=$$ANDROID_PLATFORM_ROOT_PATH
-QMAKE_RPATHLINK = $$ANDROID_PLATFORM_PATH/lib
+QMAKE_RPATHLINK = $$QMAKE_ANDROID_PLATFORM_LIBDIR
QMAKE_LFLAGS_APP = -Wl,--no-undefined -Wl,-z,noexecstack -shared
QMAKE_LFLAGS_SHLIB = -Wl,--no-undefined -Wl,-z,noexecstack -shared
contains(NDK_ROOT, ".*r6")|contains(NDK_ROOT, ".*r5.*") {
!equals(ANDROID_PLATFORM, android-4):!equals(ANDROID_PLATFORM, android-5):!equals(ANDROID_PLATFORM, android-8) {
warning("Your NDK version is outdated. A workaround is enabled. Consider updating your NDK (workarounds are required until r6(a))")
- QMAKE_LFLAGS_SHLIB += $$ANDROID_PLATFORM_PATH/lib/crtbegin_so.o $$ANDROID_PLATFORM_PATH/lib/crtend_so.o
+ QMAKE_LFLAGS_SHLIB += $$QMAKE_ANDROID_PLATFORM_LIBDIR/crtbegin_so.o $$QMAKE_ANDROID_PLATFORM_LIBDIR/crtend_so.o
}
}
diff --git a/mkspecs/android-g++/qplatformdefs.h b/mkspecs/android-g++/qplatformdefs.h
index ba821532e2..f4202628f7 100644
--- a/mkspecs/android-g++/qplatformdefs.h
+++ b/mkspecs/android-g++/qplatformdefs.h
@@ -63,6 +63,7 @@
#include <sys/ioctl.h>
#include <sys/ipc.h>
#include <sys/time.h>
+#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/wait.h>
@@ -165,11 +166,7 @@
#define QT_SIGNAL_ARGS int
#define QT_SIGNAL_IGNORE SIG_IGN
-#if defined(__GLIBC__) && (__GLIBC__ >= 2)
#define QT_SOCKLEN_T socklen_t
-#else
-#define QT_SOCKLEN_T int
-#endif
#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
#define QT_SNPRINTF ::snprintf
diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf
index a149f4d907..8310db52cc 100644
--- a/mkspecs/common/gcc-base.conf
+++ b/mkspecs/common/gcc-base.conf
@@ -80,3 +80,5 @@ QMAKE_CFLAGS_SSE4_2 += -msse4.2
QMAKE_CFLAGS_AVX += -mavx
QMAKE_CFLAGS_AVX2 += -mavx2
QMAKE_CFLAGS_NEON += -mfpu=neon
+
+include(sanitize.conf)
diff --git a/mkspecs/common/sanitize.conf b/mkspecs/common/sanitize.conf
new file mode 100644
index 0000000000..5e09406cfb
--- /dev/null
+++ b/mkspecs/common/sanitize.conf
@@ -0,0 +1,23 @@
+#
+# Qmake configuration for the GCC / Clang sanitize features
+#
+
+QMAKE_COMMON_SANITIZE_CFLAGS = -fno-omit-frame-pointer
+QMAKE_COMMON_SANITIZE_CXXFLAGS = -fno-omit-frame-pointer
+
+QMAKE_SANITIZE_ADDRESS_CFLAGS = -fsanitize=address
+QMAKE_SANITIZE_ADDRESS_CXXFLAGS = -fsanitize=address
+QMAKE_SANITIZE_ADDRESS_LFLAGS = -fsanitize=address
+
+QMAKE_SANITIZE_THREAD_CFLAGS = -fsanitize=thread
+QMAKE_SANITIZE_THREAD_CXXFLAGS = -fsanitize=thread
+QMAKE_SANITIZE_THREAD_LFLAGS = -fsanitize=thread
+
+QMAKE_SANITIZE_MEMORY_CFLAGS = -fsanitize=memory
+QMAKE_SANITIZE_MEMORY_CXXFLAGS = -fsanitize=memory
+QMAKE_SANITIZE_MEMORY_LFLAGS = -fsanitize=memory
+
+QMAKE_SANITIZE_UNDEFINED_CFLAGS = -fsanitize=undefined
+QMAKE_SANITIZE_UNDEFINED_CXXFLAGS = -fsanitize=undefined
+QMAKE_SANITIZE_UNDEFINED_LFLAGS = -fsanitize=undefined
+
diff --git a/mkspecs/features/sanitizer.prf b/mkspecs/features/sanitizer.prf
new file mode 100644
index 0000000000..9e7ff0218a
--- /dev/null
+++ b/mkspecs/features/sanitizer.prf
@@ -0,0 +1,30 @@
+# Sanitizer flags
+
+
+sanitize_address {
+ QMAKE_CFLAGS += $$QMAKE_SANITIZE_ADDRESS_CFLAGS
+ QMAKE_CXXFLAGS += $$QMAKE_SANITIZE_ADDRESS_CXXFLAGS
+ QMAKE_LFLAGS += $$QMAKE_SANITIZE_ADDRESS_LFLAGS
+}
+
+sanitize_memory {
+ QMAKE_CFLAGS += $$QMAKE_SANITIZE_MEMORY_CFLAGS
+ QMAKE_CXXFLAGS += $$QMAKE_SANITIZE_MEMORY_CXXFLAGS
+ QMAKE_LFLAGS += $$QMAKE_SANITIZE_MEMORY_LFLAGS
+}
+
+sanitize_thread {
+ QMAKE_CFLAGS += $$QMAKE_SANITIZE_THREAD_CFLAGS
+ QMAKE_CXXFLAGS += $$QMAKE_SANITIZE_THREAD_CXXFLAGS
+ QMAKE_LFLAGS += $$QMAKE_SANITIZE_THREAD_LFLAGS
+}
+
+sanitize_undefined {
+ QMAKE_CFLAGS += $$QMAKE_SANITIZE_UNDEFINED_CFLAGS
+ QMAKE_CXXFLAGS += $$QMAKE_SANITIZE_UNDEFINED_CXXFLAGS
+ QMAKE_LFLAGS += $$QMAKE_SANITIZE_UNDEFINED_LFLAGS
+}
+
+QMAKE_CFLAGS += $$QMAKE_COMMON_SANITIZE_CFLAGS
+QMAKE_CXXFLAGS += $$QMAKE_COMMON_SANITIZE_CXXFLAGS
+
diff --git a/qmake/Makefile.unix b/qmake/Makefile.unix
index 10c72bf28f..74705bddfa 100644
--- a/qmake/Makefile.unix
+++ b/qmake/Makefile.unix
@@ -74,6 +74,7 @@ DEPEND_SRC = \
$(SOURCE_PATH)/src/corelib/tools/qlocale_win.cpp \
$(SOURCE_PATH)/src/corelib/tools/qlinkedlist.cpp \
$(SOURCE_PATH)/src/corelib/tools/qhash.cpp $(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp \
+ $(SOURCE_PATH)/src/corelib/kernel/qcore_mac_objc.mm \
$(SOURCE_PATH)/src/corelib/io/qtemporaryfile.cpp $(SOURCE_PATH)/src/corelib/kernel/qmetatype.cpp \
$(SOURCE_PATH)/src/corelib/io/qsettings.cpp $(SOURCE_PATH)/src/corelib/kernel/qvariant.cpp \
$(SOURCE_PATH)/src/corelib/global/qlibraryinfo.cpp $(SOURCE_PATH)/src/corelib/tools/qcryptographichash.cpp \
@@ -269,6 +270,9 @@ qmetatype.o: $(SOURCE_PATH)/src/corelib/kernel/qmetatype.cpp
qcore_mac.o: $(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp
+qcore_mac_objc.o: $(SOURCE_PATH)/src/corelib/kernel/qcore_mac_objc.mm
+ $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/kernel/qcore_mac_objc.mm
+
qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp
index 1f51ff0342..4ddb76032e 100644
--- a/qmake/generators/win32/msbuild_objectmodel.cpp
+++ b/qmake/generators/win32/msbuild_objectmodel.cpp
@@ -1968,11 +1968,13 @@ bool VCXProjectWriter::outputFileConfig(OutputFilterData *d, XmlOutput &xml, Xml
}
if ( !filter.CompilerTool.PrecompiledHeaderThrough.isEmpty() ) {
-
xml << tag("PrecompiledHeaderFile")
<< attrTag("Condition", condition)
- << valueTag(filter.CompilerTool.PrecompiledHeaderThrough)
- << tag("PrecompiledHeader")
+ << valueTag(filter.CompilerTool.PrecompiledHeaderThrough);
+ }
+
+ if (filter.CompilerTool.UsePrecompiledHeader != pchUnset) {
+ xml << tag("PrecompiledHeader")
<< attrTag("Condition", condition)
<< valueTag(toString(filter.CompilerTool.UsePrecompiledHeader));
}
diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp
index 74a0a20ea2..596170b343 100644
--- a/qmake/generators/win32/msvc_objectmodel.cpp
+++ b/qmake/generators/win32/msvc_objectmodel.cpp
@@ -2237,7 +2237,8 @@ void VCFilter::modifyPCHstage(QString str)
useCompilerTool = true;
// Setup PCH options
CompilerTool.UsePrecompiledHeader = (isCFile ? pchNone : pchCreateUsingSpecific);
- CompilerTool.PrecompiledHeaderThrough = (isCPPFile ? Project->precompHFilename : QString("$(NOINHERIT)"));
+ if (isCFile)
+ CompilerTool.PrecompiledHeaderThrough = QLatin1String("$(NOINHERIT)");
CompilerTool.ForcedIncludeFiles = QStringList("$(NOINHERIT)");
}
diff --git a/qmake/qmake.pri b/qmake/qmake.pri
index 4de41d63e6..57dcbb0586 100644
--- a/qmake/qmake.pri
+++ b/qmake/qmake.pri
@@ -138,8 +138,8 @@ bootstrap { #Qt code
SOURCES += qfilesystemengine_unix.cpp qfilesystemiterator_unix.cpp qfsfileengine_unix.cpp
mac {
SOURCES += qcore_mac.cpp qsettings_mac.cpp
- OBJECTIVE_SOURCES += qlocale_mac.mm
- LIBS += -framework ApplicationServices
+ OBJECTIVE_SOURCES += qcore_mac_objc.mm qlocale_mac.mm
+ LIBS += -framework ApplicationServices -framework CoreServices -framework Foundation
} else {
SOURCES += qlocale_unix.cpp
}
diff --git a/src/3rdparty/atspi2/atspi/atspi-constants.h b/src/3rdparty/atspi2/atspi/atspi-constants.h
index 7a55169f1f..3675bcca1f 100644
--- a/src/3rdparty/atspi2/atspi/atspi-constants.h
+++ b/src/3rdparty/atspi2/atspi/atspi-constants.h
@@ -190,7 +190,7 @@ typedef enum {
* enumeration.
*
* Enumeration used by #AtspiMatchRule to specify
- * how to interpret #AtspiAccesible objects.
+ * how to interpret #AtspiAccessible objects.
*
**/
typedef enum {
@@ -331,6 +331,8 @@ typedef enum {
* #atspi_text_get_text_at_offset, #atspi_text_get_text_after_offset, and
* #atspi_text_get_text_before_offset.
*
+ * This enumerationis deprecated since 2.9.90 and should not be used. Use
+ * AtspiTextGranularity with #atspi_text_get_string_at_offset instead.
**/
typedef enum {
ATSPI_TEXT_BOUNDARY_CHAR,
@@ -343,6 +345,34 @@ typedef enum {
} AtspiTextBoundaryType;
/**
+ *AtspiTextGranularity:
+ *@ATSPI_TEXT_GRANULARITY_CHAR: Granularity is defined by the boundaries between characters
+ * (including non-printing characters)
+ *@ATSPI_TEXT_GRANULARITY_WORD: Granularity is defined by the boundaries of a word,
+ * starting at the beginning of the current word and finishing at the beginning of
+ * the following one, if present.
+ *@ATSPI_TEXT_GRANULARITY_SENTENCE: Granularity is defined by the boundaries of a sentence,
+ * starting at the beginning of the current sentence and finishing at the beginning of
+ * the following one, if present.
+ *@ATSPI_TEXT_GRANULARITY_LINE: Granularity is defined by the boundaries of a line,
+ * starting at the beginning of the current line and finishing at the beginning of
+ * the following one, if present.
+ *@ATSPI_TEXT_GRANULARITY_PARAGRAPH: Granularity is defined by the boundaries of a paragraph,
+ * starting at the beginning of the current paragraph and finishing at the beginning of
+ * the following one, if present.
+ *
+ * Text granularity types used for specifying the granularity of the region of
+ * text we are interested in.
+ **/
+typedef enum {
+ ATSPI_TEXT_GRANULARITY_CHAR,
+ ATSPI_TEXT_GRANULARITY_WORD,
+ ATSPI_TEXT_GRANULARITY_SENTENCE,
+ ATSPI_TEXT_GRANULARITY_LINE,
+ ATSPI_TEXT_GRANULARITY_PARAGRAPH
+} AtspiTextGranularity;
+
+/**
* ATSPI_TEXT_BOUNDARY_TYPE_COUNT:
*
* One higher than the highest valid value of #AtspiTextBoundaryType.
@@ -523,6 +553,14 @@ typedef enum {
* @ATSPI_STATE_VISITED: This state indicates that the object (typically a
* hyperlink) has already been activated or invoked, with the result that
* some backing data has been downloaded or rendered.
+ *@ATSPI_STATE_CHECKABLE: Indicates this object has the potential to
+ * be checked, such as a checkbox or toggle-able table cell. @Since:
+ * 2.12
+ *@ATSPI_STATE_HAS_POPUP: Indicates that the object has a popup
+ * context menu or sub-level menu which may or may not be
+ * showing. This means that activation renders conditional content.
+ * Note that ordinary tooltips are not considered popups in this
+ * context. @Since: 2.12
* @ATSPI_STATE_LAST_DEFINED: This value of the enumeration should not be used
* as a parameter, it indicates the number of items in the #AtspiStateType
* enumeration.
@@ -574,6 +612,8 @@ typedef enum {
ATSPI_STATE_SELECTABLE_TEXT,
ATSPI_STATE_IS_DEFAULT,
ATSPI_STATE_VISITED,
+ ATSPI_STATE_CHECKABLE,
+ ATSPI_STATE_HAS_POPUP,
ATSPI_STATE_LAST_DEFINED,
} AtspiStateType;
@@ -639,19 +679,20 @@ typedef enum {
* @ATSPI_KEY_PRESS: Emulates the pressing of a hardware keyboard key.
* @ATSPI_KEY_RELEASE: Emulates the release of a hardware keyboard key.
* @ATSPI_KEY_PRESSRELEASE: Emulates the pressing and immediate releasing
- * ofa hardware keyboard key.
+ * of a hardware keyboard key.
* @ATSPI_KEY_SYM: A symbolic key event is generated, without specifying a
* hardware key. Note: if the keysym is not present in the current keyboard
* map, the #AtspiDeviceEventController instance has a limited ability to
* generate such keysyms on-the-fly. Reliability of GenerateKeyboardEvent
* calls using out-of-keymap keysyms will vary from system to system, and on
- * the number of different out-of-keymap being generated in quick succession.
+ * the number of different out-of-keymap keysyms being generated in quick
+ * succession.
* In practice this is rarely significant, since the keysyms of interest to
* AT clients and keyboard emulators are usually part of the current keymap,
- * i.e. present on the system keyboard for the current locale (even if a
- * physical hardware keyboard is not connected.
+ * i.e., present on the system keyboard for the current locale (even if a
+ * physical hardware keyboard is not connected).
* @ATSPI_KEY_STRING: A string is converted to its equivalent keyboard events
- * and emitted. If the string consists of complex character or composed
+ * and emitted. If the string consists of complex characters or composed
* characters which are not in the current keymap, string emission is
* subject to the out-of-keymap limitations described for
* @ATSPI_KEY_SYM. In practice this limitation primarily effects
@@ -1000,7 +1041,7 @@ typedef enum {
* contains a view of document content. #AtspiDocument frames may occur within
* another #AtspiDocument instance, in which case the second document may be
* said to be embedded in the containing instance. HTML frames are often
- * @ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant,
+ * ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant,
* should implement the #AtspiDocument interface.
* @ATSPI_ROLE_HEADING: The object serves as a heading for content which
* follows it in a document. The 'heading level' of the heading, if
@@ -1064,6 +1105,46 @@ typedef enum {
* particular application.
* @ATSPI_ROLE_INFO_BAR: An object designed to present a message to the user
* within an existing window.
+ *@ATSPI_ROLE_LEVEL_BAR: A bar that serves as a level indicator to, for
+ * instance, show the strength of a password or the state of a battery.
+ * Since: 2.8
+ *@ATSPI_ROLE_TITLE_BAR: A bar that serves as the title of a window or a
+ * dialog. @Since: 2.12
+ *@ATSPI_ROLE_BLOCK_QUOTE: An object which contains a text section
+ * that is quoted from another source. @Since: 2.12
+ *@ATSPI_ROLE_AUDIO: An object which represents an audio
+ * element. @Since: 2.12
+ *@ATSPI_ROLE_VIDEO: An object which represents a video
+ * element. @Since: 2.12
+ *@ATSPI_ROLE_DEFINITION: A definition of a term or concept. @Since: 2.12
+ *@ATSPI_ROLE_ARTICLE: A section of a page that consists of a
+ * composition that forms an independent part of a document, page, or
+ * site. Examples: A blog entry, a news story, a forum post. @Since:
+ * 2.12
+ *@ATSPI_ROLE_LANDMARK: A region of a web page intended as a
+ * navigational landmark. This is designed to allow Assistive
+ * Technologies to provide quick navigation among key regions within a
+ * document. @Since: 2.12
+ *@ATSPI_ROLE_LOG: A text widget or container holding log content, such
+ * as chat history and error logs. In this role there is a
+ * relationship between the arrival of new items in the log and the
+ * reading order. The log contains a meaningful sequence and new
+ * information is added only to the end of the log, not at arbitrary
+ * points. @Since: 2.12
+ *@ATSPI_ROLE_MARQUEE: A container where non-essential information
+ * changes frequently. Common usages of marquee include stock tickers
+ * and ad banners. The primary difference between a marquee and a log
+ * is that logs usually have a meaningful order or sequence of
+ * important content changes. @Since: 2.12
+ *@ATSPI_ROLE_MATH: A text widget or container that holds a mathematical
+ * expression. @Since: 2.12
+ *@ATSPI_ROLE_RATING: A widget whose purpose is to display a rating,
+ * such as the number of stars associated with a song in a media
+ * player. Objects of this role should also implement
+ * AtspiValue. @Since: 2.12
+ *@ATSPI_ROLE_TIMER: An object containing a numerical counter which
+ * indicates an amount of elapsed time from a start point, or the time
+ * remaining until an end point. @Since: 2.12
* @ATSPI_ROLE_LAST_DEFINED: Not a valid role, used for finding end of
* enumeration.
*
@@ -1175,6 +1256,19 @@ typedef enum {
ATSPI_ROLE_IMAGE_MAP,
ATSPI_ROLE_NOTIFICATION,
ATSPI_ROLE_INFO_BAR,
+ ATSPI_ROLE_LEVEL_BAR,
+ ATSPI_ROLE_TITLE_BAR,
+ ATSPI_ROLE_BLOCK_QUOTE,
+ ATSPI_ROLE_AUDIO,
+ ATSPI_ROLE_VIDEO,
+ ATSPI_ROLE_DEFINITION,
+ ATSPI_ROLE_ARTICLE,
+ ATSPI_ROLE_LANDMARK,
+ ATSPI_ROLE_LOG,
+ ATSPI_ROLE_MARQUEE,
+ ATSPI_ROLE_MATH,
+ ATSPI_ROLE_RATING,
+ ATSPI_ROLE_TIMER,
ATSPI_ROLE_LAST_DEFINED,
} AtspiRole;
@@ -1187,8 +1281,8 @@ typedef enum {
typedef enum
{
- ATSPI_CACHE_NONE = 0,
- ATSPI_CACHE_PARENT = 1 << 0,
+ ATSPI_CACHE_NONE = 0,
+ ATSPI_CACHE_PARENT = 1 << 0,
ATSPI_CACHE_CHILDREN = 1 << 1,
ATSPI_CACHE_NAME = 1 << 2,
ATSPI_CACHE_DESCRIPTION = 1 << 3,
@@ -1197,10 +1291,7 @@ typedef enum
ATSPI_CACHE_INTERFACES = 1 << 6,
ATSPI_CACHE_ATTRIBUTES = 1 << 7,
ATSPI_CACHE_ALL = 0x3fffffff,
- ATSPI_CACHE_DEFAULT = ATSPI_CACHE_PARENT | ATSPI_CACHE_CHILDREN |
- ATSPI_CACHE_NAME | ATSPI_CACHE_DESCRIPTION |
- ATSPI_CACHE_STATES | ATSPI_CACHE_ROLE |
- ATSPI_CACHE_INTERFACES,
+ ATSPI_CACHE_DEFAULT = ATSPI_CACHE_PARENT | ATSPI_CACHE_CHILDREN | ATSPI_CACHE_NAME | ATSPI_CACHE_DESCRIPTION | ATSPI_CACHE_STATES | ATSPI_CACHE_ROLE | ATSPI_CACHE_INTERFACES,
ATSPI_CACHE_UNDEFINED = 0x40000000,
} AtspiCache;
@@ -1231,6 +1322,7 @@ typedef enum
#define ATSPI_DBUS_INTERFACE_IMAGE "org.a11y.atspi.Image"
#define ATSPI_DBUS_INTERFACE_SELECTION "org.a11y.atspi.Selection"
#define ATSPI_DBUS_INTERFACE_TABLE "org.a11y.atspi.Table"
+#define ATSPI_DBUS_INTERFACE_TABLE_CELL "org.a11y.atspi.TableCell"
#define ATSPI_DBUS_INTERFACE_TEXT "org.a11y.atspi.Text"
#define ATSPI_DBUS_INTERFACE_VALUE "org.a11y.atspi.Value"
#define ATSPI_DBUS_INTERFACE_SOCKET "org.a11y.atspi.Socket"
diff --git a/src/3rdparty/forkfd/forkfd.c b/src/3rdparty/forkfd/forkfd.c
new file mode 100644
index 0000000000..b781b517a6
--- /dev/null
+++ b/src/3rdparty/forkfd/forkfd.c
@@ -0,0 +1,495 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Intel Corporation
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+# define _POSIX_C_SOURCE 200809L
+# define _XOPEN_SOURCE 500
+#endif
+#include "forkfd.h"
+
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <assert.h>
+#include <errno.h>
+#include <pthread.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#ifdef __linux__
+# define HAVE_PIPE2 1
+# define HAVE_EVENTFD 1
+# include <sys/eventfd.h>
+#endif
+
+#if _POSIX_VERSION-0 >= 200809L || _XOPEN_VERSION-0 >= 500
+# define HAVE_WAITID 1
+#endif
+
+#ifndef FFD_ATOMIC_RELAXED
+# include "forkfd_gcc.h"
+#endif
+
+#define CHILDREN_IN_SMALL_ARRAY 16
+#define CHILDREN_IN_BIG_ARRAY 256
+#define sizeofarray(array) (sizeof(array)/sizeof(array[0]))
+#define EINTR_LOOP(ret, call) \
+ do { \
+ ret = call; \
+ } while (ret == -1 && errno == EINTR)
+
+typedef struct process_info
+{
+ ffd_atomic_int pid;
+ int deathPipe;
+} ProcessInfo;
+
+struct BigArray;
+typedef struct Header
+{
+ ffd_atomic_pointer(struct BigArray) nextArray;
+ ffd_atomic_int busyCount;
+} Header;
+
+typedef struct BigArray
+{
+ Header header;
+ ProcessInfo entries[CHILDREN_IN_BIG_ARRAY];
+} BigArray;
+
+typedef struct SmallArray
+{
+ Header header;
+ ProcessInfo entries[CHILDREN_IN_SMALL_ARRAY];
+} SmallArray;
+static SmallArray children;
+
+static struct sigaction old_sigaction;
+static pthread_once_t forkfd_initialization = PTHREAD_ONCE_INIT;
+static ffd_atomic_int forkfd_status = FFD_ATOMIC_INIT(0);
+
+static ProcessInfo *tryAllocateInSection(Header *header, ProcessInfo entries[], int maxCount)
+{
+ /* we use ACQUIRE here because the signal handler might have released the PID */
+ int busyCount = ffd_atomic_add_fetch(&header->busyCount, 1, FFD_ATOMIC_ACQUIRE);
+ if (busyCount <= maxCount) {
+ /* there's an available entry in this section, find it and take it */
+ int i;
+ for (i = 0; i < maxCount; ++i) {
+ /* if the PID is 0, it's free; mark it as used by swapping it with -1 */
+ int expected_pid = 0;
+ if (ffd_atomic_compare_exchange(&entries[i].pid, &expected_pid,
+ -1, FFD_ATOMIC_RELAXED, FFD_ATOMIC_RELAXED))
+ return &entries[i];
+ }
+ }
+
+ /* there isn't an available entry, undo our increment */
+ ffd_atomic_add_fetch(&header->busyCount, -1, FFD_ATOMIC_RELAXED);
+ return NULL;
+}
+
+static ProcessInfo *allocateInfo(Header **header)
+{
+ Header *currentHeader = &children.header;
+
+ /* try to find an available entry in the small array first */
+ ProcessInfo *info =
+ tryAllocateInSection(currentHeader, children.entries, sizeofarray(children.entries));
+
+ /* go on to the next arrays */
+ while (info == NULL) {
+ BigArray *array = ffd_atomic_load(&currentHeader->nextArray, FFD_ATOMIC_ACQUIRE);
+ if (array == NULL) {
+ /* allocate an array and try to use it */
+ BigArray *allocatedArray = (BigArray *)calloc(1, sizeof(BigArray));
+ if (allocatedArray == NULL)
+ return NULL;
+
+ if (ffd_atomic_compare_exchange(&currentHeader->nextArray, &array, allocatedArray,
+ FFD_ATOMIC_RELEASE, FFD_ATOMIC_ACQUIRE)) {
+ /* success */
+ array = allocatedArray;
+ } else {
+ /* failed, the atomic updated 'array' */
+ free(allocatedArray);
+ }
+ }
+
+ currentHeader = &array->header;
+ info = tryAllocateInSection(currentHeader, array->entries, sizeofarray(array->entries));
+ }
+
+ *header = currentHeader;
+ return info;
+}
+
+static int tryReaping(pid_t pid, siginfo_t *info)
+{
+ /* reap the child */
+#ifdef HAVE_WAITID
+ // we have waitid(2), which fills in siginfo_t for us
+ info->si_pid = 0;
+ return waitid(P_PID, pid, info, WEXITED | WNOHANG) == 0 && info->si_pid == pid;
+#else
+ int status;
+ if (waitpid(pid, &status, WNOHANG) <= 0)
+ return 0; // child did not change state
+
+ info->si_signo = SIGCHLD;
+ info->si_utime = 0;
+ info->si_stime = 0;
+ info->si_pid = pid;
+ if (WIFEXITED(status)) {
+ info->si_code = CLD_EXITED;
+ info->si_status = WEXITSTATUS(status);
+ } else if (WIFSIGNALED(status)) {
+ info->si_code = CLD_KILLED;
+# ifdef WCOREDUMP
+ if (WCOREDUMP(status))
+ info->si_code = CLD_DUMPED;
+# endif
+ info->si_status = WTERMSIG(status);
+ }
+
+ return 1;
+#endif
+}
+
+static void freeInfo(Header *header, ProcessInfo *entry)
+{
+ entry->deathPipe = -1;
+ entry->pid = 0;
+
+ ffd_atomic_add_fetch(&header->busyCount, -1, FFD_ATOMIC_RELEASE);
+ assert(header->busyCount >= 0);
+}
+
+static void notifyAndFreeInfo(Header *header, ProcessInfo *entry, siginfo_t *info)
+{
+ ssize_t ret;
+ EINTR_LOOP(ret, write(entry->deathPipe, info, sizeof(*info)));
+ EINTR_LOOP(ret, close(entry->deathPipe));
+
+ freeInfo(header, entry);
+}
+
+static void sigchld_handler(int signum)
+{
+ /*
+ * This is a signal handler, so we need to be careful about which functions
+ * we can call. See the full, official listing in the POSIX.1-2008
+ * specification at:
+ * http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04_03
+ *
+ */
+
+ if (ffd_atomic_load(&forkfd_status, FFD_ATOMIC_RELAXED) == 1) {
+ /* is this one of our children? */
+ BigArray *array;
+ siginfo_t info;
+ int i;
+
+ for (i = 0; i < (int)sizeofarray(children.entries); ++i) {
+ int pid = ffd_atomic_load(&children.entries[i].pid, FFD_ATOMIC_ACQUIRE);
+ if (pid > 0 && tryReaping(pid, &info)) {
+ /* this is our child, send notification and free up this entry */
+ notifyAndFreeInfo(&children.header, &children.entries[i], &info);
+ }
+ }
+
+ /* try the arrays */
+ array = ffd_atomic_load(&children.header.nextArray, FFD_ATOMIC_ACQUIRE);
+ while (array != NULL) {
+ for (i = 0; i < (int)sizeofarray(array->entries); ++i) {
+ int pid = ffd_atomic_load(&array->entries[i].pid, FFD_ATOMIC_ACQUIRE);
+ if (pid > 0 && tryReaping(pid, &info)) {
+ /* this is our child, send notification and free up this entry */
+ notifyAndFreeInfo(&array->header, &array->entries[i], &info);
+ }
+ }
+
+ array = ffd_atomic_load(&array->header.nextArray, FFD_ATOMIC_ACQUIRE);
+ }
+ }
+
+ if (old_sigaction.sa_handler != SIG_IGN && old_sigaction.sa_handler != SIG_DFL)
+ old_sigaction.sa_handler(signum);
+}
+
+static void forkfd_initialize()
+{
+ /* install our signal handler */
+ struct sigaction action;
+ memset(&action, 0, sizeof action);
+ sigemptyset(&action.sa_mask);
+ action.sa_flags = SA_NOCLDSTOP;
+ action.sa_handler = sigchld_handler;
+
+ /* ### RACE CONDITION
+ * The sigaction function does a memcpy from an internal buffer
+ * to old_sigaction, which we use in the SIGCHLD handler. If a
+ * SIGCHLD is delivered before or during that memcpy, the handler will
+ * see an inconsistent state.
+ *
+ * There is no solution. pthread_sigmask doesn't work here because the
+ * signal could be delivered to another thread.
+ */
+ sigaction(SIGCHLD, &action, &old_sigaction);
+
+#ifndef __GNUC__
+ atexit(cleanup);
+#endif
+
+ ffd_atomic_store(&forkfd_status, 1, FFD_ATOMIC_RELAXED);
+}
+
+#ifdef __GNUC__
+__attribute((destructor, unused)) static void cleanup();
+#endif
+
+static void cleanup()
+{
+ BigArray *array;
+ /* This function is not thread-safe!
+ * It must only be called when the process is shutting down.
+ * At shutdown, we expect no one to be calling forkfd(), so we don't
+ * need to be thread-safe with what is done there.
+ *
+ * But SIGCHLD might be delivered to any thread, including this one.
+ * There's no way to prevent that. The correct solution would be to
+ * cooperatively delete. We don't do that.
+ */
+ if (ffd_atomic_load(&forkfd_status, FFD_ATOMIC_RELAXED) == 0)
+ return;
+
+ /* notify the handler that we're no longer in operation */
+ ffd_atomic_store(&forkfd_status, 0, FFD_ATOMIC_RELAXED);
+
+ /* free any arrays we might have */
+ array = children.header.nextArray;
+ while (array != NULL) {
+ BigArray *next = array->header.nextArray;
+ free(array);
+ array = next;
+ }
+}
+
+static int create_pipe(int filedes[], int flags)
+{
+ int ret;
+#ifdef HAVE_PIPE2
+ /* use pipe2(2) whenever possible, since it can thread-safely create a
+ * cloexec pair of pipes. Without it, we have a race condition setting
+ * FD_CLOEXEC
+ */
+ ret = pipe2(filedes, O_CLOEXEC);
+ if (ret == -1)
+ return ret;
+
+ if ((flags & FFD_CLOEXEC) == 0)
+ fcntl(filedes[0], F_SETFD, 0);
+#else
+ ret = pipe(filedes);
+ if (ret == -1)
+ return ret;
+
+ fcntl(filedes[1], F_SETFD, FD_CLOEXEC);
+ if (flags & FFD_CLOEXEC)
+ fcntl(filedes[0], F_SETFD, FD_CLOEXEC);
+#endif
+ if (flags & FFD_NONBLOCK)
+ fcntl(filedes[0], F_SETFL, fcntl(filedes[0], F_GETFL) | O_NONBLOCK);
+ return ret;
+}
+
+/**
+ * @brief forkfd returns a file descriptor representing a child process
+ * @return a file descriptor, or -1 in case of failure
+ *
+ * forkfd() creates a file descriptor that can be used to be notified of when a
+ * child process exits. This file descriptor can be monitored using select(2),
+ * poll(2) or similar mechanisms.
+ *
+ * The @a flags parameter can contain the following values ORed to change the
+ * behaviour of forkfd():
+ *
+ * @li @c FFD_NONBLOCK Set the O_NONBLOCK file status flag on the new open file
+ * descriptor. Using this flag saves extra calls to fnctl(2) to achieve the same
+ * result.
+ *
+ * @li @c FFD_CLOEXEC Set the close-on-exec (FD_CLOEXEC) flag on the new file
+ * descriptor. You probably want to set this flag, since forkfd() does not work
+ * if the original parent process dies.
+ *
+ * The file descriptor returned by forkfd() supports the following operations:
+ *
+ * @li read(2) When the child process exits, then the buffer supplied to
+ * read(2) is used to return information about the status of the child in the
+ * form of one @c siginfo_t structure. The buffer must be at least
+ * sizeof(siginfo_t) bytes. The return value of read(2) is the total number of
+ * bytes read.
+ *
+ * @li poll(2), select(2) (and similar) The file descriptor is readable (the
+ * select(2) readfds argument; the poll(2) POLLIN flag) if the child has exited
+ * or signalled via SIGCHLD.
+ *
+ * @li close(2) When the file descriptor is no longer required it should be closed.
+ */
+int forkfd(int flags, pid_t *ppid)
+{
+ Header *header;
+ ProcessInfo *info;
+ pid_t pid;
+ int fd = -1;
+ int death_pipe[2];
+ int sync_pipe[2];
+ int ret;
+#ifdef __linux__
+ int efd;
+#endif
+
+ (void) pthread_once(&forkfd_initialization, forkfd_initialize);
+
+ info = allocateInfo(&header);
+ if (info == NULL) {
+ errno = ENOMEM;
+ return -1;
+ }
+
+ /* create the pipes before we fork */
+ if (create_pipe(death_pipe, flags) == -1)
+ goto err_free; /* failed to create the pipes, pass errno */
+
+#ifdef HAVE_EVENTFD
+ /* try using an eventfd, which consumes less resources */
+ efd = eventfd(0, EFD_CLOEXEC);
+ if (efd == -1)
+#endif
+ {
+ /* try a pipe */
+ if (create_pipe(sync_pipe, O_CLOEXEC) == -1) {
+ /* failed both at eventfd and pipe; fail and pass errno */
+ goto err_close;
+ }
+ }
+
+ /* now fork */
+ pid = fork();
+ if (pid == -1)
+ goto err_close2; /* failed to fork, pass errno */
+ if (ppid)
+ *ppid = pid;
+
+ /*
+ * We need to store the child's PID in the info structure, so
+ * the SIGCHLD handler knows that this child is present and it
+ * knows the writing end of the pipe to pass information on.
+ * However, the child process could exit before we stored the
+ * information (or the handler could run for other children exiting).
+ * We prevent that from happening by blocking the child process in
+ * a read(2) until we're finished storing the information.
+ */
+ if (pid == 0) {
+ /* this is the child process */
+ /* first, wait for the all clear */
+#ifdef HAVE_EVENTFD
+ if (efd != -1) {
+ eventfd_t val64;
+ EINTR_LOOP(ret, eventfd_read(efd, &val64));
+ EINTR_LOOP(ret, close(efd));
+ } else
+#endif
+ {
+ char c;
+ EINTR_LOOP(ret, close(sync_pipe[1]));
+ EINTR_LOOP(ret, read(sync_pipe[0], &c, sizeof c));
+ EINTR_LOOP(ret, close(sync_pipe[0]));
+ }
+
+ /* now close the pipes and return to the caller */
+ EINTR_LOOP(ret, close(death_pipe[0]));
+ EINTR_LOOP(ret, close(death_pipe[1]));
+ fd = FFD_CHILD_PROCESS;
+ } else {
+ /* parent process */
+ info->deathPipe = death_pipe[1];
+ fd = death_pipe[0];
+ ffd_atomic_store(&info->pid, pid, FFD_ATOMIC_RELEASE);
+
+ /* release the child */
+#ifdef HAVE_EVENTFD
+ if (efd != -1) {
+ eventfd_t val64 = 42;
+ EINTR_LOOP(ret, eventfd_write(efd, val64));
+ EINTR_LOOP(ret, close(efd));
+ } else
+#endif
+ {
+ /*
+ * Usually, closing would be enough to make read(2) return and the child process
+ * continue. We need to write here: another thread could be calling forkfd at the
+ * same time, which means auxpipe[1] might be open in another child process.
+ */
+ EINTR_LOOP(ret, close(sync_pipe[0]));
+ EINTR_LOOP(ret, write(sync_pipe[1], "", 1));
+ EINTR_LOOP(ret, close(sync_pipe[1]));
+ }
+ }
+
+ return fd;
+
+err_close2:
+#ifdef HAVE_EVENTFD
+ if (efd != -1) {
+ EINTR_LOOP(ret, close(efd));
+ } else
+#endif
+ {
+ EINTR_LOOP(ret, close(sync_pipe[0]));
+ EINTR_LOOP(ret, close(sync_pipe[1]));
+ }
+err_close:
+ EINTR_LOOP(ret, close(death_pipe[0]));
+ EINTR_LOOP(ret, close(death_pipe[1]));
+err_free:
+ /* free the info pointer */
+ freeInfo(header, info);
+ return -1;
+}
diff --git a/src/3rdparty/forkfd/forkfd.h b/src/3rdparty/forkfd/forkfd.h
new file mode 100644
index 0000000000..de75f84bc0
--- /dev/null
+++ b/src/3rdparty/forkfd/forkfd.h
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Intel Corporation
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef FORKFD_H
+#define FORKFD_H
+
+#include <fcntl.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define FFD_CLOEXEC O_CLOEXEC
+#define FFD_NONBLOCK O_NONBLOCK
+
+#define FFD_CHILD_PROCESS (-2)
+
+int forkfd(int flags, pid_t *ppid);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // FORKFD_H
diff --git a/src/3rdparty/forkfd/forkfd_gcc.h b/src/3rdparty/forkfd/forkfd_gcc.h
new file mode 100644
index 0000000000..e5cbbe60e0
--- /dev/null
+++ b/src/3rdparty/forkfd/forkfd_gcc.h
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Intel Corporation
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef FFD_ATOMIC_GCC_H
+#define FFD_ATOMIC_GCC_H
+
+/* atomics */
+/* we'll use the GCC 4.7 atomic builtins
+ * See http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html#_005f_005fatomic-Builtins
+ * Or in texinfo: C Extensions > __atomic Builtins
+ */
+typedef int ffd_atomic_int;
+#define ffd_atomic_pointer(type) type*
+
+#define FFD_ATOMIC_INIT(val) (val)
+
+#define FFD_ATOMIC_RELAXED __ATOMIC_RELAXED
+#define FFD_ATOMIC_ACQUIRE __ATOMIC_ACQUIRE
+#define FFD_ATOMIC_RELEASE __ATOMIC_RELEASE
+// acq_rel & cst not necessary
+
+#if !defined(__GNUC__) || \
+ ((__GNUC__ - 0) * 100 + (__GNUC_MINOR__ - 0)) < 407 || \
+ (defined(__INTEL_COMPILER) && __INTEL_COMPILER-0 < 1310) || \
+ (defined(__clang__) && ((__clang_major__-0) * 100 + (__clang_minor-0)) < 303)
+#define ffd_atomic_load_n(ptr,order) *(ptr)
+#define ffd_atomic_store_n(ptr,val,order) (*(ptr) = (val), (void)0)
+#define ffd_atomic_exchange_n(ptr,val,order) __sync_lock_test_and_set(ptr, val)
+#define ffd_atomic_compare_exchange_n(ptr,expected,desired,weak,order1,order2) \
+ __sync_bool_compare_and_swap(ptr, *(expected), desired) ? 1 : \
+ (*(expected) = *(ptr), 0)
+#define ffd_atomic_add_fetch(ptr,val,order) __sync_add_and_fetch(ptr, val)
+#else
+#define ffd_atomic_load(ptr,order) __atomic_load_n(ptr, order)
+#define ffd_atomic_store(ptr,val,order) __atomic_store_n(ptr, val, order)
+#define ffd_atomic_exchange(ptr,val,order) __atomic_exchange_n(ptr, val, order)
+#define ffd_atomic_compare_exchange(ptr,expected,desired,order1,order2) \
+ __atomic_compare_exchange_n(ptr, expected, desired, 1, order1, order2)
+#define ffd_atomic_add_fetch(ptr,val,order) __atomic_add_fetch(ptr, val, order)
+#endif
+
+#endif
diff --git a/src/3rdparty/iaccessible2/generated/amd64/Accessible2.h b/src/3rdparty/iaccessible2/generated/amd64/Accessible2.h
deleted file mode 100644
index 3973db319e..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/Accessible2.h
+++ /dev/null
@@ -1,585 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:56 2012
- */
-/* Compiler settings for Accessible2.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __Accessible2_h__
-#define __Accessible2_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessible2_FWD_DEFINED__
-#define __IAccessible2_FWD_DEFINED__
-typedef interface IAccessible2 IAccessible2;
-#endif /* __IAccessible2_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "AccessibleRelation.h"
-#include "AccessibleStates.h"
-#include "IA2CommonTypes.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_Accessible2_0000_0000 */
-/* [local] */
-
-typedef struct IA2Locale
- {
- BSTR language;
- BSTR country;
- BSTR variant;
- } IA2Locale;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_Accessible2_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_Accessible2_0000_0000_v0_0_s_ifspec;
-
-#ifndef __IAccessible2_INTERFACE_DEFINED__
-#define __IAccessible2_INTERFACE_DEFINED__
-
-/* interface IAccessible2 */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessible2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("E89F726E-C4F4-4c19-BB19-B647D7FA8478")
- IAccessible2 : public IAccessible
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRelations(
- /* [retval][out] */ long *nRelations) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relation(
- /* [in] */ long relationIndex,
- /* [retval][out] */ IAccessibleRelation **relation) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relations(
- /* [in] */ long maxRelations,
- /* [length_is][size_is][out] */ IAccessibleRelation **relations,
- /* [retval][out] */ long *nRelations) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE role(
- /* [retval][out] */ long *role) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE scrollTo(
- /* [in] */ enum IA2ScrollType scrollType) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE scrollToPoint(
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [in] */ long x,
- /* [in] */ long y) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_groupPosition(
- /* [out] */ long *groupLevel,
- /* [out] */ long *similarItemsInGroup,
- /* [retval][out] */ long *positionInGroup) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_states(
- /* [retval][out] */ AccessibleStates *states) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedRole(
- /* [retval][out] */ BSTR *extendedRole) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedRole(
- /* [retval][out] */ BSTR *localizedExtendedRole) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nExtendedStates(
- /* [retval][out] */ long *nExtendedStates) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedStates(
- /* [in] */ long maxExtendedStates,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
- /* [retval][out] */ long *nExtendedStates) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedStates(
- /* [in] */ long maxLocalizedExtendedStates,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
- /* [retval][out] */ long *nLocalizedExtendedStates) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID(
- /* [retval][out] */ long *uniqueID) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_windowHandle(
- /* [retval][out] */ HWND *windowHandle) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_indexInParent(
- /* [retval][out] */ long *indexInParent) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locale(
- /* [retval][out] */ IA2Locale *locale) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes(
- /* [retval][out] */ BSTR *attributes) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessible2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessible2 * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessible2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessible2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
- IAccessible2 * This,
- /* [out] */ UINT *pctinfo);
-
- HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
- IAccessible2 * This,
- /* [in] */ UINT iTInfo,
- /* [in] */ LCID lcid,
- /* [out] */ ITypeInfo **ppTInfo);
-
- HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
- IAccessible2 * This,
- /* [in] */ REFIID riid,
- /* [size_is][in] */ LPOLESTR *rgszNames,
- /* [range][in] */ UINT cNames,
- /* [in] */ LCID lcid,
- /* [size_is][out] */ DISPID *rgDispId);
-
- /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
- IAccessible2 * This,
- /* [in] */ DISPID dispIdMember,
- /* [in] */ REFIID riid,
- /* [in] */ LCID lcid,
- /* [in] */ WORD wFlags,
- /* [out][in] */ DISPPARAMS *pDispParams,
- /* [out] */ VARIANT *pVarResult,
- /* [out] */ EXCEPINFO *pExcepInfo,
- /* [out] */ UINT *puArgErr);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )(
- IAccessible2 * This,
- /* [retval][out] */ IDispatch **ppdispParent);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )(
- IAccessible2 * This,
- /* [retval][out] */ long *pcountChildren);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )(
- IAccessible2 * This,
- /* [in] */ VARIANT varChild,
- /* [retval][out] */ IDispatch **ppdispChild);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszName);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszValue);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszDescription);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ VARIANT *pvarRole);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ VARIANT *pvarState);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszHelp);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )(
- IAccessible2 * This,
- /* [out] */ BSTR *pszHelpFile,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ long *pidTopic);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszKeyboardShortcut);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )(
- IAccessible2 * This,
- /* [retval][out] */ VARIANT *pvarChild);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )(
- IAccessible2 * This,
- /* [retval][out] */ VARIANT *pvarChildren);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszDefaultAction);
-
- /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )(
- IAccessible2 * This,
- /* [in] */ long flagsSelect,
- /* [optional][in] */ VARIANT varChild);
-
- /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )(
- IAccessible2 * This,
- /* [out] */ long *pxLeft,
- /* [out] */ long *pyTop,
- /* [out] */ long *pcxWidth,
- /* [out] */ long *pcyHeight,
- /* [optional][in] */ VARIANT varChild);
-
- /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )(
- IAccessible2 * This,
- /* [in] */ long navDir,
- /* [optional][in] */ VARIANT varStart,
- /* [retval][out] */ VARIANT *pvarEndUpAt);
-
- /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )(
- IAccessible2 * This,
- /* [in] */ long xLeft,
- /* [in] */ long yTop,
- /* [retval][out] */ VARIANT *pvarChild);
-
- /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild);
-
- /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [in] */ BSTR szName);
-
- /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [in] */ BSTR szValue);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )(
- IAccessible2 * This,
- /* [retval][out] */ long *nRelations);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )(
- IAccessible2 * This,
- /* [in] */ long relationIndex,
- /* [retval][out] */ IAccessibleRelation **relation);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )(
- IAccessible2 * This,
- /* [in] */ long maxRelations,
- /* [length_is][size_is][out] */ IAccessibleRelation **relations,
- /* [retval][out] */ long *nRelations);
-
- HRESULT ( STDMETHODCALLTYPE *role )(
- IAccessible2 * This,
- /* [retval][out] */ long *role);
-
- HRESULT ( STDMETHODCALLTYPE *scrollTo )(
- IAccessible2 * This,
- /* [in] */ enum IA2ScrollType scrollType);
-
- HRESULT ( STDMETHODCALLTYPE *scrollToPoint )(
- IAccessible2 * This,
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [in] */ long x,
- /* [in] */ long y);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )(
- IAccessible2 * This,
- /* [out] */ long *groupLevel,
- /* [out] */ long *similarItemsInGroup,
- /* [retval][out] */ long *positionInGroup);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )(
- IAccessible2 * This,
- /* [retval][out] */ AccessibleStates *states);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )(
- IAccessible2 * This,
- /* [retval][out] */ BSTR *extendedRole);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )(
- IAccessible2 * This,
- /* [retval][out] */ BSTR *localizedExtendedRole);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )(
- IAccessible2 * This,
- /* [retval][out] */ long *nExtendedStates);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )(
- IAccessible2 * This,
- /* [in] */ long maxExtendedStates,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
- /* [retval][out] */ long *nExtendedStates);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )(
- IAccessible2 * This,
- /* [in] */ long maxLocalizedExtendedStates,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
- /* [retval][out] */ long *nLocalizedExtendedStates);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )(
- IAccessible2 * This,
- /* [retval][out] */ long *uniqueID);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )(
- IAccessible2 * This,
- /* [retval][out] */ HWND *windowHandle);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )(
- IAccessible2 * This,
- /* [retval][out] */ long *indexInParent);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )(
- IAccessible2 * This,
- /* [retval][out] */ IA2Locale *locale);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
- IAccessible2 * This,
- /* [retval][out] */ BSTR *attributes);
-
- END_INTERFACE
- } IAccessible2Vtbl;
-
- interface IAccessible2
- {
- CONST_VTBL struct IAccessible2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessible2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessible2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessible2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessible2_GetTypeInfoCount(This,pctinfo) \
- ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
-
-#define IAccessible2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
- ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
-
-#define IAccessible2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
- ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
-
-#define IAccessible2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
- ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
-
-
-#define IAccessible2_get_accParent(This,ppdispParent) \
- ( (This)->lpVtbl -> get_accParent(This,ppdispParent) )
-
-#define IAccessible2_get_accChildCount(This,pcountChildren) \
- ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) )
-
-#define IAccessible2_get_accChild(This,varChild,ppdispChild) \
- ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) )
-
-#define IAccessible2_get_accName(This,varChild,pszName) \
- ( (This)->lpVtbl -> get_accName(This,varChild,pszName) )
-
-#define IAccessible2_get_accValue(This,varChild,pszValue) \
- ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) )
-
-#define IAccessible2_get_accDescription(This,varChild,pszDescription) \
- ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) )
-
-#define IAccessible2_get_accRole(This,varChild,pvarRole) \
- ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) )
-
-#define IAccessible2_get_accState(This,varChild,pvarState) \
- ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) )
-
-#define IAccessible2_get_accHelp(This,varChild,pszHelp) \
- ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) )
-
-#define IAccessible2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \
- ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) )
-
-#define IAccessible2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \
- ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) )
-
-#define IAccessible2_get_accFocus(This,pvarChild) \
- ( (This)->lpVtbl -> get_accFocus(This,pvarChild) )
-
-#define IAccessible2_get_accSelection(This,pvarChildren) \
- ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) )
-
-#define IAccessible2_get_accDefaultAction(This,varChild,pszDefaultAction) \
- ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) )
-
-#define IAccessible2_accSelect(This,flagsSelect,varChild) \
- ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) )
-
-#define IAccessible2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \
- ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) )
-
-#define IAccessible2_accNavigate(This,navDir,varStart,pvarEndUpAt) \
- ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) )
-
-#define IAccessible2_accHitTest(This,xLeft,yTop,pvarChild) \
- ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) )
-
-#define IAccessible2_accDoDefaultAction(This,varChild) \
- ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) )
-
-#define IAccessible2_put_accName(This,varChild,szName) \
- ( (This)->lpVtbl -> put_accName(This,varChild,szName) )
-
-#define IAccessible2_put_accValue(This,varChild,szValue) \
- ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) )
-
-
-#define IAccessible2_get_nRelations(This,nRelations) \
- ( (This)->lpVtbl -> get_nRelations(This,nRelations) )
-
-#define IAccessible2_get_relation(This,relationIndex,relation) \
- ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) )
-
-#define IAccessible2_get_relations(This,maxRelations,relations,nRelations) \
- ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) )
-
-#define IAccessible2_role(This,role) \
- ( (This)->lpVtbl -> role(This,role) )
-
-#define IAccessible2_scrollTo(This,scrollType) \
- ( (This)->lpVtbl -> scrollTo(This,scrollType) )
-
-#define IAccessible2_scrollToPoint(This,coordinateType,x,y) \
- ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) )
-
-#define IAccessible2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \
- ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) )
-
-#define IAccessible2_get_states(This,states) \
- ( (This)->lpVtbl -> get_states(This,states) )
-
-#define IAccessible2_get_extendedRole(This,extendedRole) \
- ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) )
-
-#define IAccessible2_get_localizedExtendedRole(This,localizedExtendedRole) \
- ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) )
-
-#define IAccessible2_get_nExtendedStates(This,nExtendedStates) \
- ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) )
-
-#define IAccessible2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \
- ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) )
-
-#define IAccessible2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \
- ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) )
-
-#define IAccessible2_get_uniqueID(This,uniqueID) \
- ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) )
-
-#define IAccessible2_get_windowHandle(This,windowHandle) \
- ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) )
-
-#define IAccessible2_get_indexInParent(This,indexInParent) \
- ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) )
-
-#define IAccessible2_get_locale(This,locale) \
- ( (This)->lpVtbl -> get_locale(This,locale) )
-
-#define IAccessible2_get_attributes(This,attributes) \
- ( (This)->lpVtbl -> get_attributes(This,attributes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessible2_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * );
-unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * );
-unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
-void __RPC_USER HWND_UserFree( unsigned long *, HWND * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/Accessible2_i.c b/src/3rdparty/iaccessible2/generated/amd64/Accessible2_i.c
deleted file mode 100644
index 480a2a7537..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/Accessible2_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:56 2012
- */
-/* Compiler settings for Accessible2.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessible2,0xE89F726E,0xC4F4,0x4c19,0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/Accessible2_p.c b/src/3rdparty/iaccessible2/generated/amd64/Accessible2_p.c
deleted file mode 100644
index 281718a7e5..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/Accessible2_p.c
+++ /dev/null
@@ -1,1196 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:56 2012
- */
-/* Compiler settings for Accessible2.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "Accessible2.h"
-
-#define TYPE_FORMAT_STRING_SIZE 189
-#define PROC_FORMAT_STRING_SIZE 751
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 2
-
-typedef struct _Accessible2_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } Accessible2_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _Accessible2_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } Accessible2_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _Accessible2_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } Accessible2_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const Accessible2_MIDL_TYPE_FORMAT_STRING Accessible2__MIDL_TypeFormatString;
-extern const Accessible2_MIDL_PROC_FORMAT_STRING Accessible2__MIDL_ProcFormatString;
-extern const Accessible2_MIDL_EXPR_FORMAT_STRING Accessible2__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessible2_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const Accessible2_MIDL_PROC_FORMAT_STRING Accessible2__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_nRelations */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x1c ), /* 28 */
-/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x24 ), /* 36 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nRelations */
-
-/* 26 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_relation */
-
-/* 38 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 40 */ NdrFcLong( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0x1d ), /* 29 */
-/* 46 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 48 */ NdrFcShort( 0x8 ), /* 8 */
-/* 50 */ NdrFcShort( 0x8 ), /* 8 */
-/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 54 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter relationIndex */
-
-/* 64 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 68 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter relation */
-
-/* 70 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 74 */ NdrFcShort( 0x6 ), /* Type Offset=6 */
-
- /* Return value */
-
-/* 76 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 78 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 80 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_relations */
-
-/* 82 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 84 */ NdrFcLong( 0x0 ), /* 0 */
-/* 88 */ NdrFcShort( 0x1e ), /* 30 */
-/* 90 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 92 */ NdrFcShort( 0x8 ), /* 8 */
-/* 94 */ NdrFcShort( 0x24 ), /* 36 */
-/* 96 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 98 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 100 */ NdrFcShort( 0x1 ), /* 1 */
-/* 102 */ NdrFcShort( 0x0 ), /* 0 */
-/* 104 */ NdrFcShort( 0x0 ), /* 0 */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxRelations */
-
-/* 108 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 110 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter relations */
-
-/* 114 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */
-/* 116 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 118 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Parameter nRelations */
-
-/* 120 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 122 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 128 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 130 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure role */
-
-/* 132 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 134 */ NdrFcLong( 0x0 ), /* 0 */
-/* 138 */ NdrFcShort( 0x1f ), /* 31 */
-/* 140 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 142 */ NdrFcShort( 0x0 ), /* 0 */
-/* 144 */ NdrFcShort( 0x24 ), /* 36 */
-/* 146 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 148 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 150 */ NdrFcShort( 0x0 ), /* 0 */
-/* 152 */ NdrFcShort( 0x0 ), /* 0 */
-/* 154 */ NdrFcShort( 0x0 ), /* 0 */
-/* 156 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter role */
-
-/* 158 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 160 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 162 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 164 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 166 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 168 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure scrollTo */
-
-/* 170 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 172 */ NdrFcLong( 0x0 ), /* 0 */
-/* 176 */ NdrFcShort( 0x20 ), /* 32 */
-/* 178 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 180 */ NdrFcShort( 0x6 ), /* 6 */
-/* 182 */ NdrFcShort( 0x8 ), /* 8 */
-/* 184 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 186 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 188 */ NdrFcShort( 0x0 ), /* 0 */
-/* 190 */ NdrFcShort( 0x0 ), /* 0 */
-/* 192 */ NdrFcShort( 0x0 ), /* 0 */
-/* 194 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter scrollType */
-
-/* 196 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 198 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 200 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 202 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 204 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 206 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure scrollToPoint */
-
-/* 208 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 210 */ NdrFcLong( 0x0 ), /* 0 */
-/* 214 */ NdrFcShort( 0x21 ), /* 33 */
-/* 216 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 218 */ NdrFcShort( 0x16 ), /* 22 */
-/* 220 */ NdrFcShort( 0x8 ), /* 8 */
-/* 222 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 224 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 226 */ NdrFcShort( 0x0 ), /* 0 */
-/* 228 */ NdrFcShort( 0x0 ), /* 0 */
-/* 230 */ NdrFcShort( 0x0 ), /* 0 */
-/* 232 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter coordinateType */
-
-/* 234 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 236 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 238 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter x */
-
-/* 240 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 242 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 244 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 246 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 248 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 250 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 252 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 254 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 256 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_groupPosition */
-
-/* 258 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 260 */ NdrFcLong( 0x0 ), /* 0 */
-/* 264 */ NdrFcShort( 0x22 ), /* 34 */
-/* 266 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 268 */ NdrFcShort( 0x0 ), /* 0 */
-/* 270 */ NdrFcShort( 0x5c ), /* 92 */
-/* 272 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 274 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 276 */ NdrFcShort( 0x0 ), /* 0 */
-/* 278 */ NdrFcShort( 0x0 ), /* 0 */
-/* 280 */ NdrFcShort( 0x0 ), /* 0 */
-/* 282 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter groupLevel */
-
-/* 284 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 286 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 288 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter similarItemsInGroup */
-
-/* 290 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 292 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 294 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter positionInGroup */
-
-/* 296 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 298 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 300 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 302 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 304 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 306 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_states */
-
-/* 308 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 310 */ NdrFcLong( 0x0 ), /* 0 */
-/* 314 */ NdrFcShort( 0x23 ), /* 35 */
-/* 316 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 318 */ NdrFcShort( 0x0 ), /* 0 */
-/* 320 */ NdrFcShort( 0x24 ), /* 36 */
-/* 322 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 324 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 326 */ NdrFcShort( 0x0 ), /* 0 */
-/* 328 */ NdrFcShort( 0x0 ), /* 0 */
-/* 330 */ NdrFcShort( 0x0 ), /* 0 */
-/* 332 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter states */
-
-/* 334 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 336 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 338 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 340 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 342 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 344 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_extendedRole */
-
-/* 346 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 348 */ NdrFcLong( 0x0 ), /* 0 */
-/* 352 */ NdrFcShort( 0x24 ), /* 36 */
-/* 354 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 356 */ NdrFcShort( 0x0 ), /* 0 */
-/* 358 */ NdrFcShort( 0x8 ), /* 8 */
-/* 360 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 362 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 364 */ NdrFcShort( 0x1 ), /* 1 */
-/* 366 */ NdrFcShort( 0x0 ), /* 0 */
-/* 368 */ NdrFcShort( 0x0 ), /* 0 */
-/* 370 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter extendedRole */
-
-/* 372 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 374 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 376 */ NdrFcShort( 0x54 ), /* Type Offset=84 */
-
- /* Return value */
-
-/* 378 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 380 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 382 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_localizedExtendedRole */
-
-/* 384 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 386 */ NdrFcLong( 0x0 ), /* 0 */
-/* 390 */ NdrFcShort( 0x25 ), /* 37 */
-/* 392 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 394 */ NdrFcShort( 0x0 ), /* 0 */
-/* 396 */ NdrFcShort( 0x8 ), /* 8 */
-/* 398 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 400 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 402 */ NdrFcShort( 0x1 ), /* 1 */
-/* 404 */ NdrFcShort( 0x0 ), /* 0 */
-/* 406 */ NdrFcShort( 0x0 ), /* 0 */
-/* 408 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter localizedExtendedRole */
-
-/* 410 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 412 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 414 */ NdrFcShort( 0x54 ), /* Type Offset=84 */
-
- /* Return value */
-
-/* 416 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 418 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 420 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nExtendedStates */
-
-/* 422 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 424 */ NdrFcLong( 0x0 ), /* 0 */
-/* 428 */ NdrFcShort( 0x26 ), /* 38 */
-/* 430 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 432 */ NdrFcShort( 0x0 ), /* 0 */
-/* 434 */ NdrFcShort( 0x24 ), /* 36 */
-/* 436 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 438 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 440 */ NdrFcShort( 0x0 ), /* 0 */
-/* 442 */ NdrFcShort( 0x0 ), /* 0 */
-/* 444 */ NdrFcShort( 0x0 ), /* 0 */
-/* 446 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nExtendedStates */
-
-/* 448 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 450 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 452 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 454 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 456 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 458 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_extendedStates */
-
-/* 460 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 462 */ NdrFcLong( 0x0 ), /* 0 */
-/* 466 */ NdrFcShort( 0x27 ), /* 39 */
-/* 468 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 470 */ NdrFcShort( 0x8 ), /* 8 */
-/* 472 */ NdrFcShort( 0x24 ), /* 36 */
-/* 474 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 476 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 478 */ NdrFcShort( 0x1 ), /* 1 */
-/* 480 */ NdrFcShort( 0x0 ), /* 0 */
-/* 482 */ NdrFcShort( 0x0 ), /* 0 */
-/* 484 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxExtendedStates */
-
-/* 486 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 488 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 490 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter extendedStates */
-
-/* 492 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 494 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 496 */ NdrFcShort( 0x5e ), /* Type Offset=94 */
-
- /* Parameter nExtendedStates */
-
-/* 498 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 500 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 502 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 504 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 506 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 508 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_localizedExtendedStates */
-
-/* 510 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 512 */ NdrFcLong( 0x0 ), /* 0 */
-/* 516 */ NdrFcShort( 0x28 ), /* 40 */
-/* 518 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 520 */ NdrFcShort( 0x8 ), /* 8 */
-/* 522 */ NdrFcShort( 0x24 ), /* 36 */
-/* 524 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 526 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 528 */ NdrFcShort( 0x1 ), /* 1 */
-/* 530 */ NdrFcShort( 0x0 ), /* 0 */
-/* 532 */ NdrFcShort( 0x0 ), /* 0 */
-/* 534 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxLocalizedExtendedStates */
-
-/* 536 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 538 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 540 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter localizedExtendedStates */
-
-/* 542 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 544 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 546 */ NdrFcShort( 0x5e ), /* Type Offset=94 */
-
- /* Parameter nLocalizedExtendedStates */
-
-/* 548 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 550 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 552 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 554 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 556 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 558 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_uniqueID */
-
-/* 560 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 562 */ NdrFcLong( 0x0 ), /* 0 */
-/* 566 */ NdrFcShort( 0x29 ), /* 41 */
-/* 568 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 570 */ NdrFcShort( 0x0 ), /* 0 */
-/* 572 */ NdrFcShort( 0x24 ), /* 36 */
-/* 574 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 576 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 578 */ NdrFcShort( 0x0 ), /* 0 */
-/* 580 */ NdrFcShort( 0x0 ), /* 0 */
-/* 582 */ NdrFcShort( 0x0 ), /* 0 */
-/* 584 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter uniqueID */
-
-/* 586 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 588 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 590 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 592 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 594 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 596 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_windowHandle */
-
-/* 598 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 600 */ NdrFcLong( 0x0 ), /* 0 */
-/* 604 */ NdrFcShort( 0x2a ), /* 42 */
-/* 606 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 608 */ NdrFcShort( 0x0 ), /* 0 */
-/* 610 */ NdrFcShort( 0x8 ), /* 8 */
-/* 612 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 614 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 616 */ NdrFcShort( 0x1 ), /* 1 */
-/* 618 */ NdrFcShort( 0x0 ), /* 0 */
-/* 620 */ NdrFcShort( 0x0 ), /* 0 */
-/* 622 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter windowHandle */
-
-/* 624 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 626 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 628 */ NdrFcShort( 0x98 ), /* Type Offset=152 */
-
- /* Return value */
-
-/* 630 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 632 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 634 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_indexInParent */
-
-/* 636 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 638 */ NdrFcLong( 0x0 ), /* 0 */
-/* 642 */ NdrFcShort( 0x2b ), /* 43 */
-/* 644 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 646 */ NdrFcShort( 0x0 ), /* 0 */
-/* 648 */ NdrFcShort( 0x24 ), /* 36 */
-/* 650 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 652 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 654 */ NdrFcShort( 0x0 ), /* 0 */
-/* 656 */ NdrFcShort( 0x0 ), /* 0 */
-/* 658 */ NdrFcShort( 0x0 ), /* 0 */
-/* 660 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter indexInParent */
-
-/* 662 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 664 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 666 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 668 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 670 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 672 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_locale */
-
-/* 674 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 676 */ NdrFcLong( 0x0 ), /* 0 */
-/* 680 */ NdrFcShort( 0x2c ), /* 44 */
-/* 682 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 684 */ NdrFcShort( 0x0 ), /* 0 */
-/* 686 */ NdrFcShort( 0x8 ), /* 8 */
-/* 688 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 690 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 692 */ NdrFcShort( 0x1 ), /* 1 */
-/* 694 */ NdrFcShort( 0x0 ), /* 0 */
-/* 696 */ NdrFcShort( 0x0 ), /* 0 */
-/* 698 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter locale */
-
-/* 700 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
-/* 702 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 704 */ NdrFcShort( 0xa6 ), /* Type Offset=166 */
-
- /* Return value */
-
-/* 706 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 708 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 710 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_attributes */
-
-/* 712 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 714 */ NdrFcLong( 0x0 ), /* 0 */
-/* 718 */ NdrFcShort( 0x2d ), /* 45 */
-/* 720 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 722 */ NdrFcShort( 0x0 ), /* 0 */
-/* 724 */ NdrFcShort( 0x8 ), /* 8 */
-/* 726 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 728 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 730 */ NdrFcShort( 0x1 ), /* 1 */
-/* 732 */ NdrFcShort( 0x0 ), /* 0 */
-/* 734 */ NdrFcShort( 0x0 ), /* 0 */
-/* 736 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter attributes */
-
-/* 738 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 740 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 742 */ NdrFcShort( 0x54 ), /* Type Offset=84 */
-
- /* Return value */
-
-/* 744 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 746 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 748 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const Accessible2_MIDL_TYPE_FORMAT_STRING Accessible2__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 6 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */
-/* 10 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 12 */ NdrFcLong( 0x7cdf86ee ), /* 2095023854 */
-/* 16 */ NdrFcShort( 0xc3da ), /* -15398 */
-/* 18 */ NdrFcShort( 0x496a ), /* 18794 */
-/* 20 */ 0xbd, /* 189 */
- 0xa4, /* 164 */
-/* 22 */ 0x28, /* 40 */
- 0x1b, /* 27 */
-/* 24 */ 0x33, /* 51 */
- 0x6e, /* 110 */
-/* 26 */ 0x1f, /* 31 */
- 0xdc, /* 220 */
-/* 28 */
- 0x11, 0x0, /* FC_RP */
-/* 30 */ NdrFcShort( 0x2 ), /* Offset= 2 (32) */
-/* 32 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x0, /* */
-/* 38 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 40 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 42 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 44 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 46 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 48 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 50 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (10) */
-/* 52 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 54 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 56 */ NdrFcShort( 0x1c ), /* Offset= 28 (84) */
-/* 58 */
- 0x13, 0x0, /* FC_OP */
-/* 60 */ NdrFcShort( 0xe ), /* Offset= 14 (74) */
-/* 62 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 64 */ NdrFcShort( 0x2 ), /* 2 */
-/* 66 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 68 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 70 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 72 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 74 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 76 */ NdrFcShort( 0x8 ), /* 8 */
-/* 78 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (62) */
-/* 80 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 82 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 84 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 86 */ NdrFcShort( 0x0 ), /* 0 */
-/* 88 */ NdrFcShort( 0x8 ), /* 8 */
-/* 90 */ NdrFcShort( 0x0 ), /* 0 */
-/* 92 */ NdrFcShort( 0xffde ), /* Offset= -34 (58) */
-/* 94 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */
-/* 98 */
- 0x13, 0x0, /* FC_OP */
-/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */
-/* 102 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 104 */ NdrFcShort( 0x0 ), /* 0 */
-/* 106 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x0, /* */
-/* 108 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 110 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 112 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 114 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 116 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 118 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 120 */ NdrFcShort( 0xffdc ), /* Offset= -36 (84) */
-/* 122 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 124 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 126 */ NdrFcShort( 0x1a ), /* Offset= 26 (152) */
-/* 128 */
- 0x13, 0x0, /* FC_OP */
-/* 130 */ NdrFcShort( 0x2 ), /* Offset= 2 (132) */
-/* 132 */
- 0x2a, /* FC_ENCAPSULATED_UNION */
- 0x48, /* 72 */
-/* 134 */ NdrFcShort( 0x4 ), /* 4 */
-/* 136 */ NdrFcShort( 0x2 ), /* 2 */
-/* 138 */ NdrFcLong( 0x48746457 ), /* 1215587415 */
-/* 142 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 144 */ NdrFcLong( 0x52746457 ), /* 1383359575 */
-/* 148 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 150 */ NdrFcShort( 0xffff ), /* Offset= -1 (149) */
-/* 152 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 154 */ NdrFcShort( 0x1 ), /* 1 */
-/* 156 */ NdrFcShort( 0x8 ), /* 8 */
-/* 158 */ NdrFcShort( 0x0 ), /* 0 */
-/* 160 */ NdrFcShort( 0xffe0 ), /* Offset= -32 (128) */
-/* 162 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 164 */ NdrFcShort( 0x2 ), /* Offset= 2 (166) */
-/* 166 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 168 */ NdrFcShort( 0x18 ), /* 24 */
-/* 170 */ NdrFcShort( 0x0 ), /* 0 */
-/* 172 */ NdrFcShort( 0x0 ), /* Offset= 0 (172) */
-/* 174 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 176 */ NdrFcShort( 0xffa4 ), /* Offset= -92 (84) */
-/* 178 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 180 */ NdrFcShort( 0xffa0 ), /* Offset= -96 (84) */
-/* 182 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 184 */ NdrFcShort( 0xff9c ), /* Offset= -100 (84) */
-/* 186 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- },
- {
- HWND_UserSize
- ,HWND_UserMarshal
- ,HWND_UserUnmarshal
- ,HWND_UserFree
- }
-
- };
-
-
-
-/* Standard interface: __MIDL_itf_Accessible2_0000_0000, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IDispatch, ver. 0.0,
- GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessible, ver. 0.0,
- GUID={0x618736e0,0x3c3d,0x11cf,{0x81,0x0c,0x00,0xaa,0x00,0x38,0x9b,0x71}} */
-
-
-/* Object interface: IAccessible2, ver. 0.0,
- GUID={0xE89F726E,0xC4F4,0x4c19,{0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessible2_FormatStringOffsetTable[] =
- {
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- 0,
- 38,
- 82,
- 132,
- 170,
- 208,
- 258,
- 308,
- 346,
- 384,
- 422,
- 460,
- 510,
- 560,
- 598,
- 636,
- 674,
- 712
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo =
- {
- &Object_StubDesc,
- Accessible2__MIDL_ProcFormatString.Format,
- &IAccessible2_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessible2_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- Accessible2__MIDL_ProcFormatString.Format,
- &IAccessible2_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(46) _IAccessible2ProxyVtbl =
-{
- &IAccessible2_ProxyInfo,
- &IID_IAccessible2,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- 0 /* IDispatch::GetTypeInfoCount */ ,
- 0 /* IDispatch::GetTypeInfo */ ,
- 0 /* IDispatch::GetIDsOfNames */ ,
- 0 /* IDispatch_Invoke_Proxy */ ,
- 0 /* IAccessible::get_accParent */ ,
- 0 /* IAccessible::get_accChildCount */ ,
- 0 /* IAccessible::get_accChild */ ,
- 0 /* IAccessible::get_accName */ ,
- 0 /* IAccessible::get_accValue */ ,
- 0 /* IAccessible::get_accDescription */ ,
- 0 /* IAccessible::get_accRole */ ,
- 0 /* IAccessible::get_accState */ ,
- 0 /* IAccessible::get_accHelp */ ,
- 0 /* IAccessible::get_accHelpTopic */ ,
- 0 /* IAccessible::get_accKeyboardShortcut */ ,
- 0 /* IAccessible::get_accFocus */ ,
- 0 /* IAccessible::get_accSelection */ ,
- 0 /* IAccessible::get_accDefaultAction */ ,
- 0 /* IAccessible::accSelect */ ,
- 0 /* IAccessible::accLocation */ ,
- 0 /* IAccessible::accNavigate */ ,
- 0 /* IAccessible::accHitTest */ ,
- 0 /* IAccessible::accDoDefaultAction */ ,
- 0 /* IAccessible::put_accName */ ,
- 0 /* IAccessible::put_accValue */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::role */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_states */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */
-};
-
-
-static const PRPC_STUB_FUNCTION IAccessible2_table[] =
-{
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2
-};
-
-CInterfaceStubVtbl _IAccessible2StubVtbl =
-{
- &IID_IAccessible2,
- &IAccessible2_ServerInfo,
- 46,
- &IAccessible2_table[-3],
- CStdStubBuffer_DELEGATING_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- Accessible2__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _Accessible2_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessible2ProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _Accessible2_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessible2StubVtbl,
- 0
-};
-
-PCInterfaceName const _Accessible2_InterfaceNamesList[] =
-{
- "IAccessible2",
- 0
-};
-
-const IID * const _Accessible2_BaseIIDList[] =
-{
- &IID_IAccessible,
- 0
-};
-
-
-#define _Accessible2_CHECK_IID(n) IID_GENERIC_CHECK_IID( _Accessible2, pIID, n)
-
-int __stdcall _Accessible2_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_Accessible2_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo Accessible2_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _Accessible2_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _Accessible2_StubVtblList,
- (const PCInterfaceName * ) & _Accessible2_InterfaceNamesList,
- (const IID ** ) & _Accessible2_BaseIIDList,
- & _Accessible2_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction.h
deleted file mode 100644
index 8755505bf3..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction.h
+++ /dev/null
@@ -1,220 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:56 2012
- */
-/* Compiler settings for AccessibleAction.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleAction_h__
-#define __AccessibleAction_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleAction_FWD_DEFINED__
-#define __IAccessibleAction_FWD_DEFINED__
-typedef interface IAccessibleAction IAccessibleAction;
-#endif /* __IAccessibleAction_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleAction_INTERFACE_DEFINED__
-#define __IAccessibleAction_INTERFACE_DEFINED__
-
-/* interface IAccessibleAction */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleAction;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("B70D9F59-3B5A-4dba-AB9E-22012F607DF5")
- IAccessibleAction : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE nActions(
- /* [retval][out] */ long *nActions) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE doAction(
- /* [in] */ long actionIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description(
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_keyBinding(
- /* [in] */ long actionIndex,
- /* [in] */ long nMaxBindings,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
- /* [retval][out] */ long *nBindings) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_name(
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *name) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedName(
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *localizedName) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleActionVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleAction * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleAction * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleAction * This);
-
- HRESULT ( STDMETHODCALLTYPE *nActions )(
- IAccessibleAction * This,
- /* [retval][out] */ long *nActions);
-
- HRESULT ( STDMETHODCALLTYPE *doAction )(
- IAccessibleAction * This,
- /* [in] */ long actionIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
- IAccessibleAction * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )(
- IAccessibleAction * This,
- /* [in] */ long actionIndex,
- /* [in] */ long nMaxBindings,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
- /* [retval][out] */ long *nBindings);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
- IAccessibleAction * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *name);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )(
- IAccessibleAction * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *localizedName);
-
- END_INTERFACE
- } IAccessibleActionVtbl;
-
- interface IAccessibleAction
- {
- CONST_VTBL struct IAccessibleActionVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleAction_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleAction_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleAction_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleAction_nActions(This,nActions) \
- ( (This)->lpVtbl -> nActions(This,nActions) )
-
-#define IAccessibleAction_doAction(This,actionIndex) \
- ( (This)->lpVtbl -> doAction(This,actionIndex) )
-
-#define IAccessibleAction_get_description(This,actionIndex,description) \
- ( (This)->lpVtbl -> get_description(This,actionIndex,description) )
-
-#define IAccessibleAction_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \
- ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) )
-
-#define IAccessibleAction_get_name(This,actionIndex,name) \
- ( (This)->lpVtbl -> get_name(This,actionIndex,name) )
-
-#define IAccessibleAction_get_localizedName(This,actionIndex,localizedName) \
- ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleAction_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_i.c
deleted file mode 100644
index a4d754b68d..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:56 2012
- */
-/* Compiler settings for AccessibleAction.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleAction,0xB70D9F59,0x3B5A,0x4dba,0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_p.c
deleted file mode 100644
index 68eeac00b4..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_p.c
+++ /dev/null
@@ -1,557 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:56 2012
- */
-/* Compiler settings for AccessibleAction.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleAction.h"
-
-#define TYPE_FORMAT_STRING_SIZE 77
-#define PROC_FORMAT_STRING_SIZE 265
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleAction_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleAction_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleAction_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleAction_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleAction_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleAction_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleAction_MIDL_TYPE_FORMAT_STRING AccessibleAction__MIDL_TypeFormatString;
-extern const AccessibleAction_MIDL_PROC_FORMAT_STRING AccessibleAction__MIDL_ProcFormatString;
-extern const AccessibleAction_MIDL_EXPR_FORMAT_STRING AccessibleAction__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleAction_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleAction_MIDL_PROC_FORMAT_STRING AccessibleAction__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure nActions */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x24 ), /* 36 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nActions */
-
-/* 26 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure doAction */
-
-/* 38 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 40 */ NdrFcLong( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0x4 ), /* 4 */
-/* 46 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 48 */ NdrFcShort( 0x8 ), /* 8 */
-/* 50 */ NdrFcShort( 0x8 ), /* 8 */
-/* 52 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 54 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter actionIndex */
-
-/* 64 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 68 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 70 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 74 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_description */
-
-/* 76 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 78 */ NdrFcLong( 0x0 ), /* 0 */
-/* 82 */ NdrFcShort( 0x5 ), /* 5 */
-/* 84 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 86 */ NdrFcShort( 0x8 ), /* 8 */
-/* 88 */ NdrFcShort( 0x8 ), /* 8 */
-/* 90 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 92 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 94 */ NdrFcShort( 0x1 ), /* 1 */
-/* 96 */ NdrFcShort( 0x0 ), /* 0 */
-/* 98 */ NdrFcShort( 0x0 ), /* 0 */
-/* 100 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter actionIndex */
-
-/* 102 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 106 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter description */
-
-/* 108 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 110 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 112 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 116 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_keyBinding */
-
-/* 120 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 122 */ NdrFcLong( 0x0 ), /* 0 */
-/* 126 */ NdrFcShort( 0x6 ), /* 6 */
-/* 128 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
-/* 130 */ NdrFcShort( 0x10 ), /* 16 */
-/* 132 */ NdrFcShort( 0x24 ), /* 36 */
-/* 134 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x5, /* 5 */
-/* 136 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 138 */ NdrFcShort( 0x1 ), /* 1 */
-/* 140 */ NdrFcShort( 0x0 ), /* 0 */
-/* 142 */ NdrFcShort( 0x0 ), /* 0 */
-/* 144 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter actionIndex */
-
-/* 146 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 148 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 150 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter nMaxBindings */
-
-/* 152 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 154 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 156 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter keyBindings */
-
-/* 158 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 160 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 162 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
-
- /* Parameter nBindings */
-
-/* 164 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 166 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 168 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 170 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 172 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 174 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_name */
-
-/* 176 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 178 */ NdrFcLong( 0x0 ), /* 0 */
-/* 182 */ NdrFcShort( 0x7 ), /* 7 */
-/* 184 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 186 */ NdrFcShort( 0x8 ), /* 8 */
-/* 188 */ NdrFcShort( 0x8 ), /* 8 */
-/* 190 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 192 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 194 */ NdrFcShort( 0x1 ), /* 1 */
-/* 196 */ NdrFcShort( 0x0 ), /* 0 */
-/* 198 */ NdrFcShort( 0x0 ), /* 0 */
-/* 200 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter actionIndex */
-
-/* 202 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 204 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 206 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter name */
-
-/* 208 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 210 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 212 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 214 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 216 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 218 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_localizedName */
-
-/* 220 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 222 */ NdrFcLong( 0x0 ), /* 0 */
-/* 226 */ NdrFcShort( 0x8 ), /* 8 */
-/* 228 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 230 */ NdrFcShort( 0x8 ), /* 8 */
-/* 232 */ NdrFcShort( 0x8 ), /* 8 */
-/* 234 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 236 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 238 */ NdrFcShort( 0x1 ), /* 1 */
-/* 240 */ NdrFcShort( 0x0 ), /* 0 */
-/* 242 */ NdrFcShort( 0x0 ), /* 0 */
-/* 244 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter actionIndex */
-
-/* 246 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 248 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 250 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter localizedName */
-
-/* 252 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 254 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 256 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 258 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 260 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 262 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleAction_MIDL_TYPE_FORMAT_STRING AccessibleAction__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 6 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 8 */ NdrFcShort( 0x1c ), /* Offset= 28 (36) */
-/* 10 */
- 0x13, 0x0, /* FC_OP */
-/* 12 */ NdrFcShort( 0xe ), /* Offset= 14 (26) */
-/* 14 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 16 */ NdrFcShort( 0x2 ), /* 2 */
-/* 18 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 20 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 22 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 24 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 26 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 28 */ NdrFcShort( 0x8 ), /* 8 */
-/* 30 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (14) */
-/* 32 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 34 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 36 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0x8 ), /* 8 */
-/* 42 */ NdrFcShort( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0xffde ), /* Offset= -34 (10) */
-/* 46 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */
-/* 50 */
- 0x13, 0x0, /* FC_OP */
-/* 52 */ NdrFcShort( 0x2 ), /* Offset= 2 (54) */
-/* 54 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x0, /* */
-/* 60 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 62 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 64 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 66 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 68 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 70 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 72 */ NdrFcShort( 0xffdc ), /* Offset= -36 (36) */
-/* 74 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleAction, ver. 0.0,
- GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleAction_FormatStringOffsetTable[] =
- {
- 0,
- 38,
- 76,
- 120,
- 176,
- 220
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleAction__MIDL_ProcFormatString.Format,
- &IAccessibleAction_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleAction_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleAction__MIDL_ProcFormatString.Format,
- &IAccessibleAction_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(9) _IAccessibleActionProxyVtbl =
-{
- &IAccessibleAction_ProxyInfo,
- &IID_IAccessibleAction,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */
-};
-
-const CInterfaceStubVtbl _IAccessibleActionStubVtbl =
-{
- &IID_IAccessibleAction,
- &IAccessibleAction_ServerInfo,
- 9,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleAction__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleAction_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleActionProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleAction_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleActionStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleAction_InterfaceNamesList[] =
-{
- "IAccessibleAction",
- 0
-};
-
-
-#define _AccessibleAction_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleAction, pIID, n)
-
-int __stdcall _AccessibleAction_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleAction_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleAction_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleAction_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleAction_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleAction_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleAction_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication.h
deleted file mode 100644
index 7e901563e9..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication.h
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleApplication.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleApplication_h__
-#define __AccessibleApplication_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleApplication_FWD_DEFINED__
-#define __IAccessibleApplication_FWD_DEFINED__
-typedef interface IAccessibleApplication IAccessibleApplication;
-#endif /* __IAccessibleApplication_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleApplication_INTERFACE_DEFINED__
-#define __IAccessibleApplication_INTERFACE_DEFINED__
-
-/* interface IAccessibleApplication */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleApplication;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("D49DED83-5B25-43F4-9B95-93B44595979E")
- IAccessibleApplication : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appName(
- /* [retval][out] */ BSTR *name) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appVersion(
- /* [retval][out] */ BSTR *version) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitName(
- /* [retval][out] */ BSTR *name) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitVersion(
- /* [retval][out] */ BSTR *version) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleApplicationVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleApplication * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleApplication * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleApplication * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appName )(
- IAccessibleApplication * This,
- /* [retval][out] */ BSTR *name);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appVersion )(
- IAccessibleApplication * This,
- /* [retval][out] */ BSTR *version);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitName )(
- IAccessibleApplication * This,
- /* [retval][out] */ BSTR *name);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitVersion )(
- IAccessibleApplication * This,
- /* [retval][out] */ BSTR *version);
-
- END_INTERFACE
- } IAccessibleApplicationVtbl;
-
- interface IAccessibleApplication
- {
- CONST_VTBL struct IAccessibleApplicationVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleApplication_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleApplication_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleApplication_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleApplication_get_appName(This,name) \
- ( (This)->lpVtbl -> get_appName(This,name) )
-
-#define IAccessibleApplication_get_appVersion(This,version) \
- ( (This)->lpVtbl -> get_appVersion(This,version) )
-
-#define IAccessibleApplication_get_toolkitName(This,name) \
- ( (This)->lpVtbl -> get_toolkitName(This,name) )
-
-#define IAccessibleApplication_get_toolkitVersion(This,version) \
- ( (This)->lpVtbl -> get_toolkitVersion(This,version) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleApplication_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_i.c
deleted file mode 100644
index b50ae8a2c6..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleApplication.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleApplication,0xD49DED83,0x5B25,0x43F4,0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_p.c
deleted file mode 100644
index 84d7e30344..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_p.c
+++ /dev/null
@@ -1,420 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleApplication.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleApplication.h"
-
-#define TYPE_FORMAT_STRING_SIZE 43
-#define PROC_FORMAT_STRING_SIZE 153
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleApplication_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleApplication_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleApplication_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleApplication_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleApplication_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleApplication_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleApplication_MIDL_TYPE_FORMAT_STRING AccessibleApplication__MIDL_TypeFormatString;
-extern const AccessibleApplication_MIDL_PROC_FORMAT_STRING AccessibleApplication__MIDL_ProcFormatString;
-extern const AccessibleApplication_MIDL_EXPR_FORMAT_STRING AccessibleApplication__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleApplication_MIDL_PROC_FORMAT_STRING AccessibleApplication__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_appName */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 18 */ NdrFcShort( 0x1 ), /* 1 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter name */
-
-/* 26 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_appVersion */
-
-/* 38 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 40 */ NdrFcLong( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0x4 ), /* 4 */
-/* 46 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 48 */ NdrFcShort( 0x0 ), /* 0 */
-/* 50 */ NdrFcShort( 0x8 ), /* 8 */
-/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 54 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 56 */ NdrFcShort( 0x1 ), /* 1 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter version */
-
-/* 64 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 68 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 70 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 74 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_toolkitName */
-
-/* 76 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 78 */ NdrFcLong( 0x0 ), /* 0 */
-/* 82 */ NdrFcShort( 0x5 ), /* 5 */
-/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 86 */ NdrFcShort( 0x0 ), /* 0 */
-/* 88 */ NdrFcShort( 0x8 ), /* 8 */
-/* 90 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 92 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 94 */ NdrFcShort( 0x1 ), /* 1 */
-/* 96 */ NdrFcShort( 0x0 ), /* 0 */
-/* 98 */ NdrFcShort( 0x0 ), /* 0 */
-/* 100 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter name */
-
-/* 102 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 106 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 110 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_toolkitVersion */
-
-/* 114 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 116 */ NdrFcLong( 0x0 ), /* 0 */
-/* 120 */ NdrFcShort( 0x6 ), /* 6 */
-/* 122 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 124 */ NdrFcShort( 0x0 ), /* 0 */
-/* 126 */ NdrFcShort( 0x8 ), /* 8 */
-/* 128 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 130 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 132 */ NdrFcShort( 0x1 ), /* 1 */
-/* 134 */ NdrFcShort( 0x0 ), /* 0 */
-/* 136 */ NdrFcShort( 0x0 ), /* 0 */
-/* 138 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter version */
-
-/* 140 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 142 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 144 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 146 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 148 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 150 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleApplication_MIDL_TYPE_FORMAT_STRING AccessibleApplication__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */
-/* 6 */
- 0x13, 0x0, /* FC_OP */
-/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */
-/* 10 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 12 */ NdrFcShort( 0x2 ), /* 2 */
-/* 14 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 16 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 20 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 22 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 24 */ NdrFcShort( 0x8 ), /* 8 */
-/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */
-/* 28 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 30 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 32 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ NdrFcShort( 0x8 ), /* 8 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleApplication, ver. 0.0,
- GUID={0xD49DED83,0x5B25,0x43F4,{0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleApplication_FormatStringOffsetTable[] =
- {
- 0,
- 38,
- 76,
- 114
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleApplication__MIDL_ProcFormatString.Format,
- &IAccessibleApplication_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleApplication__MIDL_ProcFormatString.Format,
- &IAccessibleApplication_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(7) _IAccessibleApplicationProxyVtbl =
-{
- &IAccessibleApplication_ProxyInfo,
- &IID_IAccessibleApplication,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appName */ ,
- (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appVersion */ ,
- (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitName */ ,
- (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitVersion */
-};
-
-const CInterfaceStubVtbl _IAccessibleApplicationStubVtbl =
-{
- &IID_IAccessibleApplication,
- &IAccessibleApplication_ServerInfo,
- 7,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleApplication__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleApplication_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleApplicationProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleApplication_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleApplicationStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleApplication_InterfaceNamesList[] =
-{
- "IAccessibleApplication",
- 0
-};
-
-
-#define _AccessibleApplication_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleApplication, pIID, n)
-
-int __stdcall _AccessibleApplication_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleApplication_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleApplication_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleApplication_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleApplication_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleApplication_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleApplication_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent.h
deleted file mode 100644
index 38f696f45c..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent.h
+++ /dev/null
@@ -1,185 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleComponent.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleComponent_h__
-#define __AccessibleComponent_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleComponent_FWD_DEFINED__
-#define __IAccessibleComponent_FWD_DEFINED__
-typedef interface IAccessibleComponent IAccessibleComponent;
-#endif /* __IAccessibleComponent_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleComponent_0000_0000 */
-/* [local] */
-
-typedef long IA2Color;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleComponent_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleComponent_0000_0000_v0_0_s_ifspec;
-
-#ifndef __IAccessibleComponent_INTERFACE_DEFINED__
-#define __IAccessibleComponent_INTERFACE_DEFINED__
-
-/* interface IAccessibleComponent */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleComponent;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1546D4B0-4C98-4bda-89AE-9A64748BDDE4")
- IAccessibleComponent : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locationInParent(
- /* [out] */ long *x,
- /* [retval][out] */ long *y) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_foreground(
- /* [retval][out] */ IA2Color *foreground) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_background(
- /* [retval][out] */ IA2Color *background) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleComponentVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleComponent * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleComponent * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleComponent * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationInParent )(
- IAccessibleComponent * This,
- /* [out] */ long *x,
- /* [retval][out] */ long *y);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_foreground )(
- IAccessibleComponent * This,
- /* [retval][out] */ IA2Color *foreground);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )(
- IAccessibleComponent * This,
- /* [retval][out] */ IA2Color *background);
-
- END_INTERFACE
- } IAccessibleComponentVtbl;
-
- interface IAccessibleComponent
- {
- CONST_VTBL struct IAccessibleComponentVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleComponent_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleComponent_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleComponent_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleComponent_get_locationInParent(This,x,y) \
- ( (This)->lpVtbl -> get_locationInParent(This,x,y) )
-
-#define IAccessibleComponent_get_foreground(This,foreground) \
- ( (This)->lpVtbl -> get_foreground(This,foreground) )
-
-#define IAccessibleComponent_get_background(This,background) \
- ( (This)->lpVtbl -> get_background(This,background) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleComponent_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_i.c
deleted file mode 100644
index 34be13e31c..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleComponent.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleComponent,0x1546D4B0,0x4C98,0x4bda,0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_p.c
deleted file mode 100644
index ddcacff7e7..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_p.c
+++ /dev/null
@@ -1,360 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleComponent.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleComponent.h"
-
-#define TYPE_FORMAT_STRING_SIZE 7
-#define PROC_FORMAT_STRING_SIZE 121
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 0
-
-typedef struct _AccessibleComponent_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleComponent_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleComponent_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleComponent_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleComponent_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleComponent_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleComponent_MIDL_TYPE_FORMAT_STRING AccessibleComponent__MIDL_TypeFormatString;
-extern const AccessibleComponent_MIDL_PROC_FORMAT_STRING AccessibleComponent__MIDL_ProcFormatString;
-extern const AccessibleComponent_MIDL_EXPR_FORMAT_STRING AccessibleComponent__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo;
-
-
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleComponent_MIDL_PROC_FORMAT_STRING AccessibleComponent__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_locationInParent */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x40 ), /* 64 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 16 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter x */
-
-/* 26 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 32 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 38 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 42 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_foreground */
-
-/* 44 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 46 */ NdrFcLong( 0x0 ), /* 0 */
-/* 50 */ NdrFcShort( 0x4 ), /* 4 */
-/* 52 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 54 */ NdrFcShort( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x24 ), /* 36 */
-/* 58 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 60 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-/* 64 */ NdrFcShort( 0x0 ), /* 0 */
-/* 66 */ NdrFcShort( 0x0 ), /* 0 */
-/* 68 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter foreground */
-
-/* 70 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 72 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 74 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 76 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 78 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 80 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_background */
-
-/* 82 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 84 */ NdrFcLong( 0x0 ), /* 0 */
-/* 88 */ NdrFcShort( 0x5 ), /* 5 */
-/* 90 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 92 */ NdrFcShort( 0x0 ), /* 0 */
-/* 94 */ NdrFcShort( 0x24 ), /* 36 */
-/* 96 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 98 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 100 */ NdrFcShort( 0x0 ), /* 0 */
-/* 102 */ NdrFcShort( 0x0 ), /* 0 */
-/* 104 */ NdrFcShort( 0x0 ), /* 0 */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter background */
-
-/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 110 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 116 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleComponent_MIDL_TYPE_FORMAT_STRING AccessibleComponent__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-
- 0x0
- }
- };
-
-
-/* Standard interface: __MIDL_itf_AccessibleComponent_0000_0000, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleComponent, ver. 0.0,
- GUID={0x1546D4B0,0x4C98,0x4bda,{0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleComponent_FormatStringOffsetTable[] =
- {
- 0,
- 44,
- 82
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleComponent__MIDL_ProcFormatString.Format,
- &IAccessibleComponent_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleComponent__MIDL_ProcFormatString.Format,
- &IAccessibleComponent_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(6) _IAccessibleComponentProxyVtbl =
-{
- &IAccessibleComponent_ProxyInfo,
- &IID_IAccessibleComponent,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleComponent::get_locationInParent */ ,
- (void *) (INT_PTR) -1 /* IAccessibleComponent::get_foreground */ ,
- (void *) (INT_PTR) -1 /* IAccessibleComponent::get_background */
-};
-
-const CInterfaceStubVtbl _IAccessibleComponentStubVtbl =
-{
- &IID_IAccessibleComponent,
- &IAccessibleComponent_ServerInfo,
- 6,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleComponent__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- 0,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleComponent_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleComponentProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleComponent_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleComponentStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleComponent_InterfaceNamesList[] =
-{
- "IAccessibleComponent",
- 0
-};
-
-
-#define _AccessibleComponent_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleComponent, pIID, n)
-
-int __stdcall _AccessibleComponent_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleComponent_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleComponent_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleComponent_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleComponent_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleComponent_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleComponent_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText.h
deleted file mode 100644
index 4c94154a15..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText.h
+++ /dev/null
@@ -1,235 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleEditableText.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleEditableText_h__
-#define __AccessibleEditableText_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleEditableText_FWD_DEFINED__
-#define __IAccessibleEditableText_FWD_DEFINED__
-typedef interface IAccessibleEditableText IAccessibleEditableText;
-#endif /* __IAccessibleEditableText_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "IA2CommonTypes.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleEditableText_INTERFACE_DEFINED__
-#define __IAccessibleEditableText_INTERFACE_DEFINED__
-
-/* interface IAccessibleEditableText */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleEditableText;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("A59AA09A-7011-4b65-939D-32B1FB5547E3")
- IAccessibleEditableText : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE copyText(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE deleteText(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE insertText(
- /* [in] */ long offset,
- /* [in] */ BSTR *text) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE cutText(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE pasteText(
- /* [in] */ long offset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE replaceText(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [in] */ BSTR *text) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE setAttributes(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [in] */ BSTR *attributes) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleEditableTextVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleEditableText * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleEditableText * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleEditableText * This);
-
- HRESULT ( STDMETHODCALLTYPE *copyText )(
- IAccessibleEditableText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- HRESULT ( STDMETHODCALLTYPE *deleteText )(
- IAccessibleEditableText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- HRESULT ( STDMETHODCALLTYPE *insertText )(
- IAccessibleEditableText * This,
- /* [in] */ long offset,
- /* [in] */ BSTR *text);
-
- HRESULT ( STDMETHODCALLTYPE *cutText )(
- IAccessibleEditableText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- HRESULT ( STDMETHODCALLTYPE *pasteText )(
- IAccessibleEditableText * This,
- /* [in] */ long offset);
-
- HRESULT ( STDMETHODCALLTYPE *replaceText )(
- IAccessibleEditableText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [in] */ BSTR *text);
-
- HRESULT ( STDMETHODCALLTYPE *setAttributes )(
- IAccessibleEditableText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [in] */ BSTR *attributes);
-
- END_INTERFACE
- } IAccessibleEditableTextVtbl;
-
- interface IAccessibleEditableText
- {
- CONST_VTBL struct IAccessibleEditableTextVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleEditableText_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleEditableText_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleEditableText_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleEditableText_copyText(This,startOffset,endOffset) \
- ( (This)->lpVtbl -> copyText(This,startOffset,endOffset) )
-
-#define IAccessibleEditableText_deleteText(This,startOffset,endOffset) \
- ( (This)->lpVtbl -> deleteText(This,startOffset,endOffset) )
-
-#define IAccessibleEditableText_insertText(This,offset,text) \
- ( (This)->lpVtbl -> insertText(This,offset,text) )
-
-#define IAccessibleEditableText_cutText(This,startOffset,endOffset) \
- ( (This)->lpVtbl -> cutText(This,startOffset,endOffset) )
-
-#define IAccessibleEditableText_pasteText(This,offset) \
- ( (This)->lpVtbl -> pasteText(This,offset) )
-
-#define IAccessibleEditableText_replaceText(This,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> replaceText(This,startOffset,endOffset,text) )
-
-#define IAccessibleEditableText_setAttributes(This,startOffset,endOffset,attributes) \
- ( (This)->lpVtbl -> setAttributes(This,startOffset,endOffset,attributes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleEditableText_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_i.c
deleted file mode 100644
index a444951721..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleEditableText.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleEditableText,0xA59AA09A,0x7011,0x4b65,0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_p.c
deleted file mode 100644
index 9e9b466d86..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_p.c
+++ /dev/null
@@ -1,579 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleEditableText.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleEditableText.h"
-
-#define TYPE_FORMAT_STRING_SIZE 43
-#define PROC_FORMAT_STRING_SIZE 315
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleEditableText_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleEditableText_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleEditableText_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleEditableText_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleEditableText_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleEditableText_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleEditableText_MIDL_TYPE_FORMAT_STRING AccessibleEditableText__MIDL_TypeFormatString;
-extern const AccessibleEditableText_MIDL_PROC_FORMAT_STRING AccessibleEditableText__MIDL_ProcFormatString;
-extern const AccessibleEditableText_MIDL_EXPR_FORMAT_STRING AccessibleEditableText__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleEditableText_MIDL_PROC_FORMAT_STRING AccessibleEditableText__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure copyText */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 10 */ NdrFcShort( 0x10 ), /* 16 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 16 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 26 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 32 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 38 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 42 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure deleteText */
-
-/* 44 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 46 */ NdrFcLong( 0x0 ), /* 0 */
-/* 50 */ NdrFcShort( 0x4 ), /* 4 */
-/* 52 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 54 */ NdrFcShort( 0x10 ), /* 16 */
-/* 56 */ NdrFcShort( 0x8 ), /* 8 */
-/* 58 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 60 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-/* 64 */ NdrFcShort( 0x0 ), /* 0 */
-/* 66 */ NdrFcShort( 0x0 ), /* 0 */
-/* 68 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 70 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 72 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 74 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 76 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 78 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 80 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 82 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 86 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure insertText */
-
-/* 88 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 90 */ NdrFcLong( 0x0 ), /* 0 */
-/* 94 */ NdrFcShort( 0x5 ), /* 5 */
-/* 96 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 98 */ NdrFcShort( 0x8 ), /* 8 */
-/* 100 */ NdrFcShort( 0x8 ), /* 8 */
-/* 102 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
- 0x3, /* 3 */
-/* 104 */ 0xa, /* 10 */
- 0x5, /* Ext Flags: new corr desc, srv corr check, */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-/* 108 */ NdrFcShort( 0x1 ), /* 1 */
-/* 110 */ NdrFcShort( 0x0 ), /* 0 */
-/* 112 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 114 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 116 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 120 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
-/* 122 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 124 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 128 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 130 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure cutText */
-
-/* 132 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 134 */ NdrFcLong( 0x0 ), /* 0 */
-/* 138 */ NdrFcShort( 0x6 ), /* 6 */
-/* 140 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 142 */ NdrFcShort( 0x10 ), /* 16 */
-/* 144 */ NdrFcShort( 0x8 ), /* 8 */
-/* 146 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 148 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 150 */ NdrFcShort( 0x0 ), /* 0 */
-/* 152 */ NdrFcShort( 0x0 ), /* 0 */
-/* 154 */ NdrFcShort( 0x0 ), /* 0 */
-/* 156 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 158 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 160 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 162 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 164 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 166 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 168 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 170 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 172 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 174 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure pasteText */
-
-/* 176 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 178 */ NdrFcLong( 0x0 ), /* 0 */
-/* 182 */ NdrFcShort( 0x7 ), /* 7 */
-/* 184 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 186 */ NdrFcShort( 0x8 ), /* 8 */
-/* 188 */ NdrFcShort( 0x8 ), /* 8 */
-/* 190 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 192 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 194 */ NdrFcShort( 0x0 ), /* 0 */
-/* 196 */ NdrFcShort( 0x0 ), /* 0 */
-/* 198 */ NdrFcShort( 0x0 ), /* 0 */
-/* 200 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 202 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 204 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 206 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 208 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 210 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 212 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure replaceText */
-
-/* 214 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 216 */ NdrFcLong( 0x0 ), /* 0 */
-/* 220 */ NdrFcShort( 0x8 ), /* 8 */
-/* 222 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 224 */ NdrFcShort( 0x10 ), /* 16 */
-/* 226 */ NdrFcShort( 0x8 ), /* 8 */
-/* 228 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
- 0x4, /* 4 */
-/* 230 */ 0xa, /* 10 */
- 0x5, /* Ext Flags: new corr desc, srv corr check, */
-/* 232 */ NdrFcShort( 0x0 ), /* 0 */
-/* 234 */ NdrFcShort( 0x1 ), /* 1 */
-/* 236 */ NdrFcShort( 0x0 ), /* 0 */
-/* 238 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 240 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 242 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 244 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 246 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 248 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 250 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 252 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
-/* 254 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 256 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 258 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 260 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 262 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure setAttributes */
-
-/* 264 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 266 */ NdrFcLong( 0x0 ), /* 0 */
-/* 270 */ NdrFcShort( 0x9 ), /* 9 */
-/* 272 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 274 */ NdrFcShort( 0x10 ), /* 16 */
-/* 276 */ NdrFcShort( 0x8 ), /* 8 */
-/* 278 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
- 0x4, /* 4 */
-/* 280 */ 0xa, /* 10 */
- 0x5, /* Ext Flags: new corr desc, srv corr check, */
-/* 282 */ NdrFcShort( 0x0 ), /* 0 */
-/* 284 */ NdrFcShort( 0x1 ), /* 1 */
-/* 286 */ NdrFcShort( 0x0 ), /* 0 */
-/* 288 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 290 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 292 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 294 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 296 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 298 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 300 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter attributes */
-
-/* 302 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
-/* 304 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 306 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 308 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 310 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 312 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleEditableText_MIDL_TYPE_FORMAT_STRING AccessibleEditableText__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x0, /* FC_RP */
-/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */
-/* 6 */
- 0x12, 0x0, /* FC_UP */
-/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */
-/* 10 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 12 */ NdrFcShort( 0x2 ), /* 2 */
-/* 14 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 16 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 20 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 22 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 24 */ NdrFcShort( 0x8 ), /* 8 */
-/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */
-/* 28 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 30 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 32 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ NdrFcShort( 0x8 ), /* 8 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleEditableText, ver. 0.0,
- GUID={0xA59AA09A,0x7011,0x4b65,{0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleEditableText_FormatStringOffsetTable[] =
- {
- 0,
- 44,
- 88,
- 132,
- 176,
- 214,
- 264
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleEditableText__MIDL_ProcFormatString.Format,
- &IAccessibleEditableText_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleEditableText__MIDL_ProcFormatString.Format,
- &IAccessibleEditableText_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(10) _IAccessibleEditableTextProxyVtbl =
-{
- &IAccessibleEditableText_ProxyInfo,
- &IID_IAccessibleEditableText,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::copyText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::deleteText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::insertText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::cutText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::pasteText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::replaceText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::setAttributes */
-};
-
-const CInterfaceStubVtbl _IAccessibleEditableTextStubVtbl =
-{
- &IID_IAccessibleEditableText,
- &IAccessibleEditableText_ServerInfo,
- 10,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleEditableText__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleEditableText_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleEditableTextProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleEditableText_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleEditableTextStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleEditableText_InterfaceNamesList[] =
-{
- "IAccessibleEditableText",
- 0
-};
-
-
-#define _AccessibleEditableText_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleEditableText, pIID, n)
-
-int __stdcall _AccessibleEditableText_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleEditableText_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleEditableText_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleEditableText_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleEditableText_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleEditableText_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleEditableText_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEventID.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEventID.h
deleted file mode 100644
index 6e6c8a888a..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEventID.h
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleEventID.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-
-#ifndef __AccessibleEventID_h__
-#define __AccessibleEventID_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleEventID_0000_0000 */
-/* [local] */
-
-
-enum IA2EventID
- { IA2_EVENT_ACTION_CHANGED = 0x101,
- IA2_EVENT_ACTIVE_DECENDENT_CHANGED = ( IA2_EVENT_ACTION_CHANGED + 1 ) ,
- IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
- IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED = ( IA2_EVENT_ACTIVE_DESCENDANT_CHANGED + 1 ) ,
- IA2_EVENT_DOCUMENT_CONTENT_CHANGED = ( IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED + 1 ) ,
- IA2_EVENT_DOCUMENT_LOAD_COMPLETE = ( IA2_EVENT_DOCUMENT_CONTENT_CHANGED + 1 ) ,
- IA2_EVENT_DOCUMENT_LOAD_STOPPED = ( IA2_EVENT_DOCUMENT_LOAD_COMPLETE + 1 ) ,
- IA2_EVENT_DOCUMENT_RELOAD = ( IA2_EVENT_DOCUMENT_LOAD_STOPPED + 1 ) ,
- IA2_EVENT_HYPERLINK_END_INDEX_CHANGED = ( IA2_EVENT_DOCUMENT_RELOAD + 1 ) ,
- IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED = ( IA2_EVENT_HYPERLINK_END_INDEX_CHANGED + 1 ) ,
- IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED = ( IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED + 1 ) ,
- IA2_EVENT_HYPERTEXT_LINK_ACTIVATED = ( IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED + 1 ) ,
- IA2_EVENT_HYPERTEXT_LINK_SELECTED = ( IA2_EVENT_HYPERTEXT_LINK_ACTIVATED + 1 ) ,
- IA2_EVENT_HYPERLINK_START_INDEX_CHANGED = ( IA2_EVENT_HYPERTEXT_LINK_SELECTED + 1 ) ,
- IA2_EVENT_HYPERTEXT_CHANGED = ( IA2_EVENT_HYPERLINK_START_INDEX_CHANGED + 1 ) ,
- IA2_EVENT_HYPERTEXT_NLINKS_CHANGED = ( IA2_EVENT_HYPERTEXT_CHANGED + 1 ) ,
- IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED = ( IA2_EVENT_HYPERTEXT_NLINKS_CHANGED + 1 ) ,
- IA2_EVENT_PAGE_CHANGED = ( IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED + 1 ) ,
- IA2_EVENT_SECTION_CHANGED = ( IA2_EVENT_PAGE_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_CAPTION_CHANGED = ( IA2_EVENT_SECTION_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_CAPTION_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED = ( IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_MODEL_CHANGED = ( IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_MODEL_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_ROW_HEADER_CHANGED = ( IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_SUMMARY_CHANGED = ( IA2_EVENT_TABLE_ROW_HEADER_CHANGED + 1 ) ,
- IA2_EVENT_TEXT_ATTRIBUTE_CHANGED = ( IA2_EVENT_TABLE_SUMMARY_CHANGED + 1 ) ,
- IA2_EVENT_TEXT_CARET_MOVED = ( IA2_EVENT_TEXT_ATTRIBUTE_CHANGED + 1 ) ,
- IA2_EVENT_TEXT_CHANGED = ( IA2_EVENT_TEXT_CARET_MOVED + 1 ) ,
- IA2_EVENT_TEXT_COLUMN_CHANGED = ( IA2_EVENT_TEXT_CHANGED + 1 ) ,
- IA2_EVENT_TEXT_INSERTED = ( IA2_EVENT_TEXT_COLUMN_CHANGED + 1 ) ,
- IA2_EVENT_TEXT_REMOVED = ( IA2_EVENT_TEXT_INSERTED + 1 ) ,
- IA2_EVENT_TEXT_UPDATED = ( IA2_EVENT_TEXT_REMOVED + 1 ) ,
- IA2_EVENT_TEXT_SELECTION_CHANGED = ( IA2_EVENT_TEXT_UPDATED + 1 ) ,
- IA2_EVENT_VISIBLE_DATA_CHANGED = ( IA2_EVENT_TEXT_SELECTION_CHANGED + 1 )
- } ;
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleEventID_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleEventID_0000_0000_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink.h
deleted file mode 100644
index 24fad0bd8a..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink.h
+++ /dev/null
@@ -1,252 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleHyperlink.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleHyperlink_h__
-#define __AccessibleHyperlink_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleHyperlink_FWD_DEFINED__
-#define __IAccessibleHyperlink_FWD_DEFINED__
-typedef interface IAccessibleHyperlink IAccessibleHyperlink;
-#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "AccessibleAction.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleHyperlink_INTERFACE_DEFINED__
-#define __IAccessibleHyperlink_INTERFACE_DEFINED__
-
-/* interface IAccessibleHyperlink */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleHyperlink;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("01C20F2B-3DD2-400f-949F-AD00BDAB1D41")
- IAccessibleHyperlink : public IAccessibleAction
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchor(
- /* [in] */ long index,
- /* [retval][out] */ VARIANT *anchor) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget(
- /* [in] */ long index,
- /* [retval][out] */ VARIANT *anchorTarget) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_startIndex(
- /* [retval][out] */ long *index) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_endIndex(
- /* [retval][out] */ long *index) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_valid(
- /* [retval][out] */ boolean *valid) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleHyperlinkVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleHyperlink * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleHyperlink * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleHyperlink * This);
-
- HRESULT ( STDMETHODCALLTYPE *nActions )(
- IAccessibleHyperlink * This,
- /* [retval][out] */ long *nActions);
-
- HRESULT ( STDMETHODCALLTYPE *doAction )(
- IAccessibleHyperlink * This,
- /* [in] */ long actionIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
- IAccessibleHyperlink * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )(
- IAccessibleHyperlink * This,
- /* [in] */ long actionIndex,
- /* [in] */ long nMaxBindings,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
- /* [retval][out] */ long *nBindings);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
- IAccessibleHyperlink * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *name);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )(
- IAccessibleHyperlink * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *localizedName);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchor )(
- IAccessibleHyperlink * This,
- /* [in] */ long index,
- /* [retval][out] */ VARIANT *anchor);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )(
- IAccessibleHyperlink * This,
- /* [in] */ long index,
- /* [retval][out] */ VARIANT *anchorTarget);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_startIndex )(
- IAccessibleHyperlink * This,
- /* [retval][out] */ long *index);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_endIndex )(
- IAccessibleHyperlink * This,
- /* [retval][out] */ long *index);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_valid )(
- IAccessibleHyperlink * This,
- /* [retval][out] */ boolean *valid);
-
- END_INTERFACE
- } IAccessibleHyperlinkVtbl;
-
- interface IAccessibleHyperlink
- {
- CONST_VTBL struct IAccessibleHyperlinkVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleHyperlink_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleHyperlink_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleHyperlink_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleHyperlink_nActions(This,nActions) \
- ( (This)->lpVtbl -> nActions(This,nActions) )
-
-#define IAccessibleHyperlink_doAction(This,actionIndex) \
- ( (This)->lpVtbl -> doAction(This,actionIndex) )
-
-#define IAccessibleHyperlink_get_description(This,actionIndex,description) \
- ( (This)->lpVtbl -> get_description(This,actionIndex,description) )
-
-#define IAccessibleHyperlink_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \
- ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) )
-
-#define IAccessibleHyperlink_get_name(This,actionIndex,name) \
- ( (This)->lpVtbl -> get_name(This,actionIndex,name) )
-
-#define IAccessibleHyperlink_get_localizedName(This,actionIndex,localizedName) \
- ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) )
-
-
-#define IAccessibleHyperlink_get_anchor(This,index,anchor) \
- ( (This)->lpVtbl -> get_anchor(This,index,anchor) )
-
-#define IAccessibleHyperlink_get_anchorTarget(This,index,anchorTarget) \
- ( (This)->lpVtbl -> get_anchorTarget(This,index,anchorTarget) )
-
-#define IAccessibleHyperlink_get_startIndex(This,index) \
- ( (This)->lpVtbl -> get_startIndex(This,index) )
-
-#define IAccessibleHyperlink_get_endIndex(This,index) \
- ( (This)->lpVtbl -> get_endIndex(This,index) )
-
-#define IAccessibleHyperlink_get_valid(This,valid) \
- ( (This)->lpVtbl -> get_valid(This,valid) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleHyperlink_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
-unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
-unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
-void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_i.c
deleted file mode 100644
index f668740e0b..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleHyperlink.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleHyperlink,0x01C20F2B,0x3DD2,0x400f,0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_p.c
deleted file mode 100644
index 4cf0a1333c..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_p.c
+++ /dev/null
@@ -1,1113 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:57 2012
- */
-/* Compiler settings for AccessibleHyperlink.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleHyperlink.h"
-
-#define TYPE_FORMAT_STRING_SIZE 997
-#define PROC_FORMAT_STRING_SIZE 203
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleHyperlink_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleHyperlink_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING AccessibleHyperlink__MIDL_TypeFormatString;
-extern const AccessibleHyperlink_MIDL_PROC_FORMAT_STRING AccessibleHyperlink__MIDL_ProcFormatString;
-extern const AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING AccessibleHyperlink__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleHyperlink_MIDL_PROC_FORMAT_STRING AccessibleHyperlink__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_anchor */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x9 ), /* 9 */
-/* 8 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 10 */ NdrFcShort( 0x8 ), /* 8 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 16 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 18 */ NdrFcShort( 0x1 ), /* 1 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 26 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter anchor */
-
-/* 32 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ NdrFcShort( 0x3d2 ), /* Type Offset=978 */
-
- /* Return value */
-
-/* 38 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 42 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_anchorTarget */
-
-/* 44 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 46 */ NdrFcLong( 0x0 ), /* 0 */
-/* 50 */ NdrFcShort( 0xa ), /* 10 */
-/* 52 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 54 */ NdrFcShort( 0x8 ), /* 8 */
-/* 56 */ NdrFcShort( 0x8 ), /* 8 */
-/* 58 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 60 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 62 */ NdrFcShort( 0x1 ), /* 1 */
-/* 64 */ NdrFcShort( 0x0 ), /* 0 */
-/* 66 */ NdrFcShort( 0x0 ), /* 0 */
-/* 68 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 70 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 72 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 74 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter anchorTarget */
-
-/* 76 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
-/* 78 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 80 */ NdrFcShort( 0x3d2 ), /* Type Offset=978 */
-
- /* Return value */
-
-/* 82 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 86 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_startIndex */
-
-/* 88 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 90 */ NdrFcLong( 0x0 ), /* 0 */
-/* 94 */ NdrFcShort( 0xb ), /* 11 */
-/* 96 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 98 */ NdrFcShort( 0x0 ), /* 0 */
-/* 100 */ NdrFcShort( 0x24 ), /* 36 */
-/* 102 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 104 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-/* 108 */ NdrFcShort( 0x0 ), /* 0 */
-/* 110 */ NdrFcShort( 0x0 ), /* 0 */
-/* 112 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 114 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 116 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 122 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_endIndex */
-
-/* 126 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 128 */ NdrFcLong( 0x0 ), /* 0 */
-/* 132 */ NdrFcShort( 0xc ), /* 12 */
-/* 134 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 136 */ NdrFcShort( 0x0 ), /* 0 */
-/* 138 */ NdrFcShort( 0x24 ), /* 36 */
-/* 140 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 142 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 144 */ NdrFcShort( 0x0 ), /* 0 */
-/* 146 */ NdrFcShort( 0x0 ), /* 0 */
-/* 148 */ NdrFcShort( 0x0 ), /* 0 */
-/* 150 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 152 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 154 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 156 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 158 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 160 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 162 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_valid */
-
-/* 164 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 166 */ NdrFcLong( 0x0 ), /* 0 */
-/* 170 */ NdrFcShort( 0xd ), /* 13 */
-/* 172 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 174 */ NdrFcShort( 0x0 ), /* 0 */
-/* 176 */ NdrFcShort( 0x21 ), /* 33 */
-/* 178 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 180 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 182 */ NdrFcShort( 0x0 ), /* 0 */
-/* 184 */ NdrFcShort( 0x0 ), /* 0 */
-/* 186 */ NdrFcShort( 0x0 ), /* 0 */
-/* 188 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter valid */
-
-/* 190 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 192 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 194 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 196 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 198 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 200 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING AccessibleHyperlink__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 4 */ NdrFcShort( 0x3ce ), /* Offset= 974 (978) */
-/* 6 */
- 0x13, 0x0, /* FC_OP */
-/* 8 */ NdrFcShort( 0x3b6 ), /* Offset= 950 (958) */
-/* 10 */
- 0x2b, /* FC_NON_ENCAPSULATED_UNION */
- 0x9, /* FC_ULONG */
-/* 12 */ 0x7, /* Corr desc: FC_USHORT */
- 0x0, /* */
-/* 14 */ NdrFcShort( 0xfff8 ), /* -8 */
-/* 16 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 18 */ NdrFcShort( 0x2 ), /* Offset= 2 (20) */
-/* 20 */ NdrFcShort( 0x10 ), /* 16 */
-/* 22 */ NdrFcShort( 0x2f ), /* 47 */
-/* 24 */ NdrFcLong( 0x14 ), /* 20 */
-/* 28 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
-/* 30 */ NdrFcLong( 0x3 ), /* 3 */
-/* 34 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 36 */ NdrFcLong( 0x11 ), /* 17 */
-/* 40 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */
-/* 42 */ NdrFcLong( 0x2 ), /* 2 */
-/* 46 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 48 */ NdrFcLong( 0x4 ), /* 4 */
-/* 52 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */
-/* 54 */ NdrFcLong( 0x5 ), /* 5 */
-/* 58 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
-/* 60 */ NdrFcLong( 0xb ), /* 11 */
-/* 64 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 66 */ NdrFcLong( 0xa ), /* 10 */
-/* 70 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 72 */ NdrFcLong( 0x6 ), /* 6 */
-/* 76 */ NdrFcShort( 0xe8 ), /* Offset= 232 (308) */
-/* 78 */ NdrFcLong( 0x7 ), /* 7 */
-/* 82 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
-/* 84 */ NdrFcLong( 0x8 ), /* 8 */
-/* 88 */ NdrFcShort( 0xe2 ), /* Offset= 226 (314) */
-/* 90 */ NdrFcLong( 0xd ), /* 13 */
-/* 94 */ NdrFcShort( 0xf6 ), /* Offset= 246 (340) */
-/* 96 */ NdrFcLong( 0x9 ), /* 9 */
-/* 100 */ NdrFcShort( 0x102 ), /* Offset= 258 (358) */
-/* 102 */ NdrFcLong( 0x2000 ), /* 8192 */
-/* 106 */ NdrFcShort( 0x10e ), /* Offset= 270 (376) */
-/* 108 */ NdrFcLong( 0x24 ), /* 36 */
-/* 112 */ NdrFcShort( 0x304 ), /* Offset= 772 (884) */
-/* 114 */ NdrFcLong( 0x4024 ), /* 16420 */
-/* 118 */ NdrFcShort( 0x2fe ), /* Offset= 766 (884) */
-/* 120 */ NdrFcLong( 0x4011 ), /* 16401 */
-/* 124 */ NdrFcShort( 0x2fc ), /* Offset= 764 (888) */
-/* 126 */ NdrFcLong( 0x4002 ), /* 16386 */
-/* 130 */ NdrFcShort( 0x2fa ), /* Offset= 762 (892) */
-/* 132 */ NdrFcLong( 0x4003 ), /* 16387 */
-/* 136 */ NdrFcShort( 0x2f8 ), /* Offset= 760 (896) */
-/* 138 */ NdrFcLong( 0x4014 ), /* 16404 */
-/* 142 */ NdrFcShort( 0x2f6 ), /* Offset= 758 (900) */
-/* 144 */ NdrFcLong( 0x4004 ), /* 16388 */
-/* 148 */ NdrFcShort( 0x2f4 ), /* Offset= 756 (904) */
-/* 150 */ NdrFcLong( 0x4005 ), /* 16389 */
-/* 154 */ NdrFcShort( 0x2f2 ), /* Offset= 754 (908) */
-/* 156 */ NdrFcLong( 0x400b ), /* 16395 */
-/* 160 */ NdrFcShort( 0x2dc ), /* Offset= 732 (892) */
-/* 162 */ NdrFcLong( 0x400a ), /* 16394 */
-/* 166 */ NdrFcShort( 0x2da ), /* Offset= 730 (896) */
-/* 168 */ NdrFcLong( 0x4006 ), /* 16390 */
-/* 172 */ NdrFcShort( 0x2e4 ), /* Offset= 740 (912) */
-/* 174 */ NdrFcLong( 0x4007 ), /* 16391 */
-/* 178 */ NdrFcShort( 0x2da ), /* Offset= 730 (908) */
-/* 180 */ NdrFcLong( 0x4008 ), /* 16392 */
-/* 184 */ NdrFcShort( 0x2dc ), /* Offset= 732 (916) */
-/* 186 */ NdrFcLong( 0x400d ), /* 16397 */
-/* 190 */ NdrFcShort( 0x2da ), /* Offset= 730 (920) */
-/* 192 */ NdrFcLong( 0x4009 ), /* 16393 */
-/* 196 */ NdrFcShort( 0x2d8 ), /* Offset= 728 (924) */
-/* 198 */ NdrFcLong( 0x6000 ), /* 24576 */
-/* 202 */ NdrFcShort( 0x2d6 ), /* Offset= 726 (928) */
-/* 204 */ NdrFcLong( 0x400c ), /* 16396 */
-/* 208 */ NdrFcShort( 0x2d4 ), /* Offset= 724 (932) */
-/* 210 */ NdrFcLong( 0x10 ), /* 16 */
-/* 214 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */
-/* 216 */ NdrFcLong( 0x12 ), /* 18 */
-/* 220 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 222 */ NdrFcLong( 0x13 ), /* 19 */
-/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 228 */ NdrFcLong( 0x15 ), /* 21 */
-/* 232 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
-/* 234 */ NdrFcLong( 0x16 ), /* 22 */
-/* 238 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 240 */ NdrFcLong( 0x17 ), /* 23 */
-/* 244 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 246 */ NdrFcLong( 0xe ), /* 14 */
-/* 250 */ NdrFcShort( 0x2b2 ), /* Offset= 690 (940) */
-/* 252 */ NdrFcLong( 0x400e ), /* 16398 */
-/* 256 */ NdrFcShort( 0x2b6 ), /* Offset= 694 (950) */
-/* 258 */ NdrFcLong( 0x4010 ), /* 16400 */
-/* 262 */ NdrFcShort( 0x2b4 ), /* Offset= 692 (954) */
-/* 264 */ NdrFcLong( 0x4012 ), /* 16402 */
-/* 268 */ NdrFcShort( 0x270 ), /* Offset= 624 (892) */
-/* 270 */ NdrFcLong( 0x4013 ), /* 16403 */
-/* 274 */ NdrFcShort( 0x26e ), /* Offset= 622 (896) */
-/* 276 */ NdrFcLong( 0x4015 ), /* 16405 */
-/* 280 */ NdrFcShort( 0x26c ), /* Offset= 620 (900) */
-/* 282 */ NdrFcLong( 0x4016 ), /* 16406 */
-/* 286 */ NdrFcShort( 0x262 ), /* Offset= 610 (896) */
-/* 288 */ NdrFcLong( 0x4017 ), /* 16407 */
-/* 292 */ NdrFcShort( 0x25c ), /* Offset= 604 (896) */
-/* 294 */ NdrFcLong( 0x0 ), /* 0 */
-/* 298 */ NdrFcShort( 0x0 ), /* Offset= 0 (298) */
-/* 300 */ NdrFcLong( 0x1 ), /* 1 */
-/* 304 */ NdrFcShort( 0x0 ), /* Offset= 0 (304) */
-/* 306 */ NdrFcShort( 0xffff ), /* Offset= -1 (305) */
-/* 308 */
- 0x15, /* FC_STRUCT */
- 0x7, /* 7 */
-/* 310 */ NdrFcShort( 0x8 ), /* 8 */
-/* 312 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 314 */
- 0x13, 0x0, /* FC_OP */
-/* 316 */ NdrFcShort( 0xe ), /* Offset= 14 (330) */
-/* 318 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 320 */ NdrFcShort( 0x2 ), /* 2 */
-/* 322 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 324 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 326 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 328 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 330 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 332 */ NdrFcShort( 0x8 ), /* 8 */
-/* 334 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (318) */
-/* 336 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 338 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 340 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 342 */ NdrFcLong( 0x0 ), /* 0 */
-/* 346 */ NdrFcShort( 0x0 ), /* 0 */
-/* 348 */ NdrFcShort( 0x0 ), /* 0 */
-/* 350 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 352 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 354 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 356 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 358 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 360 */ NdrFcLong( 0x20400 ), /* 132096 */
-/* 364 */ NdrFcShort( 0x0 ), /* 0 */
-/* 366 */ NdrFcShort( 0x0 ), /* 0 */
-/* 368 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 370 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 372 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 374 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 376 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 378 */ NdrFcShort( 0x2 ), /* Offset= 2 (380) */
-/* 380 */
- 0x13, 0x0, /* FC_OP */
-/* 382 */ NdrFcShort( 0x1e4 ), /* Offset= 484 (866) */
-/* 384 */
- 0x2a, /* FC_ENCAPSULATED_UNION */
- 0x89, /* 137 */
-/* 386 */ NdrFcShort( 0x20 ), /* 32 */
-/* 388 */ NdrFcShort( 0xa ), /* 10 */
-/* 390 */ NdrFcLong( 0x8 ), /* 8 */
-/* 394 */ NdrFcShort( 0x50 ), /* Offset= 80 (474) */
-/* 396 */ NdrFcLong( 0xd ), /* 13 */
-/* 400 */ NdrFcShort( 0x70 ), /* Offset= 112 (512) */
-/* 402 */ NdrFcLong( 0x9 ), /* 9 */
-/* 406 */ NdrFcShort( 0x90 ), /* Offset= 144 (550) */
-/* 408 */ NdrFcLong( 0xc ), /* 12 */
-/* 412 */ NdrFcShort( 0xb0 ), /* Offset= 176 (588) */
-/* 414 */ NdrFcLong( 0x24 ), /* 36 */
-/* 418 */ NdrFcShort( 0x102 ), /* Offset= 258 (676) */
-/* 420 */ NdrFcLong( 0x800d ), /* 32781 */
-/* 424 */ NdrFcShort( 0x11e ), /* Offset= 286 (710) */
-/* 426 */ NdrFcLong( 0x10 ), /* 16 */
-/* 430 */ NdrFcShort( 0x138 ), /* Offset= 312 (742) */
-/* 432 */ NdrFcLong( 0x2 ), /* 2 */
-/* 436 */ NdrFcShort( 0x14e ), /* Offset= 334 (770) */
-/* 438 */ NdrFcLong( 0x3 ), /* 3 */
-/* 442 */ NdrFcShort( 0x164 ), /* Offset= 356 (798) */
-/* 444 */ NdrFcLong( 0x14 ), /* 20 */
-/* 448 */ NdrFcShort( 0x17a ), /* Offset= 378 (826) */
-/* 450 */ NdrFcShort( 0xffff ), /* Offset= -1 (449) */
-/* 452 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 454 */ NdrFcShort( 0x0 ), /* 0 */
-/* 456 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 458 */ NdrFcShort( 0x0 ), /* 0 */
-/* 460 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 462 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 466 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 468 */
- 0x13, 0x0, /* FC_OP */
-/* 470 */ NdrFcShort( 0xff74 ), /* Offset= -140 (330) */
-/* 472 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 474 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 476 */ NdrFcShort( 0x10 ), /* 16 */
-/* 478 */ NdrFcShort( 0x0 ), /* 0 */
-/* 480 */ NdrFcShort( 0x6 ), /* Offset= 6 (486) */
-/* 482 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 484 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 486 */
- 0x11, 0x0, /* FC_RP */
-/* 488 */ NdrFcShort( 0xffdc ), /* Offset= -36 (452) */
-/* 490 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 492 */ NdrFcShort( 0x0 ), /* 0 */
-/* 494 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 496 */ NdrFcShort( 0x0 ), /* 0 */
-/* 498 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 500 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 504 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 506 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 508 */ NdrFcShort( 0xff58 ), /* Offset= -168 (340) */
-/* 510 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 512 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 514 */ NdrFcShort( 0x10 ), /* 16 */
-/* 516 */ NdrFcShort( 0x0 ), /* 0 */
-/* 518 */ NdrFcShort( 0x6 ), /* Offset= 6 (524) */
-/* 520 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 522 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 524 */
- 0x11, 0x0, /* FC_RP */
-/* 526 */ NdrFcShort( 0xffdc ), /* Offset= -36 (490) */
-/* 528 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 530 */ NdrFcShort( 0x0 ), /* 0 */
-/* 532 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 534 */ NdrFcShort( 0x0 ), /* 0 */
-/* 536 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 538 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 542 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 544 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 546 */ NdrFcShort( 0xff44 ), /* Offset= -188 (358) */
-/* 548 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 550 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 552 */ NdrFcShort( 0x10 ), /* 16 */
-/* 554 */ NdrFcShort( 0x0 ), /* 0 */
-/* 556 */ NdrFcShort( 0x6 ), /* Offset= 6 (562) */
-/* 558 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 560 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 562 */
- 0x11, 0x0, /* FC_RP */
-/* 564 */ NdrFcShort( 0xffdc ), /* Offset= -36 (528) */
-/* 566 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 568 */ NdrFcShort( 0x0 ), /* 0 */
-/* 570 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 572 */ NdrFcShort( 0x0 ), /* 0 */
-/* 574 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 576 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 580 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 582 */
- 0x13, 0x0, /* FC_OP */
-/* 584 */ NdrFcShort( 0x176 ), /* Offset= 374 (958) */
-/* 586 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 588 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 590 */ NdrFcShort( 0x10 ), /* 16 */
-/* 592 */ NdrFcShort( 0x0 ), /* 0 */
-/* 594 */ NdrFcShort( 0x6 ), /* Offset= 6 (600) */
-/* 596 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 598 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 600 */
- 0x11, 0x0, /* FC_RP */
-/* 602 */ NdrFcShort( 0xffdc ), /* Offset= -36 (566) */
-/* 604 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 606 */ NdrFcLong( 0x2f ), /* 47 */
-/* 610 */ NdrFcShort( 0x0 ), /* 0 */
-/* 612 */ NdrFcShort( 0x0 ), /* 0 */
-/* 614 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 616 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 618 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 620 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 622 */
- 0x1b, /* FC_CARRAY */
- 0x0, /* 0 */
-/* 624 */ NdrFcShort( 0x1 ), /* 1 */
-/* 626 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 628 */ NdrFcShort( 0x4 ), /* 4 */
-/* 630 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 632 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 634 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 636 */ NdrFcShort( 0x18 ), /* 24 */
-/* 638 */ NdrFcShort( 0x0 ), /* 0 */
-/* 640 */ NdrFcShort( 0xa ), /* Offset= 10 (650) */
-/* 642 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 644 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 646 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (604) */
-/* 648 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 650 */
- 0x13, 0x0, /* FC_OP */
-/* 652 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (622) */
-/* 654 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 656 */ NdrFcShort( 0x0 ), /* 0 */
-/* 658 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 660 */ NdrFcShort( 0x0 ), /* 0 */
-/* 662 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 664 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 668 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 670 */
- 0x13, 0x0, /* FC_OP */
-/* 672 */ NdrFcShort( 0xffda ), /* Offset= -38 (634) */
-/* 674 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 676 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 678 */ NdrFcShort( 0x10 ), /* 16 */
-/* 680 */ NdrFcShort( 0x0 ), /* 0 */
-/* 682 */ NdrFcShort( 0x6 ), /* Offset= 6 (688) */
-/* 684 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 686 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 688 */
- 0x11, 0x0, /* FC_RP */
-/* 690 */ NdrFcShort( 0xffdc ), /* Offset= -36 (654) */
-/* 692 */
- 0x1d, /* FC_SMFARRAY */
- 0x0, /* 0 */
-/* 694 */ NdrFcShort( 0x8 ), /* 8 */
-/* 696 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 698 */
- 0x15, /* FC_STRUCT */
- 0x3, /* 3 */
-/* 700 */ NdrFcShort( 0x10 ), /* 16 */
-/* 702 */ 0x8, /* FC_LONG */
- 0x6, /* FC_SHORT */
-/* 704 */ 0x6, /* FC_SHORT */
- 0x4c, /* FC_EMBEDDED_COMPLEX */
-/* 706 */ 0x0, /* 0 */
- NdrFcShort( 0xfff1 ), /* Offset= -15 (692) */
- 0x5b, /* FC_END */
-/* 710 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 712 */ NdrFcShort( 0x20 ), /* 32 */
-/* 714 */ NdrFcShort( 0x0 ), /* 0 */
-/* 716 */ NdrFcShort( 0xa ), /* Offset= 10 (726) */
-/* 718 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 720 */ 0x36, /* FC_POINTER */
- 0x4c, /* FC_EMBEDDED_COMPLEX */
-/* 722 */ 0x0, /* 0 */
- NdrFcShort( 0xffe7 ), /* Offset= -25 (698) */
- 0x5b, /* FC_END */
-/* 726 */
- 0x11, 0x0, /* FC_RP */
-/* 728 */ NdrFcShort( 0xff12 ), /* Offset= -238 (490) */
-/* 730 */
- 0x1b, /* FC_CARRAY */
- 0x0, /* 0 */
-/* 732 */ NdrFcShort( 0x1 ), /* 1 */
-/* 734 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 736 */ NdrFcShort( 0x0 ), /* 0 */
-/* 738 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 740 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 742 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 744 */ NdrFcShort( 0x10 ), /* 16 */
-/* 746 */ NdrFcShort( 0x0 ), /* 0 */
-/* 748 */ NdrFcShort( 0x6 ), /* Offset= 6 (754) */
-/* 750 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 752 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 754 */
- 0x13, 0x0, /* FC_OP */
-/* 756 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (730) */
-/* 758 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 760 */ NdrFcShort( 0x2 ), /* 2 */
-/* 762 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 764 */ NdrFcShort( 0x0 ), /* 0 */
-/* 766 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 768 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 770 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 772 */ NdrFcShort( 0x10 ), /* 16 */
-/* 774 */ NdrFcShort( 0x0 ), /* 0 */
-/* 776 */ NdrFcShort( 0x6 ), /* Offset= 6 (782) */
-/* 778 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 780 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 782 */
- 0x13, 0x0, /* FC_OP */
-/* 784 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (758) */
-/* 786 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 788 */ NdrFcShort( 0x4 ), /* 4 */
-/* 790 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 792 */ NdrFcShort( 0x0 ), /* 0 */
-/* 794 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 796 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 798 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 800 */ NdrFcShort( 0x10 ), /* 16 */
-/* 802 */ NdrFcShort( 0x0 ), /* 0 */
-/* 804 */ NdrFcShort( 0x6 ), /* Offset= 6 (810) */
-/* 806 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 808 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 810 */
- 0x13, 0x0, /* FC_OP */
-/* 812 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (786) */
-/* 814 */
- 0x1b, /* FC_CARRAY */
- 0x7, /* 7 */
-/* 816 */ NdrFcShort( 0x8 ), /* 8 */
-/* 818 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 820 */ NdrFcShort( 0x0 ), /* 0 */
-/* 822 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 824 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 826 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 828 */ NdrFcShort( 0x10 ), /* 16 */
-/* 830 */ NdrFcShort( 0x0 ), /* 0 */
-/* 832 */ NdrFcShort( 0x6 ), /* Offset= 6 (838) */
-/* 834 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 836 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 838 */
- 0x13, 0x0, /* FC_OP */
-/* 840 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (814) */
-/* 842 */
- 0x15, /* FC_STRUCT */
- 0x3, /* 3 */
-/* 844 */ NdrFcShort( 0x8 ), /* 8 */
-/* 846 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 848 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 850 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 852 */ NdrFcShort( 0x8 ), /* 8 */
-/* 854 */ 0x7, /* Corr desc: FC_USHORT */
- 0x0, /* */
-/* 856 */ NdrFcShort( 0xffc8 ), /* -56 */
-/* 858 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 860 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 862 */ NdrFcShort( 0xffec ), /* Offset= -20 (842) */
-/* 864 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 866 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 868 */ NdrFcShort( 0x38 ), /* 56 */
-/* 870 */ NdrFcShort( 0xffec ), /* Offset= -20 (850) */
-/* 872 */ NdrFcShort( 0x0 ), /* Offset= 0 (872) */
-/* 874 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 876 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 878 */ 0x40, /* FC_STRUCTPAD4 */
- 0x4c, /* FC_EMBEDDED_COMPLEX */
-/* 880 */ 0x0, /* 0 */
- NdrFcShort( 0xfe0f ), /* Offset= -497 (384) */
- 0x5b, /* FC_END */
-/* 884 */
- 0x13, 0x0, /* FC_OP */
-/* 886 */ NdrFcShort( 0xff04 ), /* Offset= -252 (634) */
-/* 888 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 890 */ 0x1, /* FC_BYTE */
- 0x5c, /* FC_PAD */
-/* 892 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 894 */ 0x6, /* FC_SHORT */
- 0x5c, /* FC_PAD */
-/* 896 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 898 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 900 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 902 */ 0xb, /* FC_HYPER */
- 0x5c, /* FC_PAD */
-/* 904 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 906 */ 0xa, /* FC_FLOAT */
- 0x5c, /* FC_PAD */
-/* 908 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 910 */ 0xc, /* FC_DOUBLE */
- 0x5c, /* FC_PAD */
-/* 912 */
- 0x13, 0x0, /* FC_OP */
-/* 914 */ NdrFcShort( 0xfda2 ), /* Offset= -606 (308) */
-/* 916 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 918 */ NdrFcShort( 0xfda4 ), /* Offset= -604 (314) */
-/* 920 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 922 */ NdrFcShort( 0xfdba ), /* Offset= -582 (340) */
-/* 924 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 926 */ NdrFcShort( 0xfdc8 ), /* Offset= -568 (358) */
-/* 928 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 930 */ NdrFcShort( 0xfdd6 ), /* Offset= -554 (376) */
-/* 932 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 934 */ NdrFcShort( 0x2 ), /* Offset= 2 (936) */
-/* 936 */
- 0x13, 0x0, /* FC_OP */
-/* 938 */ NdrFcShort( 0x14 ), /* Offset= 20 (958) */
-/* 940 */
- 0x15, /* FC_STRUCT */
- 0x7, /* 7 */
-/* 942 */ NdrFcShort( 0x10 ), /* 16 */
-/* 944 */ 0x6, /* FC_SHORT */
- 0x1, /* FC_BYTE */
-/* 946 */ 0x1, /* FC_BYTE */
- 0x8, /* FC_LONG */
-/* 948 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 950 */
- 0x13, 0x0, /* FC_OP */
-/* 952 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (940) */
-/* 954 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 956 */ 0x2, /* FC_CHAR */
- 0x5c, /* FC_PAD */
-/* 958 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x7, /* 7 */
-/* 960 */ NdrFcShort( 0x20 ), /* 32 */
-/* 962 */ NdrFcShort( 0x0 ), /* 0 */
-/* 964 */ NdrFcShort( 0x0 ), /* Offset= 0 (964) */
-/* 966 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 968 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 970 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 972 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 974 */ NdrFcShort( 0xfc3c ), /* Offset= -964 (10) */
-/* 976 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 978 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 980 */ NdrFcShort( 0x0 ), /* 0 */
-/* 982 */ NdrFcShort( 0x18 ), /* 24 */
-/* 984 */ NdrFcShort( 0x0 ), /* 0 */
-/* 986 */ NdrFcShort( 0xfc2c ), /* Offset= -980 (6) */
-/* 988 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 990 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 992 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 994 */ 0x3, /* FC_SMALL */
- 0x5c, /* FC_PAD */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- VARIANT_UserSize
- ,VARIANT_UserMarshal
- ,VARIANT_UserUnmarshal
- ,VARIANT_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleAction, ver. 0.0,
- GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */
-
-
-/* Object interface: IAccessibleHyperlink, ver. 0.0,
- GUID={0x01C20F2B,0x3DD2,0x400f,{0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleHyperlink_FormatStringOffsetTable[] =
- {
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- 0,
- 44,
- 88,
- 126,
- 164
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleHyperlink__MIDL_ProcFormatString.Format,
- &IAccessibleHyperlink_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleHyperlink__MIDL_ProcFormatString.Format,
- &IAccessibleHyperlink_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(14) _IAccessibleHyperlinkProxyVtbl =
-{
- &IAccessibleHyperlink_ProxyInfo,
- &IID_IAccessibleHyperlink,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- 0 /* IAccessibleAction::nActions */ ,
- 0 /* IAccessibleAction::doAction */ ,
- 0 /* IAccessibleAction::get_description */ ,
- 0 /* IAccessibleAction::get_keyBinding */ ,
- 0 /* IAccessibleAction::get_name */ ,
- 0 /* IAccessibleAction::get_localizedName */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchor */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchorTarget */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_startIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_endIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_valid */
-};
-
-
-static const PRPC_STUB_FUNCTION IAccessibleHyperlink_table[] =
-{
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2
-};
-
-CInterfaceStubVtbl _IAccessibleHyperlinkStubVtbl =
-{
- &IID_IAccessibleHyperlink,
- &IAccessibleHyperlink_ServerInfo,
- 14,
- &IAccessibleHyperlink_table[-3],
- CStdStubBuffer_DELEGATING_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleHyperlink__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleHyperlink_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleHyperlinkProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleHyperlink_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleHyperlinkStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleHyperlink_InterfaceNamesList[] =
-{
- "IAccessibleHyperlink",
- 0
-};
-
-const IID * const _AccessibleHyperlink_BaseIIDList[] =
-{
- &IID_IAccessibleAction,
- 0
-};
-
-
-#define _AccessibleHyperlink_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleHyperlink, pIID, n)
-
-int __stdcall _AccessibleHyperlink_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleHyperlink_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleHyperlink_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleHyperlink_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleHyperlink_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleHyperlink_InterfaceNamesList,
- (const IID ** ) & _AccessibleHyperlink_BaseIIDList,
- & _AccessibleHyperlink_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext.h
deleted file mode 100644
index 91cb85c69e..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext.h
+++ /dev/null
@@ -1,349 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:58 2012
- */
-/* Compiler settings for AccessibleHypertext.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleHypertext_h__
-#define __AccessibleHypertext_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleHypertext_FWD_DEFINED__
-#define __IAccessibleHypertext_FWD_DEFINED__
-typedef interface IAccessibleHypertext IAccessibleHypertext;
-#endif /* __IAccessibleHypertext_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "AccessibleText.h"
-#include "AccessibleHyperlink.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleHypertext_INTERFACE_DEFINED__
-#define __IAccessibleHypertext_INTERFACE_DEFINED__
-
-/* interface IAccessibleHypertext */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleHypertext;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6B4F8BBF-F1F2-418a-B35E-A195BC4103B9")
- IAccessibleHypertext : public IAccessibleText
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nHyperlinks(
- /* [retval][out] */ long *hyperlinkCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlink(
- /* [in] */ long index,
- /* [retval][out] */ IAccessibleHyperlink **hyperlink) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinkIndex(
- /* [in] */ long charIndex,
- /* [retval][out] */ long *hyperlinkIndex) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleHypertextVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleHypertext * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleHypertext * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleHypertext * This);
-
- HRESULT ( STDMETHODCALLTYPE *addSelection )(
- IAccessibleHypertext * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
- IAccessibleHypertext * This,
- /* [in] */ long offset,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *textAttributes);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
- IAccessibleHypertext * This,
- /* [retval][out] */ long *offset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
- IAccessibleHypertext * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [out] */ long *x,
- /* [out] */ long *y,
- /* [out] */ long *width,
- /* [retval][out] */ long *height);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
- IAccessibleHypertext * This,
- /* [retval][out] */ long *nSelections);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
- IAccessibleHypertext * This,
- /* [in] */ long x,
- /* [in] */ long y,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [retval][out] */ long *offset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
- IAccessibleHypertext * This,
- /* [in] */ long selectionIndex,
- /* [out] */ long *startOffset,
- /* [retval][out] */ long *endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
- IAccessibleHypertext * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
- IAccessibleHypertext * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
- IAccessibleHypertext * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
- IAccessibleHypertext * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- HRESULT ( STDMETHODCALLTYPE *removeSelection )(
- IAccessibleHypertext * This,
- /* [in] */ long selectionIndex);
-
- HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
- IAccessibleHypertext * This,
- /* [in] */ long offset);
-
- HRESULT ( STDMETHODCALLTYPE *setSelection )(
- IAccessibleHypertext * This,
- /* [in] */ long selectionIndex,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
- IAccessibleHypertext * This,
- /* [retval][out] */ long *nCharacters);
-
- HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
- IAccessibleHypertext * This,
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2ScrollType scrollType);
-
- HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
- IAccessibleHypertext * This,
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [in] */ long x,
- /* [in] */ long y);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
- IAccessibleHypertext * This,
- /* [retval][out] */ IA2TextSegment *newText);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
- IAccessibleHypertext * This,
- /* [retval][out] */ IA2TextSegment *oldText);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )(
- IAccessibleHypertext * This,
- /* [retval][out] */ long *hyperlinkCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )(
- IAccessibleHypertext * This,
- /* [in] */ long index,
- /* [retval][out] */ IAccessibleHyperlink **hyperlink);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )(
- IAccessibleHypertext * This,
- /* [in] */ long charIndex,
- /* [retval][out] */ long *hyperlinkIndex);
-
- END_INTERFACE
- } IAccessibleHypertextVtbl;
-
- interface IAccessibleHypertext
- {
- CONST_VTBL struct IAccessibleHypertextVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleHypertext_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleHypertext_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleHypertext_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleHypertext_addSelection(This,startOffset,endOffset) \
- ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
-
-#define IAccessibleHypertext_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
- ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
-
-#define IAccessibleHypertext_get_caretOffset(This,offset) \
- ( (This)->lpVtbl -> get_caretOffset(This,offset) )
-
-#define IAccessibleHypertext_get_characterExtents(This,offset,coordType,x,y,width,height) \
- ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
-
-#define IAccessibleHypertext_get_nSelections(This,nSelections) \
- ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
-
-#define IAccessibleHypertext_get_offsetAtPoint(This,x,y,coordType,offset) \
- ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
-
-#define IAccessibleHypertext_get_selection(This,selectionIndex,startOffset,endOffset) \
- ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
-
-#define IAccessibleHypertext_get_text(This,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
-
-#define IAccessibleHypertext_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleHypertext_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleHypertext_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleHypertext_removeSelection(This,selectionIndex) \
- ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
-
-#define IAccessibleHypertext_setCaretOffset(This,offset) \
- ( (This)->lpVtbl -> setCaretOffset(This,offset) )
-
-#define IAccessibleHypertext_setSelection(This,selectionIndex,startOffset,endOffset) \
- ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
-
-#define IAccessibleHypertext_get_nCharacters(This,nCharacters) \
- ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
-
-#define IAccessibleHypertext_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
- ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
-
-#define IAccessibleHypertext_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
- ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
-
-#define IAccessibleHypertext_get_newText(This,newText) \
- ( (This)->lpVtbl -> get_newText(This,newText) )
-
-#define IAccessibleHypertext_get_oldText(This,oldText) \
- ( (This)->lpVtbl -> get_oldText(This,oldText) )
-
-
-#define IAccessibleHypertext_get_nHyperlinks(This,hyperlinkCount) \
- ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) )
-
-#define IAccessibleHypertext_get_hyperlink(This,index,hyperlink) \
- ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) )
-
-#define IAccessibleHypertext_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \
- ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleHypertext_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_i.c
deleted file mode 100644
index fbc3ef133a..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:58 2012
- */
-/* Compiler settings for AccessibleHypertext.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext,0x6B4F8BBF,0xF1F2,0x418a,0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_p.c
deleted file mode 100644
index e4df1ac6df..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_p.c
+++ /dev/null
@@ -1,454 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:58 2012
- */
-/* Compiler settings for AccessibleHypertext.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleHypertext.h"
-
-#define TYPE_FORMAT_STRING_SIZE 29
-#define PROC_FORMAT_STRING_SIZE 127
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 0
-
-typedef struct _AccessibleHypertext_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleHypertext_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleHypertext_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleHypertext_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleHypertext_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleHypertext_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleHypertext_MIDL_TYPE_FORMAT_STRING AccessibleHypertext__MIDL_TypeFormatString;
-extern const AccessibleHypertext_MIDL_PROC_FORMAT_STRING AccessibleHypertext__MIDL_ProcFormatString;
-extern const AccessibleHypertext_MIDL_EXPR_FORMAT_STRING AccessibleHypertext__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo;
-
-
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleHypertext_MIDL_PROC_FORMAT_STRING AccessibleHypertext__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_nHyperlinks */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x16 ), /* 22 */
-/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x24 ), /* 36 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter hyperlinkCount */
-
-/* 26 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_hyperlink */
-
-/* 38 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 40 */ NdrFcLong( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0x17 ), /* 23 */
-/* 46 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 48 */ NdrFcShort( 0x8 ), /* 8 */
-/* 50 */ NdrFcShort( 0x8 ), /* 8 */
-/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 54 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 64 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 68 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter hyperlink */
-
-/* 70 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 74 */ NdrFcShort( 0x6 ), /* Type Offset=6 */
-
- /* Return value */
-
-/* 76 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 78 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 80 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_hyperlinkIndex */
-
-/* 82 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 84 */ NdrFcLong( 0x0 ), /* 0 */
-/* 88 */ NdrFcShort( 0x18 ), /* 24 */
-/* 90 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 92 */ NdrFcShort( 0x8 ), /* 8 */
-/* 94 */ NdrFcShort( 0x24 ), /* 36 */
-/* 96 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 98 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 100 */ NdrFcShort( 0x0 ), /* 0 */
-/* 102 */ NdrFcShort( 0x0 ), /* 0 */
-/* 104 */ NdrFcShort( 0x0 ), /* 0 */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter charIndex */
-
-/* 108 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 110 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter hyperlinkIndex */
-
-/* 114 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 116 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 122 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleHypertext_MIDL_TYPE_FORMAT_STRING AccessibleHypertext__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 6 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */
-/* 10 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 12 */ NdrFcLong( 0x1c20f2b ), /* 29495083 */
-/* 16 */ NdrFcShort( 0x3dd2 ), /* 15826 */
-/* 18 */ NdrFcShort( 0x400f ), /* 16399 */
-/* 20 */ 0x94, /* 148 */
- 0x9f, /* 159 */
-/* 22 */ 0xad, /* 173 */
- 0x0, /* 0 */
-/* 24 */ 0xbd, /* 189 */
- 0xab, /* 171 */
-/* 26 */ 0x1d, /* 29 */
- 0x41, /* 65 */
-
- 0x0
- }
- };
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleText, ver. 0.0,
- GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */
-
-
-/* Object interface: IAccessibleHypertext, ver. 0.0,
- GUID={0x6B4F8BBF,0xF1F2,0x418a,{0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleHypertext_FormatStringOffsetTable[] =
- {
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- 0,
- 38,
- 82
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleHypertext__MIDL_ProcFormatString.Format,
- &IAccessibleHypertext_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleHypertext__MIDL_ProcFormatString.Format,
- &IAccessibleHypertext_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(25) _IAccessibleHypertextProxyVtbl =
-{
- &IAccessibleHypertext_ProxyInfo,
- &IID_IAccessibleHypertext,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- 0 /* IAccessibleText::addSelection */ ,
- 0 /* IAccessibleText::get_attributes */ ,
- 0 /* IAccessibleText::get_caretOffset */ ,
- 0 /* IAccessibleText::get_characterExtents */ ,
- 0 /* IAccessibleText::get_nSelections */ ,
- 0 /* IAccessibleText::get_offsetAtPoint */ ,
- 0 /* IAccessibleText::get_selection */ ,
- 0 /* IAccessibleText::get_text */ ,
- 0 /* IAccessibleText::get_textBeforeOffset */ ,
- 0 /* IAccessibleText::get_textAfterOffset */ ,
- 0 /* IAccessibleText::get_textAtOffset */ ,
- 0 /* IAccessibleText::removeSelection */ ,
- 0 /* IAccessibleText::setCaretOffset */ ,
- 0 /* IAccessibleText::setSelection */ ,
- 0 /* IAccessibleText::get_nCharacters */ ,
- 0 /* IAccessibleText::scrollSubstringTo */ ,
- 0 /* IAccessibleText::scrollSubstringToPoint */ ,
- 0 /* IAccessibleText::get_newText */ ,
- 0 /* IAccessibleText::get_oldText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */
-};
-
-
-static const PRPC_STUB_FUNCTION IAccessibleHypertext_table[] =
-{
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2
-};
-
-CInterfaceStubVtbl _IAccessibleHypertextStubVtbl =
-{
- &IID_IAccessibleHypertext,
- &IAccessibleHypertext_ServerInfo,
- 25,
- &IAccessibleHypertext_table[-3],
- CStdStubBuffer_DELEGATING_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleHypertext__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- 0,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleHypertext_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleHypertextProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleHypertext_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleHypertextStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleHypertext_InterfaceNamesList[] =
-{
- "IAccessibleHypertext",
- 0
-};
-
-const IID * const _AccessibleHypertext_BaseIIDList[] =
-{
- &IID_IAccessibleText,
- 0
-};
-
-
-#define _AccessibleHypertext_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleHypertext, pIID, n)
-
-int __stdcall _AccessibleHypertext_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleHypertext_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleHypertext_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleHypertext_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleHypertext_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleHypertext_InterfaceNamesList,
- (const IID ** ) & _AccessibleHypertext_BaseIIDList,
- & _AccessibleHypertext_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage.h
deleted file mode 100644
index a01e4dc0b6..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage.h
+++ /dev/null
@@ -1,185 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:58 2012
- */
-/* Compiler settings for AccessibleImage.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleImage_h__
-#define __AccessibleImage_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleImage_FWD_DEFINED__
-#define __IAccessibleImage_FWD_DEFINED__
-typedef interface IAccessibleImage IAccessibleImage;
-#endif /* __IAccessibleImage_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "IA2CommonTypes.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleImage_INTERFACE_DEFINED__
-#define __IAccessibleImage_INTERFACE_DEFINED__
-
-/* interface IAccessibleImage */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleImage;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE")
- IAccessibleImage : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description(
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imagePosition(
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [out] */ long *x,
- /* [retval][out] */ long *y) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imageSize(
- /* [out] */ long *height,
- /* [retval][out] */ long *width) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleImageVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleImage * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleImage * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleImage * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
- IAccessibleImage * This,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imagePosition )(
- IAccessibleImage * This,
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [out] */ long *x,
- /* [retval][out] */ long *y);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageSize )(
- IAccessibleImage * This,
- /* [out] */ long *height,
- /* [retval][out] */ long *width);
-
- END_INTERFACE
- } IAccessibleImageVtbl;
-
- interface IAccessibleImage
- {
- CONST_VTBL struct IAccessibleImageVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleImage_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleImage_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleImage_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleImage_get_description(This,description) \
- ( (This)->lpVtbl -> get_description(This,description) )
-
-#define IAccessibleImage_get_imagePosition(This,coordinateType,x,y) \
- ( (This)->lpVtbl -> get_imagePosition(This,coordinateType,x,y) )
-
-#define IAccessibleImage_get_imageSize(This,height,width) \
- ( (This)->lpVtbl -> get_imageSize(This,height,width) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleImage_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_i.c
deleted file mode 100644
index 1afecd10b5..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:58 2012
- */
-/* Compiler settings for AccessibleImage.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleImage,0xFE5ABB3D,0x615E,0x4f7b,0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_p.c
deleted file mode 100644
index 4b6aff7ba5..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_p.c
+++ /dev/null
@@ -1,414 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:58 2012
- */
-/* Compiler settings for AccessibleImage.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleImage.h"
-
-#define TYPE_FORMAT_STRING_SIZE 47
-#define PROC_FORMAT_STRING_SIZE 133
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleImage_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleImage_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleImage_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleImage_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleImage_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleImage_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleImage_MIDL_TYPE_FORMAT_STRING AccessibleImage__MIDL_TypeFormatString;
-extern const AccessibleImage_MIDL_PROC_FORMAT_STRING AccessibleImage__MIDL_ProcFormatString;
-extern const AccessibleImage_MIDL_EXPR_FORMAT_STRING AccessibleImage__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleImage_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleImage_MIDL_PROC_FORMAT_STRING AccessibleImage__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_description */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 18 */ NdrFcShort( 0x1 ), /* 1 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter description */
-
-/* 26 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_imagePosition */
-
-/* 38 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 40 */ NdrFcLong( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0x4 ), /* 4 */
-/* 46 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 48 */ NdrFcShort( 0x6 ), /* 6 */
-/* 50 */ NdrFcShort( 0x40 ), /* 64 */
-/* 52 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 54 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter coordinateType */
-
-/* 64 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 68 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter x */
-
-/* 70 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 74 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 76 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 78 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 80 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 82 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 84 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 86 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_imageSize */
-
-/* 88 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 90 */ NdrFcLong( 0x0 ), /* 0 */
-/* 94 */ NdrFcShort( 0x5 ), /* 5 */
-/* 96 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 98 */ NdrFcShort( 0x0 ), /* 0 */
-/* 100 */ NdrFcShort( 0x40 ), /* 64 */
-/* 102 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 104 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-/* 108 */ NdrFcShort( 0x0 ), /* 0 */
-/* 110 */ NdrFcShort( 0x0 ), /* 0 */
-/* 112 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter height */
-
-/* 114 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 116 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter width */
-
-/* 120 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 122 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 128 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 130 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleImage_MIDL_TYPE_FORMAT_STRING AccessibleImage__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */
-/* 6 */
- 0x13, 0x0, /* FC_OP */
-/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */
-/* 10 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 12 */ NdrFcShort( 0x2 ), /* 2 */
-/* 14 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 16 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 20 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 22 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 24 */ NdrFcShort( 0x8 ), /* 8 */
-/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */
-/* 28 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 30 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 32 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ NdrFcShort( 0x8 ), /* 8 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */
-/* 42 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 44 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleImage, ver. 0.0,
- GUID={0xFE5ABB3D,0x615E,0x4f7b,{0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleImage_FormatStringOffsetTable[] =
- {
- 0,
- 38,
- 88
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleImage__MIDL_ProcFormatString.Format,
- &IAccessibleImage_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleImage_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleImage__MIDL_ProcFormatString.Format,
- &IAccessibleImage_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(6) _IAccessibleImageProxyVtbl =
-{
- &IAccessibleImage_ProxyInfo,
- &IID_IAccessibleImage,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleImage::get_description */ ,
- (void *) (INT_PTR) -1 /* IAccessibleImage::get_imagePosition */ ,
- (void *) (INT_PTR) -1 /* IAccessibleImage::get_imageSize */
-};
-
-const CInterfaceStubVtbl _IAccessibleImageStubVtbl =
-{
- &IID_IAccessibleImage,
- &IAccessibleImage_ServerInfo,
- 6,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleImage__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleImage_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleImageProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleImage_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleImageStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleImage_InterfaceNamesList[] =
-{
- "IAccessibleImage",
- 0
-};
-
-
-#define _AccessibleImage_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleImage, pIID, n)
-
-int __stdcall _AccessibleImage_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleImage_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleImage_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleImage_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleImage_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleImage_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleImage_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation.h
deleted file mode 100644
index e153cd8476..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation.h
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:58 2012
- */
-/* Compiler settings for AccessibleRelation.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleRelation_h__
-#define __AccessibleRelation_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleRelation_FWD_DEFINED__
-#define __IAccessibleRelation_FWD_DEFINED__
-typedef interface IAccessibleRelation IAccessibleRelation;
-#endif /* __IAccessibleRelation_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleRelation_0000_0000 */
-/* [local] */
-
-#define IA2_RELATION_CONTROLLED_BY ( L"controlledBy" )
-
-#define IA2_RELATION_CONTROLLER_FOR ( L"controllerFor" )
-
-#define IA2_RELATION_DESCRIBED_BY ( L"describedBy" )
-
-#define IA2_RELATION_DESCRIPTION_FOR ( L"descriptionFor" )
-
-#define IA2_RELATION_EMBEDDED_BY ( L"embeddedBy" )
-
-#define IA2_RELATION_EMBEDS ( L"embeds" )
-
-#define IA2_RELATION_FLOWS_FROM ( L"flowsFrom" )
-
-#define IA2_RELATION_FLOWS_TO ( L"flowsTo" )
-
-#define IA2_RELATION_LABEL_FOR ( L"labelFor" )
-
-#define IA2_RELATION_LABELED_BY ( L"labelledBy" )
-
-#define IA2_RELATION_LABELLED_BY ( L"labelledBy" )
-
-#define IA2_RELATION_MEMBER_OF ( L"memberOf" )
-
-#define IA2_RELATION_NODE_CHILD_OF ( L"nodeChildOf" )
-
-#define IA2_RELATION_PARENT_WINDOW_OF ( L"parentWindowOf" )
-
-#define IA2_RELATION_POPUP_FOR ( L"popupFor" )
-
-#define IA2_RELATION_SUBWINDOW_OF ( L"subwindowOf" )
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleRelation_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleRelation_0000_0000_v0_0_s_ifspec;
-
-#ifndef __IAccessibleRelation_INTERFACE_DEFINED__
-#define __IAccessibleRelation_INTERFACE_DEFINED__
-
-/* interface IAccessibleRelation */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleRelation;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("7CDF86EE-C3DA-496a-BDA4-281B336E1FDC")
- IAccessibleRelation : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationType(
- /* [retval][out] */ BSTR *relationType) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedRelationType(
- /* [retval][out] */ BSTR *localizedRelationType) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nTargets(
- /* [retval][out] */ long *nTargets) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_target(
- /* [in] */ long targetIndex,
- /* [retval][out] */ IUnknown **target) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targets(
- /* [in] */ long maxTargets,
- /* [length_is][size_is][out] */ IUnknown **targets,
- /* [retval][out] */ long *nTargets) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleRelationVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleRelation * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleRelation * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleRelation * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationType )(
- IAccessibleRelation * This,
- /* [retval][out] */ BSTR *relationType);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedRelationType )(
- IAccessibleRelation * This,
- /* [retval][out] */ BSTR *localizedRelationType);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nTargets )(
- IAccessibleRelation * This,
- /* [retval][out] */ long *nTargets);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )(
- IAccessibleRelation * This,
- /* [in] */ long targetIndex,
- /* [retval][out] */ IUnknown **target);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targets )(
- IAccessibleRelation * This,
- /* [in] */ long maxTargets,
- /* [length_is][size_is][out] */ IUnknown **targets,
- /* [retval][out] */ long *nTargets);
-
- END_INTERFACE
- } IAccessibleRelationVtbl;
-
- interface IAccessibleRelation
- {
- CONST_VTBL struct IAccessibleRelationVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleRelation_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleRelation_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleRelation_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleRelation_get_relationType(This,relationType) \
- ( (This)->lpVtbl -> get_relationType(This,relationType) )
-
-#define IAccessibleRelation_get_localizedRelationType(This,localizedRelationType) \
- ( (This)->lpVtbl -> get_localizedRelationType(This,localizedRelationType) )
-
-#define IAccessibleRelation_get_nTargets(This,nTargets) \
- ( (This)->lpVtbl -> get_nTargets(This,nTargets) )
-
-#define IAccessibleRelation_get_target(This,targetIndex,target) \
- ( (This)->lpVtbl -> get_target(This,targetIndex,target) )
-
-#define IAccessibleRelation_get_targets(This,maxTargets,targets,nTargets) \
- ( (This)->lpVtbl -> get_targets(This,maxTargets,targets,nTargets) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleRelation_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_i.c
deleted file mode 100644
index 2ab3837a27..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:58 2012
- */
-/* Compiler settings for AccessibleRelation.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleRelation,0x7CDF86EE,0xC3DA,0x496a,0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_p.c
deleted file mode 100644
index e02cf7254c..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_p.c
+++ /dev/null
@@ -1,520 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:58 2012
- */
-/* Compiler settings for AccessibleRelation.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleRelation.h"
-
-#define TYPE_FORMAT_STRING_SIZE 95
-#define PROC_FORMAT_STRING_SIZE 209
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleRelation_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleRelation_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleRelation_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleRelation_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleRelation_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleRelation_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleRelation_MIDL_TYPE_FORMAT_STRING AccessibleRelation__MIDL_TypeFormatString;
-extern const AccessibleRelation_MIDL_PROC_FORMAT_STRING AccessibleRelation__MIDL_ProcFormatString;
-extern const AccessibleRelation_MIDL_EXPR_FORMAT_STRING AccessibleRelation__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleRelation_MIDL_PROC_FORMAT_STRING AccessibleRelation__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_relationType */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 18 */ NdrFcShort( 0x1 ), /* 1 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter relationType */
-
-/* 26 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_localizedRelationType */
-
-/* 38 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 40 */ NdrFcLong( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0x4 ), /* 4 */
-/* 46 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 48 */ NdrFcShort( 0x0 ), /* 0 */
-/* 50 */ NdrFcShort( 0x8 ), /* 8 */
-/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 54 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 56 */ NdrFcShort( 0x1 ), /* 1 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter localizedRelationType */
-
-/* 64 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 68 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 70 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 74 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nTargets */
-
-/* 76 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 78 */ NdrFcLong( 0x0 ), /* 0 */
-/* 82 */ NdrFcShort( 0x5 ), /* 5 */
-/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 86 */ NdrFcShort( 0x0 ), /* 0 */
-/* 88 */ NdrFcShort( 0x24 ), /* 36 */
-/* 90 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 92 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 94 */ NdrFcShort( 0x0 ), /* 0 */
-/* 96 */ NdrFcShort( 0x0 ), /* 0 */
-/* 98 */ NdrFcShort( 0x0 ), /* 0 */
-/* 100 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nTargets */
-
-/* 102 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 106 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 110 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_target */
-
-/* 114 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 116 */ NdrFcLong( 0x0 ), /* 0 */
-/* 120 */ NdrFcShort( 0x6 ), /* 6 */
-/* 122 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 124 */ NdrFcShort( 0x8 ), /* 8 */
-/* 126 */ NdrFcShort( 0x8 ), /* 8 */
-/* 128 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 130 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 132 */ NdrFcShort( 0x0 ), /* 0 */
-/* 134 */ NdrFcShort( 0x0 ), /* 0 */
-/* 136 */ NdrFcShort( 0x0 ), /* 0 */
-/* 138 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter targetIndex */
-
-/* 140 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 142 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 144 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter target */
-
-/* 146 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 148 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 150 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
-
- /* Return value */
-
-/* 152 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 154 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 156 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_targets */
-
-/* 158 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 160 */ NdrFcLong( 0x0 ), /* 0 */
-/* 164 */ NdrFcShort( 0x7 ), /* 7 */
-/* 166 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 168 */ NdrFcShort( 0x8 ), /* 8 */
-/* 170 */ NdrFcShort( 0x24 ), /* 36 */
-/* 172 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 174 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 176 */ NdrFcShort( 0x1 ), /* 1 */
-/* 178 */ NdrFcShort( 0x0 ), /* 0 */
-/* 180 */ NdrFcShort( 0x0 ), /* 0 */
-/* 182 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxTargets */
-
-/* 184 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 186 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 188 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter targets */
-
-/* 190 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */
-/* 192 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 194 */ NdrFcShort( 0x48 ), /* Type Offset=72 */
-
- /* Parameter nTargets */
-
-/* 196 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 198 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 200 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 202 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 204 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 206 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleRelation_MIDL_TYPE_FORMAT_STRING AccessibleRelation__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */
-/* 6 */
- 0x13, 0x0, /* FC_OP */
-/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */
-/* 10 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 12 */ NdrFcShort( 0x2 ), /* 2 */
-/* 14 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 16 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 20 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 22 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 24 */ NdrFcShort( 0x8 ), /* 8 */
-/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */
-/* 28 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 30 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 32 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ NdrFcShort( 0x8 ), /* 8 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */
-/* 42 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 44 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 46 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */
-/* 50 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 52 */ NdrFcLong( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-/* 60 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 62 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 64 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 66 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 68 */
- 0x11, 0x0, /* FC_RP */
-/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */
-/* 72 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 74 */ NdrFcShort( 0x0 ), /* 0 */
-/* 76 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x0, /* */
-/* 78 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 80 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 82 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 86 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 88 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 90 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (50) */
-/* 92 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Standard interface: __MIDL_itf_AccessibleRelation_0000_0000, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleRelation, ver. 0.0,
- GUID={0x7CDF86EE,0xC3DA,0x496a,{0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleRelation_FormatStringOffsetTable[] =
- {
- 0,
- 38,
- 76,
- 114,
- 158
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleRelation__MIDL_ProcFormatString.Format,
- &IAccessibleRelation_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleRelation__MIDL_ProcFormatString.Format,
- &IAccessibleRelation_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(8) _IAccessibleRelationProxyVtbl =
-{
- &IAccessibleRelation_ProxyInfo,
- &IID_IAccessibleRelation,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleRelation::get_relationType */ ,
- (void *) (INT_PTR) -1 /* IAccessibleRelation::get_localizedRelationType */ ,
- (void *) (INT_PTR) -1 /* IAccessibleRelation::get_nTargets */ ,
- (void *) (INT_PTR) -1 /* IAccessibleRelation::get_target */ ,
- (void *) (INT_PTR) -1 /* IAccessibleRelation::get_targets */
-};
-
-const CInterfaceStubVtbl _IAccessibleRelationStubVtbl =
-{
- &IID_IAccessibleRelation,
- &IAccessibleRelation_ServerInfo,
- 8,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleRelation__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleRelation_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleRelationProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleRelation_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleRelationStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleRelation_InterfaceNamesList[] =
-{
- "IAccessibleRelation",
- 0
-};
-
-
-#define _AccessibleRelation_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleRelation, pIID, n)
-
-int __stdcall _AccessibleRelation_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleRelation_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleRelation_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleRelation_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleRelation_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleRelation_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleRelation_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRole.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRole.h
deleted file mode 100644
index bee6466b7c..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRole.h
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:59 2012
- */
-/* Compiler settings for AccessibleRole.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-
-#ifndef __AccessibleRole_h__
-#define __AccessibleRole_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-/* header files for imported files */
-#include "objidl.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleRole_0000_0000 */
-/* [local] */
-
-
-enum IA2Role
- { IA2_ROLE_UNKNOWN = 0,
- IA2_ROLE_CANVAS = 0x401,
- IA2_ROLE_CAPTION = ( IA2_ROLE_CANVAS + 1 ) ,
- IA2_ROLE_CHECK_MENU_ITEM = ( IA2_ROLE_CAPTION + 1 ) ,
- IA2_ROLE_COLOR_CHOOSER = ( IA2_ROLE_CHECK_MENU_ITEM + 1 ) ,
- IA2_ROLE_DATE_EDITOR = ( IA2_ROLE_COLOR_CHOOSER + 1 ) ,
- IA2_ROLE_DESKTOP_ICON = ( IA2_ROLE_DATE_EDITOR + 1 ) ,
- IA2_ROLE_DESKTOP_PANE = ( IA2_ROLE_DESKTOP_ICON + 1 ) ,
- IA2_ROLE_DIRECTORY_PANE = ( IA2_ROLE_DESKTOP_PANE + 1 ) ,
- IA2_ROLE_EDITBAR = ( IA2_ROLE_DIRECTORY_PANE + 1 ) ,
- IA2_ROLE_EMBEDDED_OBJECT = ( IA2_ROLE_EDITBAR + 1 ) ,
- IA2_ROLE_ENDNOTE = ( IA2_ROLE_EMBEDDED_OBJECT + 1 ) ,
- IA2_ROLE_FILE_CHOOSER = ( IA2_ROLE_ENDNOTE + 1 ) ,
- IA2_ROLE_FONT_CHOOSER = ( IA2_ROLE_FILE_CHOOSER + 1 ) ,
- IA2_ROLE_FOOTER = ( IA2_ROLE_FONT_CHOOSER + 1 ) ,
- IA2_ROLE_FOOTNOTE = ( IA2_ROLE_FOOTER + 1 ) ,
- IA2_ROLE_FORM = ( IA2_ROLE_FOOTNOTE + 1 ) ,
- IA2_ROLE_FRAME = ( IA2_ROLE_FORM + 1 ) ,
- IA2_ROLE_GLASS_PANE = ( IA2_ROLE_FRAME + 1 ) ,
- IA2_ROLE_HEADER = ( IA2_ROLE_GLASS_PANE + 1 ) ,
- IA2_ROLE_HEADING = ( IA2_ROLE_HEADER + 1 ) ,
- IA2_ROLE_ICON = ( IA2_ROLE_HEADING + 1 ) ,
- IA2_ROLE_IMAGE_MAP = ( IA2_ROLE_ICON + 1 ) ,
- IA2_ROLE_INPUT_METHOD_WINDOW = ( IA2_ROLE_IMAGE_MAP + 1 ) ,
- IA2_ROLE_INTERNAL_FRAME = ( IA2_ROLE_INPUT_METHOD_WINDOW + 1 ) ,
- IA2_ROLE_LABEL = ( IA2_ROLE_INTERNAL_FRAME + 1 ) ,
- IA2_ROLE_LAYERED_PANE = ( IA2_ROLE_LABEL + 1 ) ,
- IA2_ROLE_NOTE = ( IA2_ROLE_LAYERED_PANE + 1 ) ,
- IA2_ROLE_OPTION_PANE = ( IA2_ROLE_NOTE + 1 ) ,
- IA2_ROLE_PAGE = ( IA2_ROLE_OPTION_PANE + 1 ) ,
- IA2_ROLE_PARAGRAPH = ( IA2_ROLE_PAGE + 1 ) ,
- IA2_ROLE_RADIO_MENU_ITEM = ( IA2_ROLE_PARAGRAPH + 1 ) ,
- IA2_ROLE_REDUNDANT_OBJECT = ( IA2_ROLE_RADIO_MENU_ITEM + 1 ) ,
- IA2_ROLE_ROOT_PANE = ( IA2_ROLE_REDUNDANT_OBJECT + 1 ) ,
- IA2_ROLE_RULER = ( IA2_ROLE_ROOT_PANE + 1 ) ,
- IA2_ROLE_SCROLL_PANE = ( IA2_ROLE_RULER + 1 ) ,
- IA2_ROLE_SECTION = ( IA2_ROLE_SCROLL_PANE + 1 ) ,
- IA2_ROLE_SHAPE = ( IA2_ROLE_SECTION + 1 ) ,
- IA2_ROLE_SPLIT_PANE = ( IA2_ROLE_SHAPE + 1 ) ,
- IA2_ROLE_TEAR_OFF_MENU = ( IA2_ROLE_SPLIT_PANE + 1 ) ,
- IA2_ROLE_TERMINAL = ( IA2_ROLE_TEAR_OFF_MENU + 1 ) ,
- IA2_ROLE_TEXT_FRAME = ( IA2_ROLE_TERMINAL + 1 ) ,
- IA2_ROLE_TOGGLE_BUTTON = ( IA2_ROLE_TEXT_FRAME + 1 ) ,
- IA2_ROLE_VIEW_PORT = ( IA2_ROLE_TOGGLE_BUTTON + 1 ) ,
- IA2_ROLE_COMPLEMENTARY_CONTENT = ( IA2_ROLE_VIEW_PORT + 1 )
- } ;
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleRole_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleRole_0000_0000_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleStates.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleStates.h
deleted file mode 100644
index fbb6ff99b3..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleStates.h
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:59 2012
- */
-/* Compiler settings for AccessibleStates.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-
-#ifndef __AccessibleStates_h__
-#define __AccessibleStates_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-/* header files for imported files */
-#include "objidl.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleStates_0000_0000 */
-/* [local] */
-
-typedef long AccessibleStates;
-
-
-enum IA2States
- { IA2_STATE_ACTIVE = 0x1,
- IA2_STATE_ARMED = 0x2,
- IA2_STATE_DEFUNCT = 0x4,
- IA2_STATE_EDITABLE = 0x8,
- IA2_STATE_HORIZONTAL = 0x10,
- IA2_STATE_ICONIFIED = 0x20,
- IA2_STATE_INVALID_ENTRY = 0x40,
- IA2_STATE_MANAGES_DESCENDANTS = 0x80,
- IA2_STATE_MODAL = 0x100,
- IA2_STATE_MULTI_LINE = 0x200,
- IA2_STATE_OPAQUE = 0x400,
- IA2_STATE_REQUIRED = 0x800,
- IA2_STATE_SELECTABLE_TEXT = 0x1000,
- IA2_STATE_SINGLE_LINE = 0x2000,
- IA2_STATE_STALE = 0x4000,
- IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000,
- IA2_STATE_TRANSIENT = 0x10000,
- IA2_STATE_VERTICAL = 0x20000,
- IA2_STATE_CHECKABLE = 0x40000,
- IA2_STATE_PINNED = 0x80000
- } ;
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleStates_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleStates_0000_0000_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable.h
deleted file mode 100644
index fb9c7478a1..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable.h
+++ /dev/null
@@ -1,497 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:59 2012
- */
-/* Compiler settings for AccessibleTable.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleTable_h__
-#define __AccessibleTable_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleTable_FWD_DEFINED__
-#define __IAccessibleTable_FWD_DEFINED__
-typedef interface IAccessibleTable IAccessibleTable;
-#endif /* __IAccessibleTable_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "Accessible2.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleTable_INTERFACE_DEFINED__
-#define __IAccessibleTable_INTERFACE_DEFINED__
-
-/* interface IAccessibleTable */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleTable;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("35AD8070-C20C-4fb4-B094-F4F7275DD469")
- IAccessibleTable : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt(
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ IUnknown **accessible) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
- /* [retval][out] */ IUnknown **accessible) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex(
- /* [in] */ long rowIndex,
- /* [in] */ long columnIndex,
- /* [retval][out] */ long *cellIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
- /* [in] */ long column,
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt(
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ long *nColumnsSpanned) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader(
- /* [out] */ IAccessibleTable **accessibleTable,
- /* [retval][out] */ long *startingRowIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
- /* [in] */ long cellIndex,
- /* [retval][out] */ long *columnIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
- /* [retval][out] */ long *columnCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
- /* [retval][out] */ long *rowCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren(
- /* [retval][out] */ long *cellCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
- /* [retval][out] */ long *columnCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
- /* [retval][out] */ long *rowCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
- /* [in] */ long row,
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt(
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ long *nRowsSpanned) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader(
- /* [out] */ IAccessibleTable **accessibleTable,
- /* [retval][out] */ long *startingColumnIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
- /* [in] */ long cellIndex,
- /* [retval][out] */ long *rowIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren(
- /* [in] */ long maxChildren,
- /* [length_is][length_is][size_is][size_is][out] */ long **children,
- /* [retval][out] */ long *nChildren) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
- /* [in] */ long maxColumns,
- /* [length_is][length_is][size_is][size_is][out] */ long **columns,
- /* [retval][out] */ long *nColumns) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
- /* [in] */ long maxRows,
- /* [length_is][length_is][size_is][size_is][out] */ long **rows,
- /* [retval][out] */ long *nRows) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
- /* [retval][out] */ IUnknown **accessible) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
- /* [in] */ long row,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE selectRow(
- /* [in] */ long row) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE selectColumn(
- /* [in] */ long column) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE unselectRow(
- /* [in] */ long row) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE unselectColumn(
- /* [in] */ long column) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex(
- /* [in] */ long index,
- /* [out] */ long *row,
- /* [out] */ long *column,
- /* [out] */ long *rowExtents,
- /* [out] */ long *columnExtents,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
- /* [retval][out] */ IA2TableModelChange *modelChange) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleTableVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleTable * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleTable * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleTable * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleAt )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ IUnknown **accessible);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )(
- IAccessibleTable * This,
- /* [retval][out] */ IUnknown **accessible);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_childIndex )(
- IAccessibleTable * This,
- /* [in] */ long rowIndex,
- /* [in] */ long columnIndex,
- /* [retval][out] */ long *cellIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )(
- IAccessibleTable * This,
- /* [in] */ long column,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtentAt )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ long *nColumnsSpanned);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeader )(
- IAccessibleTable * This,
- /* [out] */ IAccessibleTable **accessibleTable,
- /* [retval][out] */ long *startingRowIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )(
- IAccessibleTable * This,
- /* [in] */ long cellIndex,
- /* [retval][out] */ long *columnIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )(
- IAccessibleTable * This,
- /* [retval][out] */ long *columnCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )(
- IAccessibleTable * This,
- /* [retval][out] */ long *rowCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedChildren )(
- IAccessibleTable * This,
- /* [retval][out] */ long *cellCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )(
- IAccessibleTable * This,
- /* [retval][out] */ long *columnCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )(
- IAccessibleTable * This,
- /* [retval][out] */ long *rowCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtentAt )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ long *nRowsSpanned);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeader )(
- IAccessibleTable * This,
- /* [out] */ IAccessibleTable **accessibleTable,
- /* [retval][out] */ long *startingColumnIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )(
- IAccessibleTable * This,
- /* [in] */ long cellIndex,
- /* [retval][out] */ long *rowIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedChildren )(
- IAccessibleTable * This,
- /* [in] */ long maxChildren,
- /* [length_is][length_is][size_is][size_is][out] */ long **children,
- /* [retval][out] */ long *nChildren);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )(
- IAccessibleTable * This,
- /* [in] */ long maxColumns,
- /* [length_is][length_is][size_is][size_is][out] */ long **columns,
- /* [retval][out] */ long *nColumns);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )(
- IAccessibleTable * This,
- /* [in] */ long maxRows,
- /* [length_is][length_is][size_is][size_is][out] */ long **rows,
- /* [retval][out] */ long *nRows);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )(
- IAccessibleTable * This,
- /* [retval][out] */ IUnknown **accessible);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )(
- IAccessibleTable * This,
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected);
-
- HRESULT ( STDMETHODCALLTYPE *selectRow )(
- IAccessibleTable * This,
- /* [in] */ long row);
-
- HRESULT ( STDMETHODCALLTYPE *selectColumn )(
- IAccessibleTable * This,
- /* [in] */ long column);
-
- HRESULT ( STDMETHODCALLTYPE *unselectRow )(
- IAccessibleTable * This,
- /* [in] */ long row);
-
- HRESULT ( STDMETHODCALLTYPE *unselectColumn )(
- IAccessibleTable * This,
- /* [in] */ long column);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtentsAtIndex )(
- IAccessibleTable * This,
- /* [in] */ long index,
- /* [out] */ long *row,
- /* [out] */ long *column,
- /* [out] */ long *rowExtents,
- /* [out] */ long *columnExtents,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )(
- IAccessibleTable * This,
- /* [retval][out] */ IA2TableModelChange *modelChange);
-
- END_INTERFACE
- } IAccessibleTableVtbl;
-
- interface IAccessibleTable
- {
- CONST_VTBL struct IAccessibleTableVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleTable_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleTable_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleTable_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleTable_get_accessibleAt(This,row,column,accessible) \
- ( (This)->lpVtbl -> get_accessibleAt(This,row,column,accessible) )
-
-#define IAccessibleTable_get_caption(This,accessible) \
- ( (This)->lpVtbl -> get_caption(This,accessible) )
-
-#define IAccessibleTable_get_childIndex(This,rowIndex,columnIndex,cellIndex) \
- ( (This)->lpVtbl -> get_childIndex(This,rowIndex,columnIndex,cellIndex) )
-
-#define IAccessibleTable_get_columnDescription(This,column,description) \
- ( (This)->lpVtbl -> get_columnDescription(This,column,description) )
-
-#define IAccessibleTable_get_columnExtentAt(This,row,column,nColumnsSpanned) \
- ( (This)->lpVtbl -> get_columnExtentAt(This,row,column,nColumnsSpanned) )
-
-#define IAccessibleTable_get_columnHeader(This,accessibleTable,startingRowIndex) \
- ( (This)->lpVtbl -> get_columnHeader(This,accessibleTable,startingRowIndex) )
-
-#define IAccessibleTable_get_columnIndex(This,cellIndex,columnIndex) \
- ( (This)->lpVtbl -> get_columnIndex(This,cellIndex,columnIndex) )
-
-#define IAccessibleTable_get_nColumns(This,columnCount) \
- ( (This)->lpVtbl -> get_nColumns(This,columnCount) )
-
-#define IAccessibleTable_get_nRows(This,rowCount) \
- ( (This)->lpVtbl -> get_nRows(This,rowCount) )
-
-#define IAccessibleTable_get_nSelectedChildren(This,cellCount) \
- ( (This)->lpVtbl -> get_nSelectedChildren(This,cellCount) )
-
-#define IAccessibleTable_get_nSelectedColumns(This,columnCount) \
- ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) )
-
-#define IAccessibleTable_get_nSelectedRows(This,rowCount) \
- ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) )
-
-#define IAccessibleTable_get_rowDescription(This,row,description) \
- ( (This)->lpVtbl -> get_rowDescription(This,row,description) )
-
-#define IAccessibleTable_get_rowExtentAt(This,row,column,nRowsSpanned) \
- ( (This)->lpVtbl -> get_rowExtentAt(This,row,column,nRowsSpanned) )
-
-#define IAccessibleTable_get_rowHeader(This,accessibleTable,startingColumnIndex) \
- ( (This)->lpVtbl -> get_rowHeader(This,accessibleTable,startingColumnIndex) )
-
-#define IAccessibleTable_get_rowIndex(This,cellIndex,rowIndex) \
- ( (This)->lpVtbl -> get_rowIndex(This,cellIndex,rowIndex) )
-
-#define IAccessibleTable_get_selectedChildren(This,maxChildren,children,nChildren) \
- ( (This)->lpVtbl -> get_selectedChildren(This,maxChildren,children,nChildren) )
-
-#define IAccessibleTable_get_selectedColumns(This,maxColumns,columns,nColumns) \
- ( (This)->lpVtbl -> get_selectedColumns(This,maxColumns,columns,nColumns) )
-
-#define IAccessibleTable_get_selectedRows(This,maxRows,rows,nRows) \
- ( (This)->lpVtbl -> get_selectedRows(This,maxRows,rows,nRows) )
-
-#define IAccessibleTable_get_summary(This,accessible) \
- ( (This)->lpVtbl -> get_summary(This,accessible) )
-
-#define IAccessibleTable_get_isColumnSelected(This,column,isSelected) \
- ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) )
-
-#define IAccessibleTable_get_isRowSelected(This,row,isSelected) \
- ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) )
-
-#define IAccessibleTable_get_isSelected(This,row,column,isSelected) \
- ( (This)->lpVtbl -> get_isSelected(This,row,column,isSelected) )
-
-#define IAccessibleTable_selectRow(This,row) \
- ( (This)->lpVtbl -> selectRow(This,row) )
-
-#define IAccessibleTable_selectColumn(This,column) \
- ( (This)->lpVtbl -> selectColumn(This,column) )
-
-#define IAccessibleTable_unselectRow(This,row) \
- ( (This)->lpVtbl -> unselectRow(This,row) )
-
-#define IAccessibleTable_unselectColumn(This,column) \
- ( (This)->lpVtbl -> unselectColumn(This,column) )
-
-#define IAccessibleTable_get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) \
- ( (This)->lpVtbl -> get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) )
-
-#define IAccessibleTable_get_modelChange(This,modelChange) \
- ( (This)->lpVtbl -> get_modelChange(This,modelChange) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleTable_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2.h
deleted file mode 100644
index eeacb21515..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2.h
+++ /dev/null
@@ -1,367 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:59 2012
- */
-/* Compiler settings for AccessibleTable2.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleTable2_h__
-#define __AccessibleTable2_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleTable2_FWD_DEFINED__
-#define __IAccessibleTable2_FWD_DEFINED__
-typedef interface IAccessibleTable2 IAccessibleTable2;
-#endif /* __IAccessibleTable2_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "Accessible2.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleTable2_INTERFACE_DEFINED__
-#define __IAccessibleTable2_INTERFACE_DEFINED__
-
-/* interface IAccessibleTable2 */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleTable2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6167f295-06f0-4cdd-a1fa-02e25153d869")
- IAccessibleTable2 : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt(
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ IUnknown **cell) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
- /* [retval][out] */ IUnknown **accessible) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
- /* [in] */ long column,
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
- /* [retval][out] */ long *columnCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
- /* [retval][out] */ long *rowCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells(
- /* [retval][out] */ long *cellCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
- /* [retval][out] */ long *columnCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
- /* [retval][out] */ long *rowCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
- /* [in] */ long row,
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells(
- /* [size_is][size_is][size_is][out] */ IUnknown ***cells,
- /* [retval][out] */ long *nSelectedCells) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
- /* [size_is][size_is][out] */ long **selectedColumns,
- /* [retval][out] */ long *nColumns) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
- /* [size_is][size_is][out] */ long **selectedRows,
- /* [retval][out] */ long *nRows) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
- /* [retval][out] */ IUnknown **accessible) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
- /* [in] */ long row,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE selectRow(
- /* [in] */ long row) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE selectColumn(
- /* [in] */ long column) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE unselectRow(
- /* [in] */ long row) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE unselectColumn(
- /* [in] */ long column) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
- /* [retval][out] */ IA2TableModelChange *modelChange) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleTable2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleTable2 * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleTable2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleTable2 * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellAt )(
- IAccessibleTable2 * This,
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ IUnknown **cell);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )(
- IAccessibleTable2 * This,
- /* [retval][out] */ IUnknown **accessible);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )(
- IAccessibleTable2 * This,
- /* [in] */ long column,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )(
- IAccessibleTable2 * This,
- /* [retval][out] */ long *columnCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )(
- IAccessibleTable2 * This,
- /* [retval][out] */ long *rowCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedCells )(
- IAccessibleTable2 * This,
- /* [retval][out] */ long *cellCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )(
- IAccessibleTable2 * This,
- /* [retval][out] */ long *columnCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )(
- IAccessibleTable2 * This,
- /* [retval][out] */ long *rowCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )(
- IAccessibleTable2 * This,
- /* [in] */ long row,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedCells )(
- IAccessibleTable2 * This,
- /* [size_is][size_is][size_is][out] */ IUnknown ***cells,
- /* [retval][out] */ long *nSelectedCells);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )(
- IAccessibleTable2 * This,
- /* [size_is][size_is][out] */ long **selectedColumns,
- /* [retval][out] */ long *nColumns);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )(
- IAccessibleTable2 * This,
- /* [size_is][size_is][out] */ long **selectedRows,
- /* [retval][out] */ long *nRows);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )(
- IAccessibleTable2 * This,
- /* [retval][out] */ IUnknown **accessible);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )(
- IAccessibleTable2 * This,
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )(
- IAccessibleTable2 * This,
- /* [in] */ long row,
- /* [retval][out] */ boolean *isSelected);
-
- HRESULT ( STDMETHODCALLTYPE *selectRow )(
- IAccessibleTable2 * This,
- /* [in] */ long row);
-
- HRESULT ( STDMETHODCALLTYPE *selectColumn )(
- IAccessibleTable2 * This,
- /* [in] */ long column);
-
- HRESULT ( STDMETHODCALLTYPE *unselectRow )(
- IAccessibleTable2 * This,
- /* [in] */ long row);
-
- HRESULT ( STDMETHODCALLTYPE *unselectColumn )(
- IAccessibleTable2 * This,
- /* [in] */ long column);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )(
- IAccessibleTable2 * This,
- /* [retval][out] */ IA2TableModelChange *modelChange);
-
- END_INTERFACE
- } IAccessibleTable2Vtbl;
-
- interface IAccessibleTable2
- {
- CONST_VTBL struct IAccessibleTable2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleTable2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleTable2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleTable2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleTable2_get_cellAt(This,row,column,cell) \
- ( (This)->lpVtbl -> get_cellAt(This,row,column,cell) )
-
-#define IAccessibleTable2_get_caption(This,accessible) \
- ( (This)->lpVtbl -> get_caption(This,accessible) )
-
-#define IAccessibleTable2_get_columnDescription(This,column,description) \
- ( (This)->lpVtbl -> get_columnDescription(This,column,description) )
-
-#define IAccessibleTable2_get_nColumns(This,columnCount) \
- ( (This)->lpVtbl -> get_nColumns(This,columnCount) )
-
-#define IAccessibleTable2_get_nRows(This,rowCount) \
- ( (This)->lpVtbl -> get_nRows(This,rowCount) )
-
-#define IAccessibleTable2_get_nSelectedCells(This,cellCount) \
- ( (This)->lpVtbl -> get_nSelectedCells(This,cellCount) )
-
-#define IAccessibleTable2_get_nSelectedColumns(This,columnCount) \
- ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) )
-
-#define IAccessibleTable2_get_nSelectedRows(This,rowCount) \
- ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) )
-
-#define IAccessibleTable2_get_rowDescription(This,row,description) \
- ( (This)->lpVtbl -> get_rowDescription(This,row,description) )
-
-#define IAccessibleTable2_get_selectedCells(This,cells,nSelectedCells) \
- ( (This)->lpVtbl -> get_selectedCells(This,cells,nSelectedCells) )
-
-#define IAccessibleTable2_get_selectedColumns(This,selectedColumns,nColumns) \
- ( (This)->lpVtbl -> get_selectedColumns(This,selectedColumns,nColumns) )
-
-#define IAccessibleTable2_get_selectedRows(This,selectedRows,nRows) \
- ( (This)->lpVtbl -> get_selectedRows(This,selectedRows,nRows) )
-
-#define IAccessibleTable2_get_summary(This,accessible) \
- ( (This)->lpVtbl -> get_summary(This,accessible) )
-
-#define IAccessibleTable2_get_isColumnSelected(This,column,isSelected) \
- ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) )
-
-#define IAccessibleTable2_get_isRowSelected(This,row,isSelected) \
- ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) )
-
-#define IAccessibleTable2_selectRow(This,row) \
- ( (This)->lpVtbl -> selectRow(This,row) )
-
-#define IAccessibleTable2_selectColumn(This,column) \
- ( (This)->lpVtbl -> selectColumn(This,column) )
-
-#define IAccessibleTable2_unselectRow(This,row) \
- ( (This)->lpVtbl -> unselectRow(This,row) )
-
-#define IAccessibleTable2_unselectColumn(This,column) \
- ( (This)->lpVtbl -> unselectColumn(This,column) )
-
-#define IAccessibleTable2_get_modelChange(This,modelChange) \
- ( (This)->lpVtbl -> get_modelChange(This,modelChange) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleTable2_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_i.c
deleted file mode 100644
index 56e5f31fc0..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:59 2012
- */
-/* Compiler settings for AccessibleTable2.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleTable2,0x6167f295,0x06f0,0x4cdd,0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_p.c
deleted file mode 100644
index 02c603fde9..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_p.c
+++ /dev/null
@@ -1,1099 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:59 2012
- */
-/* Compiler settings for AccessibleTable2.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleTable2.h"
-
-#define TYPE_FORMAT_STRING_SIZE 141
-#define PROC_FORMAT_STRING_SIZE 815
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleTable2_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleTable2_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleTable2_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleTable2_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleTable2_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleTable2_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleTable2_MIDL_TYPE_FORMAT_STRING AccessibleTable2__MIDL_TypeFormatString;
-extern const AccessibleTable2_MIDL_PROC_FORMAT_STRING AccessibleTable2__MIDL_ProcFormatString;
-extern const AccessibleTable2_MIDL_EXPR_FORMAT_STRING AccessibleTable2__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleTable2_MIDL_PROC_FORMAT_STRING AccessibleTable2__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_cellAt */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 10 */ NdrFcShort( 0x10 ), /* 16 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 16 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 26 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 32 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter cell */
-
-/* 38 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 42 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 44 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 46 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 48 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_caption */
-
-/* 50 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 52 */ NdrFcLong( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x4 ), /* 4 */
-/* 58 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x8 ), /* 8 */
-/* 64 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 66 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 68 */ NdrFcShort( 0x0 ), /* 0 */
-/* 70 */ NdrFcShort( 0x0 ), /* 0 */
-/* 72 */ NdrFcShort( 0x0 ), /* 0 */
-/* 74 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessible */
-
-/* 76 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 78 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 80 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 82 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 84 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 86 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnDescription */
-
-/* 88 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 90 */ NdrFcLong( 0x0 ), /* 0 */
-/* 94 */ NdrFcShort( 0x5 ), /* 5 */
-/* 96 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 98 */ NdrFcShort( 0x8 ), /* 8 */
-/* 100 */ NdrFcShort( 0x8 ), /* 8 */
-/* 102 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 104 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 106 */ NdrFcShort( 0x1 ), /* 1 */
-/* 108 */ NdrFcShort( 0x0 ), /* 0 */
-/* 110 */ NdrFcShort( 0x0 ), /* 0 */
-/* 112 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 114 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 116 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter description */
-
-/* 120 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 122 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 124 */ NdrFcShort( 0x36 ), /* Type Offset=54 */
-
- /* Return value */
-
-/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 128 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 130 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nColumns */
-
-/* 132 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 134 */ NdrFcLong( 0x0 ), /* 0 */
-/* 138 */ NdrFcShort( 0x6 ), /* 6 */
-/* 140 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 142 */ NdrFcShort( 0x0 ), /* 0 */
-/* 144 */ NdrFcShort( 0x24 ), /* 36 */
-/* 146 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 148 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 150 */ NdrFcShort( 0x0 ), /* 0 */
-/* 152 */ NdrFcShort( 0x0 ), /* 0 */
-/* 154 */ NdrFcShort( 0x0 ), /* 0 */
-/* 156 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter columnCount */
-
-/* 158 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 160 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 162 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 164 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 166 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 168 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nRows */
-
-/* 170 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 172 */ NdrFcLong( 0x0 ), /* 0 */
-/* 176 */ NdrFcShort( 0x7 ), /* 7 */
-/* 178 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 180 */ NdrFcShort( 0x0 ), /* 0 */
-/* 182 */ NdrFcShort( 0x24 ), /* 36 */
-/* 184 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 186 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 188 */ NdrFcShort( 0x0 ), /* 0 */
-/* 190 */ NdrFcShort( 0x0 ), /* 0 */
-/* 192 */ NdrFcShort( 0x0 ), /* 0 */
-/* 194 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowCount */
-
-/* 196 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 198 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 200 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 202 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 204 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 206 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedCells */
-
-/* 208 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 210 */ NdrFcLong( 0x0 ), /* 0 */
-/* 214 */ NdrFcShort( 0x8 ), /* 8 */
-/* 216 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 218 */ NdrFcShort( 0x0 ), /* 0 */
-/* 220 */ NdrFcShort( 0x24 ), /* 36 */
-/* 222 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 224 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 226 */ NdrFcShort( 0x0 ), /* 0 */
-/* 228 */ NdrFcShort( 0x0 ), /* 0 */
-/* 230 */ NdrFcShort( 0x0 ), /* 0 */
-/* 232 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellCount */
-
-/* 234 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 236 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 238 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 240 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 242 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 244 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedColumns */
-
-/* 246 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 248 */ NdrFcLong( 0x0 ), /* 0 */
-/* 252 */ NdrFcShort( 0x9 ), /* 9 */
-/* 254 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 256 */ NdrFcShort( 0x0 ), /* 0 */
-/* 258 */ NdrFcShort( 0x24 ), /* 36 */
-/* 260 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 262 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 264 */ NdrFcShort( 0x0 ), /* 0 */
-/* 266 */ NdrFcShort( 0x0 ), /* 0 */
-/* 268 */ NdrFcShort( 0x0 ), /* 0 */
-/* 270 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter columnCount */
-
-/* 272 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 274 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 276 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 278 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 280 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 282 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedRows */
-
-/* 284 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 286 */ NdrFcLong( 0x0 ), /* 0 */
-/* 290 */ NdrFcShort( 0xa ), /* 10 */
-/* 292 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 294 */ NdrFcShort( 0x0 ), /* 0 */
-/* 296 */ NdrFcShort( 0x24 ), /* 36 */
-/* 298 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 300 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 302 */ NdrFcShort( 0x0 ), /* 0 */
-/* 304 */ NdrFcShort( 0x0 ), /* 0 */
-/* 306 */ NdrFcShort( 0x0 ), /* 0 */
-/* 308 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowCount */
-
-/* 310 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 312 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 314 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 316 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 318 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 320 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowDescription */
-
-/* 322 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 324 */ NdrFcLong( 0x0 ), /* 0 */
-/* 328 */ NdrFcShort( 0xb ), /* 11 */
-/* 330 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 332 */ NdrFcShort( 0x8 ), /* 8 */
-/* 334 */ NdrFcShort( 0x8 ), /* 8 */
-/* 336 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 338 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 340 */ NdrFcShort( 0x1 ), /* 1 */
-/* 342 */ NdrFcShort( 0x0 ), /* 0 */
-/* 344 */ NdrFcShort( 0x0 ), /* 0 */
-/* 346 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 348 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 350 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 352 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter description */
-
-/* 354 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 356 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 358 */ NdrFcShort( 0x36 ), /* Type Offset=54 */
-
- /* Return value */
-
-/* 360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 362 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 364 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedCells */
-
-/* 366 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 368 */ NdrFcLong( 0x0 ), /* 0 */
-/* 372 */ NdrFcShort( 0xc ), /* 12 */
-/* 374 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 376 */ NdrFcShort( 0x0 ), /* 0 */
-/* 378 */ NdrFcShort( 0x24 ), /* 36 */
-/* 380 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 382 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 384 */ NdrFcShort( 0x1 ), /* 1 */
-/* 386 */ NdrFcShort( 0x0 ), /* 0 */
-/* 388 */ NdrFcShort( 0x0 ), /* 0 */
-/* 390 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cells */
-
-/* 392 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 394 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 396 */ NdrFcShort( 0x44 ), /* Type Offset=68 */
-
- /* Parameter nSelectedCells */
-
-/* 398 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 400 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 402 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 404 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 406 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 408 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedColumns */
-
-/* 410 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 412 */ NdrFcLong( 0x0 ), /* 0 */
-/* 416 */ NdrFcShort( 0xd ), /* 13 */
-/* 418 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 420 */ NdrFcShort( 0x0 ), /* 0 */
-/* 422 */ NdrFcShort( 0x24 ), /* 36 */
-/* 424 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 426 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 428 */ NdrFcShort( 0x1 ), /* 1 */
-/* 430 */ NdrFcShort( 0x0 ), /* 0 */
-/* 432 */ NdrFcShort( 0x0 ), /* 0 */
-/* 434 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter selectedColumns */
-
-/* 436 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 438 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 440 */ NdrFcShort( 0x62 ), /* Type Offset=98 */
-
- /* Parameter nColumns */
-
-/* 442 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 444 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 446 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 448 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 450 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 452 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedRows */
-
-/* 454 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 456 */ NdrFcLong( 0x0 ), /* 0 */
-/* 460 */ NdrFcShort( 0xe ), /* 14 */
-/* 462 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 464 */ NdrFcShort( 0x0 ), /* 0 */
-/* 466 */ NdrFcShort( 0x24 ), /* 36 */
-/* 468 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 470 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 472 */ NdrFcShort( 0x1 ), /* 1 */
-/* 474 */ NdrFcShort( 0x0 ), /* 0 */
-/* 476 */ NdrFcShort( 0x0 ), /* 0 */
-/* 478 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter selectedRows */
-
-/* 480 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 482 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 484 */ NdrFcShort( 0x62 ), /* Type Offset=98 */
-
- /* Parameter nRows */
-
-/* 486 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 488 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 490 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 492 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 494 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 496 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_summary */
-
-/* 498 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 500 */ NdrFcLong( 0x0 ), /* 0 */
-/* 504 */ NdrFcShort( 0xf ), /* 15 */
-/* 506 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 508 */ NdrFcShort( 0x0 ), /* 0 */
-/* 510 */ NdrFcShort( 0x8 ), /* 8 */
-/* 512 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 514 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 516 */ NdrFcShort( 0x0 ), /* 0 */
-/* 518 */ NdrFcShort( 0x0 ), /* 0 */
-/* 520 */ NdrFcShort( 0x0 ), /* 0 */
-/* 522 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessible */
-
-/* 524 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 526 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 528 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 530 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 532 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 534 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isColumnSelected */
-
-/* 536 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 538 */ NdrFcLong( 0x0 ), /* 0 */
-/* 542 */ NdrFcShort( 0x10 ), /* 16 */
-/* 544 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 546 */ NdrFcShort( 0x8 ), /* 8 */
-/* 548 */ NdrFcShort( 0x21 ), /* 33 */
-/* 550 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 552 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 554 */ NdrFcShort( 0x0 ), /* 0 */
-/* 556 */ NdrFcShort( 0x0 ), /* 0 */
-/* 558 */ NdrFcShort( 0x0 ), /* 0 */
-/* 560 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 562 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 564 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 566 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 568 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 570 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 572 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 574 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 576 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 578 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isRowSelected */
-
-/* 580 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 582 */ NdrFcLong( 0x0 ), /* 0 */
-/* 586 */ NdrFcShort( 0x11 ), /* 17 */
-/* 588 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 590 */ NdrFcShort( 0x8 ), /* 8 */
-/* 592 */ NdrFcShort( 0x21 ), /* 33 */
-/* 594 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 596 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 598 */ NdrFcShort( 0x0 ), /* 0 */
-/* 600 */ NdrFcShort( 0x0 ), /* 0 */
-/* 602 */ NdrFcShort( 0x0 ), /* 0 */
-/* 604 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 606 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 608 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 610 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 612 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 614 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 616 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 618 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 620 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 622 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure selectRow */
-
-/* 624 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 626 */ NdrFcLong( 0x0 ), /* 0 */
-/* 630 */ NdrFcShort( 0x12 ), /* 18 */
-/* 632 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 634 */ NdrFcShort( 0x8 ), /* 8 */
-/* 636 */ NdrFcShort( 0x8 ), /* 8 */
-/* 638 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 640 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 642 */ NdrFcShort( 0x0 ), /* 0 */
-/* 644 */ NdrFcShort( 0x0 ), /* 0 */
-/* 646 */ NdrFcShort( 0x0 ), /* 0 */
-/* 648 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 650 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 652 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 654 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 656 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 658 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 660 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure selectColumn */
-
-/* 662 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 664 */ NdrFcLong( 0x0 ), /* 0 */
-/* 668 */ NdrFcShort( 0x13 ), /* 19 */
-/* 670 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 672 */ NdrFcShort( 0x8 ), /* 8 */
-/* 674 */ NdrFcShort( 0x8 ), /* 8 */
-/* 676 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 678 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 680 */ NdrFcShort( 0x0 ), /* 0 */
-/* 682 */ NdrFcShort( 0x0 ), /* 0 */
-/* 684 */ NdrFcShort( 0x0 ), /* 0 */
-/* 686 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 688 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 690 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 692 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 694 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 696 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 698 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure unselectRow */
-
-/* 700 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 702 */ NdrFcLong( 0x0 ), /* 0 */
-/* 706 */ NdrFcShort( 0x14 ), /* 20 */
-/* 708 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 710 */ NdrFcShort( 0x8 ), /* 8 */
-/* 712 */ NdrFcShort( 0x8 ), /* 8 */
-/* 714 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 716 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 718 */ NdrFcShort( 0x0 ), /* 0 */
-/* 720 */ NdrFcShort( 0x0 ), /* 0 */
-/* 722 */ NdrFcShort( 0x0 ), /* 0 */
-/* 724 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 726 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 728 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 730 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 732 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 734 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 736 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure unselectColumn */
-
-/* 738 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 740 */ NdrFcLong( 0x0 ), /* 0 */
-/* 744 */ NdrFcShort( 0x15 ), /* 21 */
-/* 746 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 748 */ NdrFcShort( 0x8 ), /* 8 */
-/* 750 */ NdrFcShort( 0x8 ), /* 8 */
-/* 752 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 754 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 756 */ NdrFcShort( 0x0 ), /* 0 */
-/* 758 */ NdrFcShort( 0x0 ), /* 0 */
-/* 760 */ NdrFcShort( 0x0 ), /* 0 */
-/* 762 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 764 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 766 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 768 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 770 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 772 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 774 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_modelChange */
-
-/* 776 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 778 */ NdrFcLong( 0x0 ), /* 0 */
-/* 782 */ NdrFcShort( 0x16 ), /* 22 */
-/* 784 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 786 */ NdrFcShort( 0x0 ), /* 0 */
-/* 788 */ NdrFcShort( 0x8 ), /* 8 */
-/* 790 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 792 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 794 */ NdrFcShort( 0x0 ), /* 0 */
-/* 796 */ NdrFcShort( 0x0 ), /* 0 */
-/* 798 */ NdrFcShort( 0x0 ), /* 0 */
-/* 800 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter modelChange */
-
-/* 802 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
-/* 804 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 806 */ NdrFcShort( 0x7e ), /* Type Offset=126 */
-
- /* Return value */
-
-/* 808 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 810 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 812 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleTable2_MIDL_TYPE_FORMAT_STRING AccessibleTable2__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 4 */ NdrFcShort( 0x2 ), /* Offset= 2 (6) */
-/* 6 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 8 */ NdrFcLong( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x0 ), /* 0 */
-/* 14 */ NdrFcShort( 0x0 ), /* 0 */
-/* 16 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 18 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 20 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 22 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 24 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 26 */ NdrFcShort( 0x1c ), /* Offset= 28 (54) */
-/* 28 */
- 0x13, 0x0, /* FC_OP */
-/* 30 */ NdrFcShort( 0xe ), /* Offset= 14 (44) */
-/* 32 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 34 */ NdrFcShort( 0x2 ), /* 2 */
-/* 36 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 38 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 40 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 42 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 44 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 46 */ NdrFcShort( 0x8 ), /* 8 */
-/* 48 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (32) */
-/* 50 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 52 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 54 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x8 ), /* 8 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0xffde ), /* Offset= -34 (28) */
-/* 64 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 66 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 68 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */
-/* 72 */
- 0x13, 0x0, /* FC_OP */
-/* 74 */ NdrFcShort( 0x2 ), /* Offset= 2 (76) */
-/* 76 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 78 */ NdrFcShort( 0x0 ), /* 0 */
-/* 80 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 82 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 84 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 86 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 90 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 92 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 94 */ NdrFcShort( 0xffa8 ), /* Offset= -88 (6) */
-/* 96 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 98 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */
-/* 102 */
- 0x13, 0x0, /* FC_OP */
-/* 104 */ NdrFcShort( 0x2 ), /* Offset= 2 (106) */
-/* 106 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 108 */ NdrFcShort( 0x4 ), /* 4 */
-/* 110 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 112 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 114 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 116 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 118 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 120 */ 0x3, /* FC_SMALL */
- 0x5c, /* FC_PAD */
-/* 122 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 124 */ NdrFcShort( 0x2 ), /* Offset= 2 (126) */
-/* 126 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 128 */ NdrFcShort( 0x14 ), /* 20 */
-/* 130 */ NdrFcShort( 0x0 ), /* 0 */
-/* 132 */ NdrFcShort( 0x0 ), /* Offset= 0 (132) */
-/* 134 */ 0xd, /* FC_ENUM16 */
- 0x8, /* FC_LONG */
-/* 136 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 138 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleTable2, ver. 0.0,
- GUID={0x6167f295,0x06f0,0x4cdd,{0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleTable2_FormatStringOffsetTable[] =
- {
- 0,
- 50,
- 88,
- 132,
- 170,
- 208,
- 246,
- 284,
- 322,
- 366,
- 410,
- 454,
- 498,
- 536,
- 580,
- 624,
- 662,
- 700,
- 738,
- 776
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleTable2__MIDL_ProcFormatString.Format,
- &IAccessibleTable2_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleTable2__MIDL_ProcFormatString.Format,
- &IAccessibleTable2_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(23) _IAccessibleTable2ProxyVtbl =
-{
- &IAccessibleTable2_ProxyInfo,
- &IID_IAccessibleTable2,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_cellAt */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_caption */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_columnDescription */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedCells */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_rowDescription */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedCells */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_summary */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isColumnSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isRowSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::selectRow */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::selectColumn */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectRow */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectColumn */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_modelChange */
-};
-
-const CInterfaceStubVtbl _IAccessibleTable2StubVtbl =
-{
- &IID_IAccessibleTable2,
- &IAccessibleTable2_ServerInfo,
- 23,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleTable2__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleTable2_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleTable2ProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleTable2_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleTable2StubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleTable2_InterfaceNamesList[] =
-{
- "IAccessibleTable2",
- 0
-};
-
-
-#define _AccessibleTable2_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTable2, pIID, n)
-
-int __stdcall _AccessibleTable2_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleTable2_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleTable2_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleTable2_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleTable2_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleTable2_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleTable2_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell.h
deleted file mode 100644
index 85648fcc7e..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell.h
+++ /dev/null
@@ -1,246 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for AccessibleTableCell.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleTableCell_h__
-#define __AccessibleTableCell_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleTableCell_FWD_DEFINED__
-#define __IAccessibleTableCell_FWD_DEFINED__
-typedef interface IAccessibleTableCell IAccessibleTableCell;
-#endif /* __IAccessibleTableCell_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "Accessible2.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleTableCell_INTERFACE_DEFINED__
-#define __IAccessibleTableCell_INTERFACE_DEFINED__
-
-/* interface IAccessibleTableCell */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleTableCell;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("594116B1-C99F-4847-AD06-0A7A86ECE645")
- IAccessibleTableCell : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtent(
- /* [retval][out] */ long *nColumnsSpanned) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeaderCells(
- /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles,
- /* [retval][out] */ long *nColumnHeaderCells) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
- /* [retval][out] */ long *columnIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtent(
- /* [retval][out] */ long *nRowsSpanned) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeaderCells(
- /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles,
- /* [retval][out] */ long *nRowHeaderCells) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
- /* [retval][out] */ long *rowIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtents(
- /* [out] */ long *row,
- /* [out] */ long *column,
- /* [out] */ long *rowExtents,
- /* [out] */ long *columnExtents,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_table(
- /* [retval][out] */ IUnknown **table) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleTableCellVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleTableCell * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleTableCell * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleTableCell * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtent )(
- IAccessibleTableCell * This,
- /* [retval][out] */ long *nColumnsSpanned);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeaderCells )(
- IAccessibleTableCell * This,
- /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles,
- /* [retval][out] */ long *nColumnHeaderCells);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )(
- IAccessibleTableCell * This,
- /* [retval][out] */ long *columnIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtent )(
- IAccessibleTableCell * This,
- /* [retval][out] */ long *nRowsSpanned);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeaderCells )(
- IAccessibleTableCell * This,
- /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles,
- /* [retval][out] */ long *nRowHeaderCells);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )(
- IAccessibleTableCell * This,
- /* [retval][out] */ long *rowIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )(
- IAccessibleTableCell * This,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtents )(
- IAccessibleTableCell * This,
- /* [out] */ long *row,
- /* [out] */ long *column,
- /* [out] */ long *rowExtents,
- /* [out] */ long *columnExtents,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_table )(
- IAccessibleTableCell * This,
- /* [retval][out] */ IUnknown **table);
-
- END_INTERFACE
- } IAccessibleTableCellVtbl;
-
- interface IAccessibleTableCell
- {
- CONST_VTBL struct IAccessibleTableCellVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleTableCell_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleTableCell_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleTableCell_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleTableCell_get_columnExtent(This,nColumnsSpanned) \
- ( (This)->lpVtbl -> get_columnExtent(This,nColumnsSpanned) )
-
-#define IAccessibleTableCell_get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) \
- ( (This)->lpVtbl -> get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) )
-
-#define IAccessibleTableCell_get_columnIndex(This,columnIndex) \
- ( (This)->lpVtbl -> get_columnIndex(This,columnIndex) )
-
-#define IAccessibleTableCell_get_rowExtent(This,nRowsSpanned) \
- ( (This)->lpVtbl -> get_rowExtent(This,nRowsSpanned) )
-
-#define IAccessibleTableCell_get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) \
- ( (This)->lpVtbl -> get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) )
-
-#define IAccessibleTableCell_get_rowIndex(This,rowIndex) \
- ( (This)->lpVtbl -> get_rowIndex(This,rowIndex) )
-
-#define IAccessibleTableCell_get_isSelected(This,isSelected) \
- ( (This)->lpVtbl -> get_isSelected(This,isSelected) )
-
-#define IAccessibleTableCell_get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) \
- ( (This)->lpVtbl -> get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) )
-
-#define IAccessibleTableCell_get_table(This,table) \
- ( (This)->lpVtbl -> get_table(This,table) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleTableCell_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_i.c
deleted file mode 100644
index fa94037d95..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for AccessibleTableCell.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleTableCell,0x594116B1,0xC99F,0x4847,0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_p.c
deleted file mode 100644
index bf18e659b6..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_p.c
+++ /dev/null
@@ -1,634 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for AccessibleTableCell.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleTableCell.h"
-
-#define TYPE_FORMAT_STRING_SIZE 63
-#define PROC_FORMAT_STRING_SIZE 379
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 0
-
-typedef struct _AccessibleTableCell_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleTableCell_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleTableCell_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleTableCell_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleTableCell_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleTableCell_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleTableCell_MIDL_TYPE_FORMAT_STRING AccessibleTableCell__MIDL_TypeFormatString;
-extern const AccessibleTableCell_MIDL_PROC_FORMAT_STRING AccessibleTableCell__MIDL_ProcFormatString;
-extern const AccessibleTableCell_MIDL_EXPR_FORMAT_STRING AccessibleTableCell__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo;
-
-
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleTableCell_MIDL_PROC_FORMAT_STRING AccessibleTableCell__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_columnExtent */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x24 ), /* 36 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nColumnsSpanned */
-
-/* 26 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnHeaderCells */
-
-/* 38 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 40 */ NdrFcLong( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0x4 ), /* 4 */
-/* 46 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 48 */ NdrFcShort( 0x0 ), /* 0 */
-/* 50 */ NdrFcShort( 0x24 ), /* 36 */
-/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 54 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 56 */ NdrFcShort( 0x1 ), /* 1 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellAccessibles */
-
-/* 64 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 68 */ NdrFcShort( 0x6 ), /* Type Offset=6 */
-
- /* Parameter nColumnHeaderCells */
-
-/* 70 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 74 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 76 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 78 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 80 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnIndex */
-
-/* 82 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 84 */ NdrFcLong( 0x0 ), /* 0 */
-/* 88 */ NdrFcShort( 0x5 ), /* 5 */
-/* 90 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 92 */ NdrFcShort( 0x0 ), /* 0 */
-/* 94 */ NdrFcShort( 0x24 ), /* 36 */
-/* 96 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 98 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 100 */ NdrFcShort( 0x0 ), /* 0 */
-/* 102 */ NdrFcShort( 0x0 ), /* 0 */
-/* 104 */ NdrFcShort( 0x0 ), /* 0 */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter columnIndex */
-
-/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 110 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 116 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowExtent */
-
-/* 120 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 122 */ NdrFcLong( 0x0 ), /* 0 */
-/* 126 */ NdrFcShort( 0x6 ), /* 6 */
-/* 128 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 130 */ NdrFcShort( 0x0 ), /* 0 */
-/* 132 */ NdrFcShort( 0x24 ), /* 36 */
-/* 134 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 136 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 138 */ NdrFcShort( 0x0 ), /* 0 */
-/* 140 */ NdrFcShort( 0x0 ), /* 0 */
-/* 142 */ NdrFcShort( 0x0 ), /* 0 */
-/* 144 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nRowsSpanned */
-
-/* 146 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 148 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 150 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 152 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 154 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 156 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowHeaderCells */
-
-/* 158 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 160 */ NdrFcLong( 0x0 ), /* 0 */
-/* 164 */ NdrFcShort( 0x7 ), /* 7 */
-/* 166 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 168 */ NdrFcShort( 0x0 ), /* 0 */
-/* 170 */ NdrFcShort( 0x24 ), /* 36 */
-/* 172 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 174 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 176 */ NdrFcShort( 0x1 ), /* 1 */
-/* 178 */ NdrFcShort( 0x0 ), /* 0 */
-/* 180 */ NdrFcShort( 0x0 ), /* 0 */
-/* 182 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellAccessibles */
-
-/* 184 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 186 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 188 */ NdrFcShort( 0x6 ), /* Type Offset=6 */
-
- /* Parameter nRowHeaderCells */
-
-/* 190 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 192 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 194 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 196 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 198 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 200 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowIndex */
-
-/* 202 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 204 */ NdrFcLong( 0x0 ), /* 0 */
-/* 208 */ NdrFcShort( 0x8 ), /* 8 */
-/* 210 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 212 */ NdrFcShort( 0x0 ), /* 0 */
-/* 214 */ NdrFcShort( 0x24 ), /* 36 */
-/* 216 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 218 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 220 */ NdrFcShort( 0x0 ), /* 0 */
-/* 222 */ NdrFcShort( 0x0 ), /* 0 */
-/* 224 */ NdrFcShort( 0x0 ), /* 0 */
-/* 226 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowIndex */
-
-/* 228 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 230 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 232 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 234 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 236 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 238 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isSelected */
-
-/* 240 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 242 */ NdrFcLong( 0x0 ), /* 0 */
-/* 246 */ NdrFcShort( 0x9 ), /* 9 */
-/* 248 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 250 */ NdrFcShort( 0x0 ), /* 0 */
-/* 252 */ NdrFcShort( 0x21 ), /* 33 */
-/* 254 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 256 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 258 */ NdrFcShort( 0x0 ), /* 0 */
-/* 260 */ NdrFcShort( 0x0 ), /* 0 */
-/* 262 */ NdrFcShort( 0x0 ), /* 0 */
-/* 264 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter isSelected */
-
-/* 266 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 268 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 270 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 272 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 274 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 276 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowColumnExtents */
-
-/* 278 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 280 */ NdrFcLong( 0x0 ), /* 0 */
-/* 284 */ NdrFcShort( 0xa ), /* 10 */
-/* 286 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
-/* 288 */ NdrFcShort( 0x0 ), /* 0 */
-/* 290 */ NdrFcShort( 0x91 ), /* 145 */
-/* 292 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x6, /* 6 */
-/* 294 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 296 */ NdrFcShort( 0x0 ), /* 0 */
-/* 298 */ NdrFcShort( 0x0 ), /* 0 */
-/* 300 */ NdrFcShort( 0x0 ), /* 0 */
-/* 302 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 304 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 306 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 308 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 310 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 312 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 314 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter rowExtents */
-
-/* 316 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 318 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 320 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter columnExtents */
-
-/* 322 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 324 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 326 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 328 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 330 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 332 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 334 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 336 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
-/* 338 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_table */
-
-/* 340 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 342 */ NdrFcLong( 0x0 ), /* 0 */
-/* 346 */ NdrFcShort( 0xb ), /* 11 */
-/* 348 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 350 */ NdrFcShort( 0x0 ), /* 0 */
-/* 352 */ NdrFcShort( 0x8 ), /* 8 */
-/* 354 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 356 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 358 */ NdrFcShort( 0x0 ), /* 0 */
-/* 360 */ NdrFcShort( 0x0 ), /* 0 */
-/* 362 */ NdrFcShort( 0x0 ), /* 0 */
-/* 364 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter table */
-
-/* 366 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 368 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 370 */ NdrFcShort( 0x3a ), /* Type Offset=58 */
-
- /* Return value */
-
-/* 372 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 374 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 376 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleTableCell_MIDL_TYPE_FORMAT_STRING AccessibleTableCell__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 6 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */
-/* 10 */
- 0x13, 0x0, /* FC_OP */
-/* 12 */ NdrFcShort( 0x14 ), /* Offset= 20 (32) */
-/* 14 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 16 */ NdrFcLong( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 26 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 28 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 30 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 32 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 38 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 40 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 42 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 46 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 48 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 50 */ NdrFcShort( 0xffdc ), /* Offset= -36 (14) */
-/* 52 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 54 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 56 */ 0x3, /* FC_SMALL */
- 0x5c, /* FC_PAD */
-/* 58 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 60 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (14) */
-
- 0x0
- }
- };
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleTableCell, ver. 0.0,
- GUID={0x594116B1,0xC99F,0x4847,{0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleTableCell_FormatStringOffsetTable[] =
- {
- 0,
- 38,
- 82,
- 120,
- 158,
- 202,
- 240,
- 278,
- 340
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleTableCell__MIDL_ProcFormatString.Format,
- &IAccessibleTableCell_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleTableCell__MIDL_ProcFormatString.Format,
- &IAccessibleTableCell_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(12) _IAccessibleTableCellProxyVtbl =
-{
- &IAccessibleTableCell_ProxyInfo,
- &IID_IAccessibleTableCell,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnExtent */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnHeaderCells */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowExtent */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowHeaderCells */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_isSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowColumnExtents */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_table */
-};
-
-const CInterfaceStubVtbl _IAccessibleTableCellStubVtbl =
-{
- &IID_IAccessibleTableCell,
- &IAccessibleTableCell_ServerInfo,
- 12,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleTableCell__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- 0,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleTableCell_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleTableCellProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleTableCell_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleTableCellStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleTableCell_InterfaceNamesList[] =
-{
- "IAccessibleTableCell",
- 0
-};
-
-
-#define _AccessibleTableCell_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTableCell, pIID, n)
-
-int __stdcall _AccessibleTableCell_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleTableCell_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleTableCell_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleTableCell_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleTableCell_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleTableCell_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleTableCell_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_i.c
deleted file mode 100644
index dd4e1fe983..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:59 2012
- */
-/* Compiler settings for AccessibleTable.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleTable,0x35AD8070,0xC20C,0x4fb4,0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_p.c
deleted file mode 100644
index cca4e376c8..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_p.c
+++ /dev/null
@@ -1,1543 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:59 2012
- */
-/* Compiler settings for AccessibleTable.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleTable.h"
-
-#define TYPE_FORMAT_STRING_SIZE 139
-#define PROC_FORMAT_STRING_SIZE 1277
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleTable_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleTable_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleTable_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleTable_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleTable_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleTable_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleTable_MIDL_TYPE_FORMAT_STRING AccessibleTable__MIDL_TypeFormatString;
-extern const AccessibleTable_MIDL_PROC_FORMAT_STRING AccessibleTable__MIDL_ProcFormatString;
-extern const AccessibleTable_MIDL_EXPR_FORMAT_STRING AccessibleTable__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleTable_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleTable_MIDL_PROC_FORMAT_STRING AccessibleTable__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_accessibleAt */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 10 */ NdrFcShort( 0x10 ), /* 16 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 16 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 26 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 32 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter accessible */
-
-/* 38 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 42 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 44 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 46 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 48 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_caption */
-
-/* 50 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 52 */ NdrFcLong( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x4 ), /* 4 */
-/* 58 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x8 ), /* 8 */
-/* 64 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 66 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 68 */ NdrFcShort( 0x0 ), /* 0 */
-/* 70 */ NdrFcShort( 0x0 ), /* 0 */
-/* 72 */ NdrFcShort( 0x0 ), /* 0 */
-/* 74 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessible */
-
-/* 76 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 78 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 80 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 82 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 84 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 86 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_childIndex */
-
-/* 88 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 90 */ NdrFcLong( 0x0 ), /* 0 */
-/* 94 */ NdrFcShort( 0x5 ), /* 5 */
-/* 96 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 98 */ NdrFcShort( 0x10 ), /* 16 */
-/* 100 */ NdrFcShort( 0x24 ), /* 36 */
-/* 102 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 104 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-/* 108 */ NdrFcShort( 0x0 ), /* 0 */
-/* 110 */ NdrFcShort( 0x0 ), /* 0 */
-/* 112 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowIndex */
-
-/* 114 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 116 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter columnIndex */
-
-/* 120 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 122 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter cellIndex */
-
-/* 126 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 128 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 130 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 132 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 134 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 136 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnDescription */
-
-/* 138 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 140 */ NdrFcLong( 0x0 ), /* 0 */
-/* 144 */ NdrFcShort( 0x6 ), /* 6 */
-/* 146 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 148 */ NdrFcShort( 0x8 ), /* 8 */
-/* 150 */ NdrFcShort( 0x8 ), /* 8 */
-/* 152 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 154 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 156 */ NdrFcShort( 0x1 ), /* 1 */
-/* 158 */ NdrFcShort( 0x0 ), /* 0 */
-/* 160 */ NdrFcShort( 0x0 ), /* 0 */
-/* 162 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 164 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 166 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 168 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter description */
-
-/* 170 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 172 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 174 */ NdrFcShort( 0x3a ), /* Type Offset=58 */
-
- /* Return value */
-
-/* 176 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 178 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 180 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnExtentAt */
-
-/* 182 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 184 */ NdrFcLong( 0x0 ), /* 0 */
-/* 188 */ NdrFcShort( 0x7 ), /* 7 */
-/* 190 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 192 */ NdrFcShort( 0x10 ), /* 16 */
-/* 194 */ NdrFcShort( 0x24 ), /* 36 */
-/* 196 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 198 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 200 */ NdrFcShort( 0x0 ), /* 0 */
-/* 202 */ NdrFcShort( 0x0 ), /* 0 */
-/* 204 */ NdrFcShort( 0x0 ), /* 0 */
-/* 206 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 208 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 210 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 212 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 214 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 216 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 218 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter nColumnsSpanned */
-
-/* 220 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 222 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 224 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 226 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 228 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 230 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnHeader */
-
-/* 232 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 234 */ NdrFcLong( 0x0 ), /* 0 */
-/* 238 */ NdrFcShort( 0x8 ), /* 8 */
-/* 240 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 242 */ NdrFcShort( 0x0 ), /* 0 */
-/* 244 */ NdrFcShort( 0x24 ), /* 36 */
-/* 246 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 248 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 250 */ NdrFcShort( 0x0 ), /* 0 */
-/* 252 */ NdrFcShort( 0x0 ), /* 0 */
-/* 254 */ NdrFcShort( 0x0 ), /* 0 */
-/* 256 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessibleTable */
-
-/* 258 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 260 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 262 */ NdrFcShort( 0x44 ), /* Type Offset=68 */
-
- /* Parameter startingRowIndex */
-
-/* 264 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 266 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 268 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 270 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 272 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 274 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnIndex */
-
-/* 276 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 278 */ NdrFcLong( 0x0 ), /* 0 */
-/* 282 */ NdrFcShort( 0x9 ), /* 9 */
-/* 284 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 286 */ NdrFcShort( 0x8 ), /* 8 */
-/* 288 */ NdrFcShort( 0x24 ), /* 36 */
-/* 290 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 292 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 294 */ NdrFcShort( 0x0 ), /* 0 */
-/* 296 */ NdrFcShort( 0x0 ), /* 0 */
-/* 298 */ NdrFcShort( 0x0 ), /* 0 */
-/* 300 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellIndex */
-
-/* 302 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 304 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 306 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter columnIndex */
-
-/* 308 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 310 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 312 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 314 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 316 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 318 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nColumns */
-
-/* 320 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 322 */ NdrFcLong( 0x0 ), /* 0 */
-/* 326 */ NdrFcShort( 0xa ), /* 10 */
-/* 328 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 330 */ NdrFcShort( 0x0 ), /* 0 */
-/* 332 */ NdrFcShort( 0x24 ), /* 36 */
-/* 334 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 336 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 338 */ NdrFcShort( 0x0 ), /* 0 */
-/* 340 */ NdrFcShort( 0x0 ), /* 0 */
-/* 342 */ NdrFcShort( 0x0 ), /* 0 */
-/* 344 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter columnCount */
-
-/* 346 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 348 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 350 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 352 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 354 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 356 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nRows */
-
-/* 358 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 360 */ NdrFcLong( 0x0 ), /* 0 */
-/* 364 */ NdrFcShort( 0xb ), /* 11 */
-/* 366 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 368 */ NdrFcShort( 0x0 ), /* 0 */
-/* 370 */ NdrFcShort( 0x24 ), /* 36 */
-/* 372 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 374 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 376 */ NdrFcShort( 0x0 ), /* 0 */
-/* 378 */ NdrFcShort( 0x0 ), /* 0 */
-/* 380 */ NdrFcShort( 0x0 ), /* 0 */
-/* 382 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowCount */
-
-/* 384 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 386 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 388 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 390 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 392 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 394 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedChildren */
-
-/* 396 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 398 */ NdrFcLong( 0x0 ), /* 0 */
-/* 402 */ NdrFcShort( 0xc ), /* 12 */
-/* 404 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 406 */ NdrFcShort( 0x0 ), /* 0 */
-/* 408 */ NdrFcShort( 0x24 ), /* 36 */
-/* 410 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 412 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 414 */ NdrFcShort( 0x0 ), /* 0 */
-/* 416 */ NdrFcShort( 0x0 ), /* 0 */
-/* 418 */ NdrFcShort( 0x0 ), /* 0 */
-/* 420 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellCount */
-
-/* 422 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 424 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 426 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 428 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 430 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 432 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedColumns */
-
-/* 434 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 436 */ NdrFcLong( 0x0 ), /* 0 */
-/* 440 */ NdrFcShort( 0xd ), /* 13 */
-/* 442 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 444 */ NdrFcShort( 0x0 ), /* 0 */
-/* 446 */ NdrFcShort( 0x24 ), /* 36 */
-/* 448 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 450 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 452 */ NdrFcShort( 0x0 ), /* 0 */
-/* 454 */ NdrFcShort( 0x0 ), /* 0 */
-/* 456 */ NdrFcShort( 0x0 ), /* 0 */
-/* 458 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter columnCount */
-
-/* 460 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 462 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 464 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 466 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 468 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 470 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedRows */
-
-/* 472 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 474 */ NdrFcLong( 0x0 ), /* 0 */
-/* 478 */ NdrFcShort( 0xe ), /* 14 */
-/* 480 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 482 */ NdrFcShort( 0x0 ), /* 0 */
-/* 484 */ NdrFcShort( 0x24 ), /* 36 */
-/* 486 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 488 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 490 */ NdrFcShort( 0x0 ), /* 0 */
-/* 492 */ NdrFcShort( 0x0 ), /* 0 */
-/* 494 */ NdrFcShort( 0x0 ), /* 0 */
-/* 496 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowCount */
-
-/* 498 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 500 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 502 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 504 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 506 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 508 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowDescription */
-
-/* 510 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 512 */ NdrFcLong( 0x0 ), /* 0 */
-/* 516 */ NdrFcShort( 0xf ), /* 15 */
-/* 518 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 520 */ NdrFcShort( 0x8 ), /* 8 */
-/* 522 */ NdrFcShort( 0x8 ), /* 8 */
-/* 524 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 526 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 528 */ NdrFcShort( 0x1 ), /* 1 */
-/* 530 */ NdrFcShort( 0x0 ), /* 0 */
-/* 532 */ NdrFcShort( 0x0 ), /* 0 */
-/* 534 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 536 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 538 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 540 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter description */
-
-/* 542 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 544 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 546 */ NdrFcShort( 0x3a ), /* Type Offset=58 */
-
- /* Return value */
-
-/* 548 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 550 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 552 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowExtentAt */
-
-/* 554 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 556 */ NdrFcLong( 0x0 ), /* 0 */
-/* 560 */ NdrFcShort( 0x10 ), /* 16 */
-/* 562 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 564 */ NdrFcShort( 0x10 ), /* 16 */
-/* 566 */ NdrFcShort( 0x24 ), /* 36 */
-/* 568 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 570 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 572 */ NdrFcShort( 0x0 ), /* 0 */
-/* 574 */ NdrFcShort( 0x0 ), /* 0 */
-/* 576 */ NdrFcShort( 0x0 ), /* 0 */
-/* 578 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 580 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 582 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 584 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 586 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 588 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 590 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter nRowsSpanned */
-
-/* 592 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 594 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 596 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 598 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 600 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 602 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowHeader */
-
-/* 604 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 606 */ NdrFcLong( 0x0 ), /* 0 */
-/* 610 */ NdrFcShort( 0x11 ), /* 17 */
-/* 612 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 614 */ NdrFcShort( 0x0 ), /* 0 */
-/* 616 */ NdrFcShort( 0x24 ), /* 36 */
-/* 618 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 620 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 622 */ NdrFcShort( 0x0 ), /* 0 */
-/* 624 */ NdrFcShort( 0x0 ), /* 0 */
-/* 626 */ NdrFcShort( 0x0 ), /* 0 */
-/* 628 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessibleTable */
-
-/* 630 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 632 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 634 */ NdrFcShort( 0x44 ), /* Type Offset=68 */
-
- /* Parameter startingColumnIndex */
-
-/* 636 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 638 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 640 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 642 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 644 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 646 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowIndex */
-
-/* 648 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 650 */ NdrFcLong( 0x0 ), /* 0 */
-/* 654 */ NdrFcShort( 0x12 ), /* 18 */
-/* 656 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 658 */ NdrFcShort( 0x8 ), /* 8 */
-/* 660 */ NdrFcShort( 0x24 ), /* 36 */
-/* 662 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 664 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 666 */ NdrFcShort( 0x0 ), /* 0 */
-/* 668 */ NdrFcShort( 0x0 ), /* 0 */
-/* 670 */ NdrFcShort( 0x0 ), /* 0 */
-/* 672 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellIndex */
-
-/* 674 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 676 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 678 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter rowIndex */
-
-/* 680 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 682 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 684 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 686 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 688 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 690 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedChildren */
-
-/* 692 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 694 */ NdrFcLong( 0x0 ), /* 0 */
-/* 698 */ NdrFcShort( 0x13 ), /* 19 */
-/* 700 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 702 */ NdrFcShort( 0x8 ), /* 8 */
-/* 704 */ NdrFcShort( 0x24 ), /* 36 */
-/* 706 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 708 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 710 */ NdrFcShort( 0x1 ), /* 1 */
-/* 712 */ NdrFcShort( 0x0 ), /* 0 */
-/* 714 */ NdrFcShort( 0x0 ), /* 0 */
-/* 716 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxChildren */
-
-/* 718 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 720 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 722 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter children */
-
-/* 724 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 726 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 728 */ NdrFcShort( 0x5a ), /* Type Offset=90 */
-
- /* Parameter nChildren */
-
-/* 730 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 732 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 734 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 736 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 738 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 740 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedColumns */
-
-/* 742 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 744 */ NdrFcLong( 0x0 ), /* 0 */
-/* 748 */ NdrFcShort( 0x14 ), /* 20 */
-/* 750 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 752 */ NdrFcShort( 0x8 ), /* 8 */
-/* 754 */ NdrFcShort( 0x24 ), /* 36 */
-/* 756 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 758 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 760 */ NdrFcShort( 0x1 ), /* 1 */
-/* 762 */ NdrFcShort( 0x0 ), /* 0 */
-/* 764 */ NdrFcShort( 0x0 ), /* 0 */
-/* 766 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxColumns */
-
-/* 768 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 770 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 772 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter columns */
-
-/* 774 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 776 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 778 */ NdrFcShort( 0x5a ), /* Type Offset=90 */
-
- /* Parameter nColumns */
-
-/* 780 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 782 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 784 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 786 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 788 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 790 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedRows */
-
-/* 792 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 794 */ NdrFcLong( 0x0 ), /* 0 */
-/* 798 */ NdrFcShort( 0x15 ), /* 21 */
-/* 800 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 802 */ NdrFcShort( 0x8 ), /* 8 */
-/* 804 */ NdrFcShort( 0x24 ), /* 36 */
-/* 806 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 808 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 810 */ NdrFcShort( 0x1 ), /* 1 */
-/* 812 */ NdrFcShort( 0x0 ), /* 0 */
-/* 814 */ NdrFcShort( 0x0 ), /* 0 */
-/* 816 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxRows */
-
-/* 818 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 820 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 822 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter rows */
-
-/* 824 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 826 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 828 */ NdrFcShort( 0x5a ), /* Type Offset=90 */
-
- /* Parameter nRows */
-
-/* 830 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 832 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 834 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 836 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 838 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 840 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_summary */
-
-/* 842 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 844 */ NdrFcLong( 0x0 ), /* 0 */
-/* 848 */ NdrFcShort( 0x16 ), /* 22 */
-/* 850 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 852 */ NdrFcShort( 0x0 ), /* 0 */
-/* 854 */ NdrFcShort( 0x8 ), /* 8 */
-/* 856 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 858 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 860 */ NdrFcShort( 0x0 ), /* 0 */
-/* 862 */ NdrFcShort( 0x0 ), /* 0 */
-/* 864 */ NdrFcShort( 0x0 ), /* 0 */
-/* 866 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessible */
-
-/* 868 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 870 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 872 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 874 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 876 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 878 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isColumnSelected */
-
-/* 880 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 882 */ NdrFcLong( 0x0 ), /* 0 */
-/* 886 */ NdrFcShort( 0x17 ), /* 23 */
-/* 888 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 890 */ NdrFcShort( 0x8 ), /* 8 */
-/* 892 */ NdrFcShort( 0x21 ), /* 33 */
-/* 894 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 896 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 898 */ NdrFcShort( 0x0 ), /* 0 */
-/* 900 */ NdrFcShort( 0x0 ), /* 0 */
-/* 902 */ NdrFcShort( 0x0 ), /* 0 */
-/* 904 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 906 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 908 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 910 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 912 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 914 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 916 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 918 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 920 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 922 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isRowSelected */
-
-/* 924 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 926 */ NdrFcLong( 0x0 ), /* 0 */
-/* 930 */ NdrFcShort( 0x18 ), /* 24 */
-/* 932 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 934 */ NdrFcShort( 0x8 ), /* 8 */
-/* 936 */ NdrFcShort( 0x21 ), /* 33 */
-/* 938 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 940 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 942 */ NdrFcShort( 0x0 ), /* 0 */
-/* 944 */ NdrFcShort( 0x0 ), /* 0 */
-/* 946 */ NdrFcShort( 0x0 ), /* 0 */
-/* 948 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 950 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 952 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 954 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 956 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 958 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 960 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 962 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 964 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 966 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isSelected */
-
-/* 968 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 970 */ NdrFcLong( 0x0 ), /* 0 */
-/* 974 */ NdrFcShort( 0x19 ), /* 25 */
-/* 976 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 978 */ NdrFcShort( 0x10 ), /* 16 */
-/* 980 */ NdrFcShort( 0x21 ), /* 33 */
-/* 982 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 984 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 986 */ NdrFcShort( 0x0 ), /* 0 */
-/* 988 */ NdrFcShort( 0x0 ), /* 0 */
-/* 990 */ NdrFcShort( 0x0 ), /* 0 */
-/* 992 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 994 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 996 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 998 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 1000 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 1002 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 1004 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 1006 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 1008 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 1010 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 1012 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1014 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 1016 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure selectRow */
-
-/* 1018 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 1020 */ NdrFcLong( 0x0 ), /* 0 */
-/* 1024 */ NdrFcShort( 0x1a ), /* 26 */
-/* 1026 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 1028 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1030 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1032 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 1034 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 1036 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1038 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1040 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1042 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 1044 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 1046 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 1048 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 1050 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1052 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 1054 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure selectColumn */
-
-/* 1056 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 1058 */ NdrFcLong( 0x0 ), /* 0 */
-/* 1062 */ NdrFcShort( 0x1b ), /* 27 */
-/* 1064 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 1066 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1068 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1070 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 1072 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 1074 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1076 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1078 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1080 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 1082 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 1084 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 1086 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 1088 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1090 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 1092 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure unselectRow */
-
-/* 1094 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 1096 */ NdrFcLong( 0x0 ), /* 0 */
-/* 1100 */ NdrFcShort( 0x1c ), /* 28 */
-/* 1102 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 1104 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1106 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1108 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 1110 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 1112 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1114 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1116 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1118 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 1120 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 1122 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 1124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 1126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1128 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 1130 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure unselectColumn */
-
-/* 1132 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 1134 */ NdrFcLong( 0x0 ), /* 0 */
-/* 1138 */ NdrFcShort( 0x1d ), /* 29 */
-/* 1140 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 1142 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1144 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1146 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 1148 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 1150 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1152 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1154 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1156 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 1158 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 1160 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 1162 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 1164 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1166 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 1168 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowColumnExtentsAtIndex */
-
-/* 1170 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 1172 */ NdrFcLong( 0x0 ), /* 0 */
-/* 1176 */ NdrFcShort( 0x1e ), /* 30 */
-/* 1178 */ NdrFcShort( 0x40 ), /* X64 Stack size/offset = 64 */
-/* 1180 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1182 */ NdrFcShort( 0x91 ), /* 145 */
-/* 1184 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x7, /* 7 */
-/* 1186 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 1188 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1190 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1192 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1194 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 1196 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 1198 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 1200 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter row */
-
-/* 1202 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 1204 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 1206 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 1208 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 1210 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 1212 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter rowExtents */
-
-/* 1214 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 1216 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 1218 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter columnExtents */
-
-/* 1220 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 1222 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 1224 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 1226 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 1228 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
-/* 1230 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 1232 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1234 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
-/* 1236 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_modelChange */
-
-/* 1238 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 1240 */ NdrFcLong( 0x0 ), /* 0 */
-/* 1244 */ NdrFcShort( 0x1f ), /* 31 */
-/* 1246 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 1248 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1250 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1252 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 1254 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 1256 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1258 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1260 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1262 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter modelChange */
-
-/* 1264 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
-/* 1266 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 1268 */ NdrFcShort( 0x7c ), /* Type Offset=124 */
-
- /* Return value */
-
-/* 1270 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1272 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 1274 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleTable_MIDL_TYPE_FORMAT_STRING AccessibleTable__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 4 */ NdrFcShort( 0x2 ), /* Offset= 2 (6) */
-/* 6 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 8 */ NdrFcLong( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x0 ), /* 0 */
-/* 14 */ NdrFcShort( 0x0 ), /* 0 */
-/* 16 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 18 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 20 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 22 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 24 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 26 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 28 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 30 */ NdrFcShort( 0x1c ), /* Offset= 28 (58) */
-/* 32 */
- 0x13, 0x0, /* FC_OP */
-/* 34 */ NdrFcShort( 0xe ), /* Offset= 14 (48) */
-/* 36 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 38 */ NdrFcShort( 0x2 ), /* 2 */
-/* 40 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 42 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 44 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 46 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 48 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 50 */ NdrFcShort( 0x8 ), /* 8 */
-/* 52 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (36) */
-/* 54 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 56 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 58 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x8 ), /* 8 */
-/* 64 */ NdrFcShort( 0x0 ), /* 0 */
-/* 66 */ NdrFcShort( 0xffde ), /* Offset= -34 (32) */
-/* 68 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */
-/* 72 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 74 */ NdrFcLong( 0x35ad8070 ), /* 900563056 */
-/* 78 */ NdrFcShort( 0xc20c ), /* -15860 */
-/* 80 */ NdrFcShort( 0x4fb4 ), /* 20404 */
-/* 82 */ 0xb0, /* 176 */
- 0x94, /* 148 */
-/* 84 */ 0xf4, /* 244 */
- 0xf7, /* 247 */
-/* 86 */ 0x27, /* 39 */
- 0x5d, /* 93 */
-/* 88 */ 0xd4, /* 212 */
- 0x69, /* 105 */
-/* 90 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 92 */ NdrFcShort( 0x2 ), /* Offset= 2 (94) */
-/* 94 */
- 0x13, 0x0, /* FC_OP */
-/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */
-/* 98 */
- 0x1c, /* FC_CVARRAY */
- 0x3, /* 3 */
-/* 100 */ NdrFcShort( 0x4 ), /* 4 */
-/* 102 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x0, /* */
-/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 106 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 108 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 110 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 112 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 114 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 116 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 118 */ 0x3, /* FC_SMALL */
- 0x5c, /* FC_PAD */
-/* 120 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 122 */ NdrFcShort( 0x2 ), /* Offset= 2 (124) */
-/* 124 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 126 */ NdrFcShort( 0x14 ), /* 20 */
-/* 128 */ NdrFcShort( 0x0 ), /* 0 */
-/* 130 */ NdrFcShort( 0x0 ), /* Offset= 0 (130) */
-/* 132 */ 0xd, /* FC_ENUM16 */
- 0x8, /* FC_LONG */
-/* 134 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 136 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleTable, ver. 0.0,
- GUID={0x35AD8070,0xC20C,0x4fb4,{0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleTable_FormatStringOffsetTable[] =
- {
- 0,
- 50,
- 88,
- 138,
- 182,
- 232,
- 276,
- 320,
- 358,
- 396,
- 434,
- 472,
- 510,
- 554,
- 604,
- 648,
- 692,
- 742,
- 792,
- 842,
- 880,
- 924,
- 968,
- 1018,
- 1056,
- 1094,
- 1132,
- 1170,
- 1238
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleTable__MIDL_ProcFormatString.Format,
- &IAccessibleTable_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleTable_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleTable__MIDL_ProcFormatString.Format,
- &IAccessibleTable_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(32) _IAccessibleTableProxyVtbl =
-{
- &IAccessibleTable_ProxyInfo,
- &IID_IAccessibleTable,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_accessibleAt */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_caption */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_childIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnDescription */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnExtentAt */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnHeader */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_nColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_nRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedChildren */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowDescription */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowExtentAt */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowHeader */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedChildren */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_summary */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_isColumnSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_isRowSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_isSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::selectRow */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::selectColumn */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::unselectRow */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::unselectColumn */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowColumnExtentsAtIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_modelChange */
-};
-
-const CInterfaceStubVtbl _IAccessibleTableStubVtbl =
-{
- &IID_IAccessibleTable,
- &IAccessibleTable_ServerInfo,
- 32,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleTable__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleTable_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleTableProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleTable_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleTableStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleTable_InterfaceNamesList[] =
-{
- "IAccessibleTable",
- 0
-};
-
-
-#define _AccessibleTable_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTable, pIID, n)
-
-int __stdcall _AccessibleTable_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleTable_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleTable_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleTable_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleTable_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleTable_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleTable_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleText.h
deleted file mode 100644
index 9b9119629d..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText.h
+++ /dev/null
@@ -1,435 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for AccessibleText.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleText_h__
-#define __AccessibleText_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleText_FWD_DEFINED__
-#define __IAccessibleText_FWD_DEFINED__
-typedef interface IAccessibleText IAccessibleText;
-#endif /* __IAccessibleText_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "IA2CommonTypes.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleText_0000_0000 */
-/* [local] */
-
-typedef struct IA2TextSegment
- {
- BSTR text;
- long start;
- long end;
- } IA2TextSegment;
-
-
-enum IA2TextBoundaryType
- { IA2_TEXT_BOUNDARY_CHAR = 0,
- IA2_TEXT_BOUNDARY_WORD = ( IA2_TEXT_BOUNDARY_CHAR + 1 ) ,
- IA2_TEXT_BOUNDARY_SENTENCE = ( IA2_TEXT_BOUNDARY_WORD + 1 ) ,
- IA2_TEXT_BOUNDARY_PARAGRAPH = ( IA2_TEXT_BOUNDARY_SENTENCE + 1 ) ,
- IA2_TEXT_BOUNDARY_LINE = ( IA2_TEXT_BOUNDARY_PARAGRAPH + 1 ) ,
- IA2_TEXT_BOUNDARY_ALL = ( IA2_TEXT_BOUNDARY_LINE + 1 )
- } ;
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleText_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleText_0000_0000_v0_0_s_ifspec;
-
-#ifndef __IAccessibleText_INTERFACE_DEFINED__
-#define __IAccessibleText_INTERFACE_DEFINED__
-
-/* interface IAccessibleText */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleText;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B")
- IAccessibleText : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE addSelection(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes(
- /* [in] */ long offset,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *textAttributes) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caretOffset(
- /* [retval][out] */ long *offset) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_characterExtents(
- /* [in] */ long offset,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [out] */ long *x,
- /* [out] */ long *y,
- /* [out] */ long *width,
- /* [retval][out] */ long *height) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelections(
- /* [retval][out] */ long *nSelections) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_offsetAtPoint(
- /* [in] */ long x,
- /* [in] */ long y,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [retval][out] */ long *offset) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selection(
- /* [in] */ long selectionIndex,
- /* [out] */ long *startOffset,
- /* [retval][out] */ long *endOffset) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_text(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [retval][out] */ BSTR *text) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textBeforeOffset(
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAfterOffset(
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAtOffset(
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE removeSelection(
- /* [in] */ long selectionIndex) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE setCaretOffset(
- /* [in] */ long offset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE setSelection(
- /* [in] */ long selectionIndex,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nCharacters(
- /* [retval][out] */ long *nCharacters) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE scrollSubstringTo(
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2ScrollType scrollType) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE scrollSubstringToPoint(
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [in] */ long x,
- /* [in] */ long y) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_newText(
- /* [retval][out] */ IA2TextSegment *newText) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_oldText(
- /* [retval][out] */ IA2TextSegment *oldText) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleTextVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleText * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleText * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleText * This);
-
- HRESULT ( STDMETHODCALLTYPE *addSelection )(
- IAccessibleText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
- IAccessibleText * This,
- /* [in] */ long offset,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *textAttributes);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
- IAccessibleText * This,
- /* [retval][out] */ long *offset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
- IAccessibleText * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [out] */ long *x,
- /* [out] */ long *y,
- /* [out] */ long *width,
- /* [retval][out] */ long *height);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
- IAccessibleText * This,
- /* [retval][out] */ long *nSelections);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
- IAccessibleText * This,
- /* [in] */ long x,
- /* [in] */ long y,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [retval][out] */ long *offset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
- IAccessibleText * This,
- /* [in] */ long selectionIndex,
- /* [out] */ long *startOffset,
- /* [retval][out] */ long *endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
- IAccessibleText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
- IAccessibleText * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
- IAccessibleText * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
- IAccessibleText * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- HRESULT ( STDMETHODCALLTYPE *removeSelection )(
- IAccessibleText * This,
- /* [in] */ long selectionIndex);
-
- HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
- IAccessibleText * This,
- /* [in] */ long offset);
-
- HRESULT ( STDMETHODCALLTYPE *setSelection )(
- IAccessibleText * This,
- /* [in] */ long selectionIndex,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
- IAccessibleText * This,
- /* [retval][out] */ long *nCharacters);
-
- HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
- IAccessibleText * This,
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2ScrollType scrollType);
-
- HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
- IAccessibleText * This,
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [in] */ long x,
- /* [in] */ long y);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
- IAccessibleText * This,
- /* [retval][out] */ IA2TextSegment *newText);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
- IAccessibleText * This,
- /* [retval][out] */ IA2TextSegment *oldText);
-
- END_INTERFACE
- } IAccessibleTextVtbl;
-
- interface IAccessibleText
- {
- CONST_VTBL struct IAccessibleTextVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleText_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleText_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleText_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleText_addSelection(This,startOffset,endOffset) \
- ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
-
-#define IAccessibleText_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
- ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
-
-#define IAccessibleText_get_caretOffset(This,offset) \
- ( (This)->lpVtbl -> get_caretOffset(This,offset) )
-
-#define IAccessibleText_get_characterExtents(This,offset,coordType,x,y,width,height) \
- ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
-
-#define IAccessibleText_get_nSelections(This,nSelections) \
- ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
-
-#define IAccessibleText_get_offsetAtPoint(This,x,y,coordType,offset) \
- ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
-
-#define IAccessibleText_get_selection(This,selectionIndex,startOffset,endOffset) \
- ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
-
-#define IAccessibleText_get_text(This,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
-
-#define IAccessibleText_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleText_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleText_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleText_removeSelection(This,selectionIndex) \
- ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
-
-#define IAccessibleText_setCaretOffset(This,offset) \
- ( (This)->lpVtbl -> setCaretOffset(This,offset) )
-
-#define IAccessibleText_setSelection(This,selectionIndex,startOffset,endOffset) \
- ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
-
-#define IAccessibleText_get_nCharacters(This,nCharacters) \
- ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
-
-#define IAccessibleText_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
- ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
-
-#define IAccessibleText_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
- ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
-
-#define IAccessibleText_get_newText(This,newText) \
- ( (This)->lpVtbl -> get_newText(This,newText) )
-
-#define IAccessibleText_get_oldText(This,oldText) \
- ( (This)->lpVtbl -> get_oldText(This,oldText) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleText_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_i.c
deleted file mode 100644
index 564c790b78..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for AccessibleText.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleText,0x24FD2FFB,0x3AAD,0x4a08,0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_p.c
deleted file mode 100644
index b2512f74ef..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_p.c
+++ /dev/null
@@ -1,1203 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for AccessibleText.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleText.h"
-
-#define TYPE_FORMAT_STRING_SIZE 67
-#define PROC_FORMAT_STRING_SIZE 939
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleText_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleText_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleText_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleText_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleText_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleText_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleText_MIDL_TYPE_FORMAT_STRING AccessibleText__MIDL_TypeFormatString;
-extern const AccessibleText_MIDL_PROC_FORMAT_STRING AccessibleText__MIDL_ProcFormatString;
-extern const AccessibleText_MIDL_EXPR_FORMAT_STRING AccessibleText__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleText_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleText_MIDL_PROC_FORMAT_STRING AccessibleText__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure addSelection */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 10 */ NdrFcShort( 0x10 ), /* 16 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 16 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 26 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 32 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 38 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 42 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_attributes */
-
-/* 44 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 46 */ NdrFcLong( 0x0 ), /* 0 */
-/* 50 */ NdrFcShort( 0x4 ), /* 4 */
-/* 52 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
-/* 54 */ NdrFcShort( 0x8 ), /* 8 */
-/* 56 */ NdrFcShort( 0x40 ), /* 64 */
-/* 58 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x5, /* 5 */
-/* 60 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 62 */ NdrFcShort( 0x1 ), /* 1 */
-/* 64 */ NdrFcShort( 0x0 ), /* 0 */
-/* 66 */ NdrFcShort( 0x0 ), /* 0 */
-/* 68 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 70 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 72 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 74 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 76 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 78 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 80 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 82 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 86 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter textAttributes */
-
-/* 88 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 90 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 92 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 94 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 96 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 98 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_caretOffset */
-
-/* 100 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 102 */ NdrFcLong( 0x0 ), /* 0 */
-/* 106 */ NdrFcShort( 0x5 ), /* 5 */
-/* 108 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 110 */ NdrFcShort( 0x0 ), /* 0 */
-/* 112 */ NdrFcShort( 0x24 ), /* 36 */
-/* 114 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 116 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 118 */ NdrFcShort( 0x0 ), /* 0 */
-/* 120 */ NdrFcShort( 0x0 ), /* 0 */
-/* 122 */ NdrFcShort( 0x0 ), /* 0 */
-/* 124 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 126 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 128 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 130 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 132 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 134 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 136 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_characterExtents */
-
-/* 138 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 140 */ NdrFcLong( 0x0 ), /* 0 */
-/* 144 */ NdrFcShort( 0x6 ), /* 6 */
-/* 146 */ NdrFcShort( 0x40 ), /* X64 Stack size/offset = 64 */
-/* 148 */ NdrFcShort( 0xe ), /* 14 */
-/* 150 */ NdrFcShort( 0x78 ), /* 120 */
-/* 152 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x7, /* 7 */
-/* 154 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 156 */ NdrFcShort( 0x0 ), /* 0 */
-/* 158 */ NdrFcShort( 0x0 ), /* 0 */
-/* 160 */ NdrFcShort( 0x0 ), /* 0 */
-/* 162 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 164 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 166 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 168 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter coordType */
-
-/* 170 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 172 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 174 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter x */
-
-/* 176 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 178 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 180 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 182 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 184 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 186 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter width */
-
-/* 188 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 190 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 192 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter height */
-
-/* 194 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 196 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
-/* 198 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 200 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 202 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
-/* 204 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelections */
-
-/* 206 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 208 */ NdrFcLong( 0x0 ), /* 0 */
-/* 212 */ NdrFcShort( 0x7 ), /* 7 */
-/* 214 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 216 */ NdrFcShort( 0x0 ), /* 0 */
-/* 218 */ NdrFcShort( 0x24 ), /* 36 */
-/* 220 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 222 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 224 */ NdrFcShort( 0x0 ), /* 0 */
-/* 226 */ NdrFcShort( 0x0 ), /* 0 */
-/* 228 */ NdrFcShort( 0x0 ), /* 0 */
-/* 230 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nSelections */
-
-/* 232 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 234 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 236 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 238 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 240 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 242 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_offsetAtPoint */
-
-/* 244 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 246 */ NdrFcLong( 0x0 ), /* 0 */
-/* 250 */ NdrFcShort( 0x8 ), /* 8 */
-/* 252 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
-/* 254 */ NdrFcShort( 0x16 ), /* 22 */
-/* 256 */ NdrFcShort( 0x24 ), /* 36 */
-/* 258 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x5, /* 5 */
-/* 260 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 262 */ NdrFcShort( 0x0 ), /* 0 */
-/* 264 */ NdrFcShort( 0x0 ), /* 0 */
-/* 266 */ NdrFcShort( 0x0 ), /* 0 */
-/* 268 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter x */
-
-/* 270 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 272 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 274 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 276 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 278 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 280 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter coordType */
-
-/* 282 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 284 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 286 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter offset */
-
-/* 288 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 290 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 292 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 294 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 296 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 298 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selection */
-
-/* 300 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 302 */ NdrFcLong( 0x0 ), /* 0 */
-/* 306 */ NdrFcShort( 0x9 ), /* 9 */
-/* 308 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 310 */ NdrFcShort( 0x8 ), /* 8 */
-/* 312 */ NdrFcShort( 0x40 ), /* 64 */
-/* 314 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 316 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 318 */ NdrFcShort( 0x0 ), /* 0 */
-/* 320 */ NdrFcShort( 0x0 ), /* 0 */
-/* 322 */ NdrFcShort( 0x0 ), /* 0 */
-/* 324 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter selectionIndex */
-
-/* 326 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 328 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 330 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 332 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 334 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 336 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 338 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 340 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 342 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 344 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 346 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 348 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_text */
-
-/* 350 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 352 */ NdrFcLong( 0x0 ), /* 0 */
-/* 356 */ NdrFcShort( 0xa ), /* 10 */
-/* 358 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 360 */ NdrFcShort( 0x10 ), /* 16 */
-/* 362 */ NdrFcShort( 0x8 ), /* 8 */
-/* 364 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 366 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 368 */ NdrFcShort( 0x1 ), /* 1 */
-/* 370 */ NdrFcShort( 0x0 ), /* 0 */
-/* 372 */ NdrFcShort( 0x0 ), /* 0 */
-/* 374 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 376 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 378 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 380 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 382 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 384 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 386 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 388 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 390 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 392 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 394 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 396 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 398 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_textBeforeOffset */
-
-/* 400 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 402 */ NdrFcLong( 0x0 ), /* 0 */
-/* 406 */ NdrFcShort( 0xb ), /* 11 */
-/* 408 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
-/* 410 */ NdrFcShort( 0xe ), /* 14 */
-/* 412 */ NdrFcShort( 0x40 ), /* 64 */
-/* 414 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x6, /* 6 */
-/* 416 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 418 */ NdrFcShort( 0x1 ), /* 1 */
-/* 420 */ NdrFcShort( 0x0 ), /* 0 */
-/* 422 */ NdrFcShort( 0x0 ), /* 0 */
-/* 424 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 426 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 428 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 430 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter boundaryType */
-
-/* 432 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 434 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 436 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 438 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 440 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 442 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 444 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 446 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 448 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 450 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 452 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 454 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 456 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 458 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
-/* 460 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_textAfterOffset */
-
-/* 462 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 464 */ NdrFcLong( 0x0 ), /* 0 */
-/* 468 */ NdrFcShort( 0xc ), /* 12 */
-/* 470 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
-/* 472 */ NdrFcShort( 0xe ), /* 14 */
-/* 474 */ NdrFcShort( 0x40 ), /* 64 */
-/* 476 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x6, /* 6 */
-/* 478 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 480 */ NdrFcShort( 0x1 ), /* 1 */
-/* 482 */ NdrFcShort( 0x0 ), /* 0 */
-/* 484 */ NdrFcShort( 0x0 ), /* 0 */
-/* 486 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 488 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 490 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 492 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter boundaryType */
-
-/* 494 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 496 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 498 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 500 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 502 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 504 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 506 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 508 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 510 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 512 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 514 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 516 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 518 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 520 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
-/* 522 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_textAtOffset */
-
-/* 524 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 526 */ NdrFcLong( 0x0 ), /* 0 */
-/* 530 */ NdrFcShort( 0xd ), /* 13 */
-/* 532 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
-/* 534 */ NdrFcShort( 0xe ), /* 14 */
-/* 536 */ NdrFcShort( 0x40 ), /* 64 */
-/* 538 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x6, /* 6 */
-/* 540 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 542 */ NdrFcShort( 0x1 ), /* 1 */
-/* 544 */ NdrFcShort( 0x0 ), /* 0 */
-/* 546 */ NdrFcShort( 0x0 ), /* 0 */
-/* 548 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 550 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 552 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 554 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter boundaryType */
-
-/* 556 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 558 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 560 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 562 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 564 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 566 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 568 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 570 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 572 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 574 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 576 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 578 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 580 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 582 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
-/* 584 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure removeSelection */
-
-/* 586 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 588 */ NdrFcLong( 0x0 ), /* 0 */
-/* 592 */ NdrFcShort( 0xe ), /* 14 */
-/* 594 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 596 */ NdrFcShort( 0x8 ), /* 8 */
-/* 598 */ NdrFcShort( 0x8 ), /* 8 */
-/* 600 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 602 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 604 */ NdrFcShort( 0x0 ), /* 0 */
-/* 606 */ NdrFcShort( 0x0 ), /* 0 */
-/* 608 */ NdrFcShort( 0x0 ), /* 0 */
-/* 610 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter selectionIndex */
-
-/* 612 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 614 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 616 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 618 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 620 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 622 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure setCaretOffset */
-
-/* 624 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 626 */ NdrFcLong( 0x0 ), /* 0 */
-/* 630 */ NdrFcShort( 0xf ), /* 15 */
-/* 632 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 634 */ NdrFcShort( 0x8 ), /* 8 */
-/* 636 */ NdrFcShort( 0x8 ), /* 8 */
-/* 638 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 640 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 642 */ NdrFcShort( 0x0 ), /* 0 */
-/* 644 */ NdrFcShort( 0x0 ), /* 0 */
-/* 646 */ NdrFcShort( 0x0 ), /* 0 */
-/* 648 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 650 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 652 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 654 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 656 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 658 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 660 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure setSelection */
-
-/* 662 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 664 */ NdrFcLong( 0x0 ), /* 0 */
-/* 668 */ NdrFcShort( 0x10 ), /* 16 */
-/* 670 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 672 */ NdrFcShort( 0x18 ), /* 24 */
-/* 674 */ NdrFcShort( 0x8 ), /* 8 */
-/* 676 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 678 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 680 */ NdrFcShort( 0x0 ), /* 0 */
-/* 682 */ NdrFcShort( 0x0 ), /* 0 */
-/* 684 */ NdrFcShort( 0x0 ), /* 0 */
-/* 686 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter selectionIndex */
-
-/* 688 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 690 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 692 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 694 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 696 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 698 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 700 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 702 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 704 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 706 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 708 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 710 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nCharacters */
-
-/* 712 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 714 */ NdrFcLong( 0x0 ), /* 0 */
-/* 718 */ NdrFcShort( 0x11 ), /* 17 */
-/* 720 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 722 */ NdrFcShort( 0x0 ), /* 0 */
-/* 724 */ NdrFcShort( 0x24 ), /* 36 */
-/* 726 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 728 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 730 */ NdrFcShort( 0x0 ), /* 0 */
-/* 732 */ NdrFcShort( 0x0 ), /* 0 */
-/* 734 */ NdrFcShort( 0x0 ), /* 0 */
-/* 736 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nCharacters */
-
-/* 738 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 740 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 742 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 744 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 746 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 748 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure scrollSubstringTo */
-
-/* 750 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 752 */ NdrFcLong( 0x0 ), /* 0 */
-/* 756 */ NdrFcShort( 0x12 ), /* 18 */
-/* 758 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 760 */ NdrFcShort( 0x16 ), /* 22 */
-/* 762 */ NdrFcShort( 0x8 ), /* 8 */
-/* 764 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 766 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 768 */ NdrFcShort( 0x0 ), /* 0 */
-/* 770 */ NdrFcShort( 0x0 ), /* 0 */
-/* 772 */ NdrFcShort( 0x0 ), /* 0 */
-/* 774 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startIndex */
-
-/* 776 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 778 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 780 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endIndex */
-
-/* 782 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 784 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 786 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter scrollType */
-
-/* 788 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 790 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 792 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 794 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 796 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 798 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure scrollSubstringToPoint */
-
-/* 800 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 802 */ NdrFcLong( 0x0 ), /* 0 */
-/* 806 */ NdrFcShort( 0x13 ), /* 19 */
-/* 808 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
-/* 810 */ NdrFcShort( 0x26 ), /* 38 */
-/* 812 */ NdrFcShort( 0x8 ), /* 8 */
-/* 814 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x6, /* 6 */
-/* 816 */ 0xa, /* 10 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 818 */ NdrFcShort( 0x0 ), /* 0 */
-/* 820 */ NdrFcShort( 0x0 ), /* 0 */
-/* 822 */ NdrFcShort( 0x0 ), /* 0 */
-/* 824 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startIndex */
-
-/* 826 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 828 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 830 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endIndex */
-
-/* 832 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 834 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 836 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter coordinateType */
-
-/* 838 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 840 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 842 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter x */
-
-/* 844 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 846 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
-/* 848 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 850 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 852 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
-/* 854 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 856 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 858 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
-/* 860 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_newText */
-
-/* 862 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 864 */ NdrFcLong( 0x0 ), /* 0 */
-/* 868 */ NdrFcShort( 0x14 ), /* 20 */
-/* 870 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 872 */ NdrFcShort( 0x0 ), /* 0 */
-/* 874 */ NdrFcShort( 0x8 ), /* 8 */
-/* 876 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 878 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 880 */ NdrFcShort( 0x1 ), /* 1 */
-/* 882 */ NdrFcShort( 0x0 ), /* 0 */
-/* 884 */ NdrFcShort( 0x0 ), /* 0 */
-/* 886 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter newText */
-
-/* 888 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
-/* 890 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 892 */ NdrFcShort( 0x32 ), /* Type Offset=50 */
-
- /* Return value */
-
-/* 894 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 896 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 898 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_oldText */
-
-/* 900 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 902 */ NdrFcLong( 0x0 ), /* 0 */
-/* 906 */ NdrFcShort( 0x15 ), /* 21 */
-/* 908 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 910 */ NdrFcShort( 0x0 ), /* 0 */
-/* 912 */ NdrFcShort( 0x8 ), /* 8 */
-/* 914 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 916 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 918 */ NdrFcShort( 0x1 ), /* 1 */
-/* 920 */ NdrFcShort( 0x0 ), /* 0 */
-/* 922 */ NdrFcShort( 0x0 ), /* 0 */
-/* 924 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter oldText */
-
-/* 926 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
-/* 928 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 930 */ NdrFcShort( 0x32 ), /* Type Offset=50 */
-
- /* Return value */
-
-/* 932 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 934 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 936 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleText_MIDL_TYPE_FORMAT_STRING AccessibleText__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 6 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 8 */ NdrFcShort( 0x1c ), /* Offset= 28 (36) */
-/* 10 */
- 0x13, 0x0, /* FC_OP */
-/* 12 */ NdrFcShort( 0xe ), /* Offset= 14 (26) */
-/* 14 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 16 */ NdrFcShort( 0x2 ), /* 2 */
-/* 18 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 20 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 22 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 24 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 26 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 28 */ NdrFcShort( 0x8 ), /* 8 */
-/* 30 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (14) */
-/* 32 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 34 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 36 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0x8 ), /* 8 */
-/* 42 */ NdrFcShort( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0xffde ), /* Offset= -34 (10) */
-/* 46 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */
-/* 50 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 52 */ NdrFcShort( 0x10 ), /* 16 */
-/* 54 */ NdrFcShort( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x0 ), /* Offset= 0 (56) */
-/* 58 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 60 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (36) */
-/* 62 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 64 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Standard interface: __MIDL_itf_AccessibleText_0000_0000, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleText, ver. 0.0,
- GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleText_FormatStringOffsetTable[] =
- {
- 0,
- 44,
- 100,
- 138,
- 206,
- 244,
- 300,
- 350,
- 400,
- 462,
- 524,
- 586,
- 624,
- 662,
- 712,
- 750,
- 800,
- 862,
- 900
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleText__MIDL_ProcFormatString.Format,
- &IAccessibleText_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleText_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleText__MIDL_ProcFormatString.Format,
- &IAccessibleText_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(22) _IAccessibleTextProxyVtbl =
-{
- &IAccessibleText_ProxyInfo,
- &IID_IAccessibleText,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */
-};
-
-const CInterfaceStubVtbl _IAccessibleTextStubVtbl =
-{
- &IID_IAccessibleText,
- &IAccessibleText_ServerInfo,
- 22,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleText__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleText_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleTextProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleText_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleTextStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleText_InterfaceNamesList[] =
-{
- "IAccessibleText",
- 0
-};
-
-
-#define _AccessibleText_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleText, pIID, n)
-
-int __stdcall _AccessibleText_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleText_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleText_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleText_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleText_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleText_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleText_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue.h
deleted file mode 100644
index b27f9bb0c2..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue.h
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for AccessibleValue.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleValue_h__
-#define __AccessibleValue_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleValue_FWD_DEFINED__
-#define __IAccessibleValue_FWD_DEFINED__
-typedef interface IAccessibleValue IAccessibleValue;
-#endif /* __IAccessibleValue_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleValue_INTERFACE_DEFINED__
-#define __IAccessibleValue_INTERFACE_DEFINED__
-
-/* interface IAccessibleValue */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleValue;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("35855B5B-C566-4fd0-A7B1-E65465600394")
- IAccessibleValue : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentValue(
- /* [retval][out] */ VARIANT *currentValue) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE setCurrentValue(
- /* [in] */ VARIANT value) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_maximumValue(
- /* [retval][out] */ VARIANT *maximumValue) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_minimumValue(
- /* [retval][out] */ VARIANT *minimumValue) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleValueVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleValue * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleValue * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleValue * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentValue )(
- IAccessibleValue * This,
- /* [retval][out] */ VARIANT *currentValue);
-
- HRESULT ( STDMETHODCALLTYPE *setCurrentValue )(
- IAccessibleValue * This,
- /* [in] */ VARIANT value);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_maximumValue )(
- IAccessibleValue * This,
- /* [retval][out] */ VARIANT *maximumValue);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_minimumValue )(
- IAccessibleValue * This,
- /* [retval][out] */ VARIANT *minimumValue);
-
- END_INTERFACE
- } IAccessibleValueVtbl;
-
- interface IAccessibleValue
- {
- CONST_VTBL struct IAccessibleValueVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleValue_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleValue_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleValue_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleValue_get_currentValue(This,currentValue) \
- ( (This)->lpVtbl -> get_currentValue(This,currentValue) )
-
-#define IAccessibleValue_setCurrentValue(This,value) \
- ( (This)->lpVtbl -> setCurrentValue(This,value) )
-
-#define IAccessibleValue_get_maximumValue(This,maximumValue) \
- ( (This)->lpVtbl -> get_maximumValue(This,maximumValue) )
-
-#define IAccessibleValue_get_minimumValue(This,minimumValue) \
- ( (This)->lpVtbl -> get_minimumValue(This,minimumValue) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleValue_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
-unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
-unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
-void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_i.c
deleted file mode 100644
index bc757ff1a1..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for AccessibleValue.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleValue,0x35855B5B,0xC566,0x4fd0,0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_p.c
deleted file mode 100644
index c3fd72ceb2..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_p.c
+++ /dev/null
@@ -1,1029 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for AccessibleValue.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleValue.h"
-
-#define TYPE_FORMAT_STRING_SIZE 1007
-#define PROC_FORMAT_STRING_SIZE 153
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleValue_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleValue_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleValue_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleValue_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleValue_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleValue_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleValue_MIDL_TYPE_FORMAT_STRING AccessibleValue__MIDL_TypeFormatString;
-extern const AccessibleValue_MIDL_PROC_FORMAT_STRING AccessibleValue__MIDL_ProcFormatString;
-extern const AccessibleValue_MIDL_EXPR_FORMAT_STRING AccessibleValue__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleValue_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN64__)
-#error Invalid build platform for this stub.
-#endif
-
-static const AccessibleValue_MIDL_PROC_FORMAT_STRING AccessibleValue__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_currentValue */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 18 */ NdrFcShort( 0x1 ), /* 1 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter currentValue */
-
-/* 26 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
-/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 30 */ NdrFcShort( 0x3d2 ), /* Type Offset=978 */
-
- /* Return value */
-
-/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 36 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure setCurrentValue */
-
-/* 38 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 40 */ NdrFcLong( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0x4 ), /* 4 */
-/* 46 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 48 */ NdrFcShort( 0x0 ), /* 0 */
-/* 50 */ NdrFcShort( 0x8 ), /* 8 */
-/* 52 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
- 0x2, /* 2 */
-/* 54 */ 0xa, /* 10 */
- 0x85, /* Ext Flags: new corr desc, srv corr check, has big amd64 byval param */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x1 ), /* 1 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter value */
-
-/* 64 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
-/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 68 */ NdrFcShort( 0x3e4 ), /* Type Offset=996 */
-
- /* Return value */
-
-/* 70 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 74 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_maximumValue */
-
-/* 76 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 78 */ NdrFcLong( 0x0 ), /* 0 */
-/* 82 */ NdrFcShort( 0x5 ), /* 5 */
-/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 86 */ NdrFcShort( 0x0 ), /* 0 */
-/* 88 */ NdrFcShort( 0x8 ), /* 8 */
-/* 90 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 92 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 94 */ NdrFcShort( 0x1 ), /* 1 */
-/* 96 */ NdrFcShort( 0x0 ), /* 0 */
-/* 98 */ NdrFcShort( 0x0 ), /* 0 */
-/* 100 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maximumValue */
-
-/* 102 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
-/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 106 */ NdrFcShort( 0x3d2 ), /* Type Offset=978 */
-
- /* Return value */
-
-/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 110 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_minimumValue */
-
-/* 114 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 116 */ NdrFcLong( 0x0 ), /* 0 */
-/* 120 */ NdrFcShort( 0x6 ), /* 6 */
-/* 122 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
-/* 124 */ NdrFcShort( 0x0 ), /* 0 */
-/* 126 */ NdrFcShort( 0x8 ), /* 8 */
-/* 128 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 130 */ 0xa, /* 10 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 132 */ NdrFcShort( 0x1 ), /* 1 */
-/* 134 */ NdrFcShort( 0x0 ), /* 0 */
-/* 136 */ NdrFcShort( 0x0 ), /* 0 */
-/* 138 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter minimumValue */
-
-/* 140 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
-/* 142 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
-/* 144 */ NdrFcShort( 0x3d2 ), /* Type Offset=978 */
-
- /* Return value */
-
-/* 146 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 148 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
-/* 150 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleValue_MIDL_TYPE_FORMAT_STRING AccessibleValue__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 4 */ NdrFcShort( 0x3ce ), /* Offset= 974 (978) */
-/* 6 */
- 0x13, 0x0, /* FC_OP */
-/* 8 */ NdrFcShort( 0x3b6 ), /* Offset= 950 (958) */
-/* 10 */
- 0x2b, /* FC_NON_ENCAPSULATED_UNION */
- 0x9, /* FC_ULONG */
-/* 12 */ 0x7, /* Corr desc: FC_USHORT */
- 0x0, /* */
-/* 14 */ NdrFcShort( 0xfff8 ), /* -8 */
-/* 16 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 18 */ NdrFcShort( 0x2 ), /* Offset= 2 (20) */
-/* 20 */ NdrFcShort( 0x10 ), /* 16 */
-/* 22 */ NdrFcShort( 0x2f ), /* 47 */
-/* 24 */ NdrFcLong( 0x14 ), /* 20 */
-/* 28 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
-/* 30 */ NdrFcLong( 0x3 ), /* 3 */
-/* 34 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 36 */ NdrFcLong( 0x11 ), /* 17 */
-/* 40 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */
-/* 42 */ NdrFcLong( 0x2 ), /* 2 */
-/* 46 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 48 */ NdrFcLong( 0x4 ), /* 4 */
-/* 52 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */
-/* 54 */ NdrFcLong( 0x5 ), /* 5 */
-/* 58 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
-/* 60 */ NdrFcLong( 0xb ), /* 11 */
-/* 64 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 66 */ NdrFcLong( 0xa ), /* 10 */
-/* 70 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 72 */ NdrFcLong( 0x6 ), /* 6 */
-/* 76 */ NdrFcShort( 0xe8 ), /* Offset= 232 (308) */
-/* 78 */ NdrFcLong( 0x7 ), /* 7 */
-/* 82 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
-/* 84 */ NdrFcLong( 0x8 ), /* 8 */
-/* 88 */ NdrFcShort( 0xe2 ), /* Offset= 226 (314) */
-/* 90 */ NdrFcLong( 0xd ), /* 13 */
-/* 94 */ NdrFcShort( 0xf6 ), /* Offset= 246 (340) */
-/* 96 */ NdrFcLong( 0x9 ), /* 9 */
-/* 100 */ NdrFcShort( 0x102 ), /* Offset= 258 (358) */
-/* 102 */ NdrFcLong( 0x2000 ), /* 8192 */
-/* 106 */ NdrFcShort( 0x10e ), /* Offset= 270 (376) */
-/* 108 */ NdrFcLong( 0x24 ), /* 36 */
-/* 112 */ NdrFcShort( 0x304 ), /* Offset= 772 (884) */
-/* 114 */ NdrFcLong( 0x4024 ), /* 16420 */
-/* 118 */ NdrFcShort( 0x2fe ), /* Offset= 766 (884) */
-/* 120 */ NdrFcLong( 0x4011 ), /* 16401 */
-/* 124 */ NdrFcShort( 0x2fc ), /* Offset= 764 (888) */
-/* 126 */ NdrFcLong( 0x4002 ), /* 16386 */
-/* 130 */ NdrFcShort( 0x2fa ), /* Offset= 762 (892) */
-/* 132 */ NdrFcLong( 0x4003 ), /* 16387 */
-/* 136 */ NdrFcShort( 0x2f8 ), /* Offset= 760 (896) */
-/* 138 */ NdrFcLong( 0x4014 ), /* 16404 */
-/* 142 */ NdrFcShort( 0x2f6 ), /* Offset= 758 (900) */
-/* 144 */ NdrFcLong( 0x4004 ), /* 16388 */
-/* 148 */ NdrFcShort( 0x2f4 ), /* Offset= 756 (904) */
-/* 150 */ NdrFcLong( 0x4005 ), /* 16389 */
-/* 154 */ NdrFcShort( 0x2f2 ), /* Offset= 754 (908) */
-/* 156 */ NdrFcLong( 0x400b ), /* 16395 */
-/* 160 */ NdrFcShort( 0x2dc ), /* Offset= 732 (892) */
-/* 162 */ NdrFcLong( 0x400a ), /* 16394 */
-/* 166 */ NdrFcShort( 0x2da ), /* Offset= 730 (896) */
-/* 168 */ NdrFcLong( 0x4006 ), /* 16390 */
-/* 172 */ NdrFcShort( 0x2e4 ), /* Offset= 740 (912) */
-/* 174 */ NdrFcLong( 0x4007 ), /* 16391 */
-/* 178 */ NdrFcShort( 0x2da ), /* Offset= 730 (908) */
-/* 180 */ NdrFcLong( 0x4008 ), /* 16392 */
-/* 184 */ NdrFcShort( 0x2dc ), /* Offset= 732 (916) */
-/* 186 */ NdrFcLong( 0x400d ), /* 16397 */
-/* 190 */ NdrFcShort( 0x2da ), /* Offset= 730 (920) */
-/* 192 */ NdrFcLong( 0x4009 ), /* 16393 */
-/* 196 */ NdrFcShort( 0x2d8 ), /* Offset= 728 (924) */
-/* 198 */ NdrFcLong( 0x6000 ), /* 24576 */
-/* 202 */ NdrFcShort( 0x2d6 ), /* Offset= 726 (928) */
-/* 204 */ NdrFcLong( 0x400c ), /* 16396 */
-/* 208 */ NdrFcShort( 0x2d4 ), /* Offset= 724 (932) */
-/* 210 */ NdrFcLong( 0x10 ), /* 16 */
-/* 214 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */
-/* 216 */ NdrFcLong( 0x12 ), /* 18 */
-/* 220 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 222 */ NdrFcLong( 0x13 ), /* 19 */
-/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 228 */ NdrFcLong( 0x15 ), /* 21 */
-/* 232 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
-/* 234 */ NdrFcLong( 0x16 ), /* 22 */
-/* 238 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 240 */ NdrFcLong( 0x17 ), /* 23 */
-/* 244 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 246 */ NdrFcLong( 0xe ), /* 14 */
-/* 250 */ NdrFcShort( 0x2b2 ), /* Offset= 690 (940) */
-/* 252 */ NdrFcLong( 0x400e ), /* 16398 */
-/* 256 */ NdrFcShort( 0x2b6 ), /* Offset= 694 (950) */
-/* 258 */ NdrFcLong( 0x4010 ), /* 16400 */
-/* 262 */ NdrFcShort( 0x2b4 ), /* Offset= 692 (954) */
-/* 264 */ NdrFcLong( 0x4012 ), /* 16402 */
-/* 268 */ NdrFcShort( 0x270 ), /* Offset= 624 (892) */
-/* 270 */ NdrFcLong( 0x4013 ), /* 16403 */
-/* 274 */ NdrFcShort( 0x26e ), /* Offset= 622 (896) */
-/* 276 */ NdrFcLong( 0x4015 ), /* 16405 */
-/* 280 */ NdrFcShort( 0x26c ), /* Offset= 620 (900) */
-/* 282 */ NdrFcLong( 0x4016 ), /* 16406 */
-/* 286 */ NdrFcShort( 0x262 ), /* Offset= 610 (896) */
-/* 288 */ NdrFcLong( 0x4017 ), /* 16407 */
-/* 292 */ NdrFcShort( 0x25c ), /* Offset= 604 (896) */
-/* 294 */ NdrFcLong( 0x0 ), /* 0 */
-/* 298 */ NdrFcShort( 0x0 ), /* Offset= 0 (298) */
-/* 300 */ NdrFcLong( 0x1 ), /* 1 */
-/* 304 */ NdrFcShort( 0x0 ), /* Offset= 0 (304) */
-/* 306 */ NdrFcShort( 0xffff ), /* Offset= -1 (305) */
-/* 308 */
- 0x15, /* FC_STRUCT */
- 0x7, /* 7 */
-/* 310 */ NdrFcShort( 0x8 ), /* 8 */
-/* 312 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 314 */
- 0x13, 0x0, /* FC_OP */
-/* 316 */ NdrFcShort( 0xe ), /* Offset= 14 (330) */
-/* 318 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 320 */ NdrFcShort( 0x2 ), /* 2 */
-/* 322 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 324 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 326 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 328 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 330 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 332 */ NdrFcShort( 0x8 ), /* 8 */
-/* 334 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (318) */
-/* 336 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 338 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 340 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 342 */ NdrFcLong( 0x0 ), /* 0 */
-/* 346 */ NdrFcShort( 0x0 ), /* 0 */
-/* 348 */ NdrFcShort( 0x0 ), /* 0 */
-/* 350 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 352 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 354 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 356 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 358 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 360 */ NdrFcLong( 0x20400 ), /* 132096 */
-/* 364 */ NdrFcShort( 0x0 ), /* 0 */
-/* 366 */ NdrFcShort( 0x0 ), /* 0 */
-/* 368 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 370 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 372 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 374 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 376 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 378 */ NdrFcShort( 0x2 ), /* Offset= 2 (380) */
-/* 380 */
- 0x13, 0x0, /* FC_OP */
-/* 382 */ NdrFcShort( 0x1e4 ), /* Offset= 484 (866) */
-/* 384 */
- 0x2a, /* FC_ENCAPSULATED_UNION */
- 0x89, /* 137 */
-/* 386 */ NdrFcShort( 0x20 ), /* 32 */
-/* 388 */ NdrFcShort( 0xa ), /* 10 */
-/* 390 */ NdrFcLong( 0x8 ), /* 8 */
-/* 394 */ NdrFcShort( 0x50 ), /* Offset= 80 (474) */
-/* 396 */ NdrFcLong( 0xd ), /* 13 */
-/* 400 */ NdrFcShort( 0x70 ), /* Offset= 112 (512) */
-/* 402 */ NdrFcLong( 0x9 ), /* 9 */
-/* 406 */ NdrFcShort( 0x90 ), /* Offset= 144 (550) */
-/* 408 */ NdrFcLong( 0xc ), /* 12 */
-/* 412 */ NdrFcShort( 0xb0 ), /* Offset= 176 (588) */
-/* 414 */ NdrFcLong( 0x24 ), /* 36 */
-/* 418 */ NdrFcShort( 0x102 ), /* Offset= 258 (676) */
-/* 420 */ NdrFcLong( 0x800d ), /* 32781 */
-/* 424 */ NdrFcShort( 0x11e ), /* Offset= 286 (710) */
-/* 426 */ NdrFcLong( 0x10 ), /* 16 */
-/* 430 */ NdrFcShort( 0x138 ), /* Offset= 312 (742) */
-/* 432 */ NdrFcLong( 0x2 ), /* 2 */
-/* 436 */ NdrFcShort( 0x14e ), /* Offset= 334 (770) */
-/* 438 */ NdrFcLong( 0x3 ), /* 3 */
-/* 442 */ NdrFcShort( 0x164 ), /* Offset= 356 (798) */
-/* 444 */ NdrFcLong( 0x14 ), /* 20 */
-/* 448 */ NdrFcShort( 0x17a ), /* Offset= 378 (826) */
-/* 450 */ NdrFcShort( 0xffff ), /* Offset= -1 (449) */
-/* 452 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 454 */ NdrFcShort( 0x0 ), /* 0 */
-/* 456 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 458 */ NdrFcShort( 0x0 ), /* 0 */
-/* 460 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 462 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 466 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 468 */
- 0x13, 0x0, /* FC_OP */
-/* 470 */ NdrFcShort( 0xff74 ), /* Offset= -140 (330) */
-/* 472 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 474 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 476 */ NdrFcShort( 0x10 ), /* 16 */
-/* 478 */ NdrFcShort( 0x0 ), /* 0 */
-/* 480 */ NdrFcShort( 0x6 ), /* Offset= 6 (486) */
-/* 482 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 484 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 486 */
- 0x11, 0x0, /* FC_RP */
-/* 488 */ NdrFcShort( 0xffdc ), /* Offset= -36 (452) */
-/* 490 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 492 */ NdrFcShort( 0x0 ), /* 0 */
-/* 494 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 496 */ NdrFcShort( 0x0 ), /* 0 */
-/* 498 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 500 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 504 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 506 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 508 */ NdrFcShort( 0xff58 ), /* Offset= -168 (340) */
-/* 510 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 512 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 514 */ NdrFcShort( 0x10 ), /* 16 */
-/* 516 */ NdrFcShort( 0x0 ), /* 0 */
-/* 518 */ NdrFcShort( 0x6 ), /* Offset= 6 (524) */
-/* 520 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 522 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 524 */
- 0x11, 0x0, /* FC_RP */
-/* 526 */ NdrFcShort( 0xffdc ), /* Offset= -36 (490) */
-/* 528 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 530 */ NdrFcShort( 0x0 ), /* 0 */
-/* 532 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 534 */ NdrFcShort( 0x0 ), /* 0 */
-/* 536 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 538 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 542 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 544 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 546 */ NdrFcShort( 0xff44 ), /* Offset= -188 (358) */
-/* 548 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 550 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 552 */ NdrFcShort( 0x10 ), /* 16 */
-/* 554 */ NdrFcShort( 0x0 ), /* 0 */
-/* 556 */ NdrFcShort( 0x6 ), /* Offset= 6 (562) */
-/* 558 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 560 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 562 */
- 0x11, 0x0, /* FC_RP */
-/* 564 */ NdrFcShort( 0xffdc ), /* Offset= -36 (528) */
-/* 566 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 568 */ NdrFcShort( 0x0 ), /* 0 */
-/* 570 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 572 */ NdrFcShort( 0x0 ), /* 0 */
-/* 574 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 576 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 580 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 582 */
- 0x13, 0x0, /* FC_OP */
-/* 584 */ NdrFcShort( 0x176 ), /* Offset= 374 (958) */
-/* 586 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 588 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 590 */ NdrFcShort( 0x10 ), /* 16 */
-/* 592 */ NdrFcShort( 0x0 ), /* 0 */
-/* 594 */ NdrFcShort( 0x6 ), /* Offset= 6 (600) */
-/* 596 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 598 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 600 */
- 0x11, 0x0, /* FC_RP */
-/* 602 */ NdrFcShort( 0xffdc ), /* Offset= -36 (566) */
-/* 604 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 606 */ NdrFcLong( 0x2f ), /* 47 */
-/* 610 */ NdrFcShort( 0x0 ), /* 0 */
-/* 612 */ NdrFcShort( 0x0 ), /* 0 */
-/* 614 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 616 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 618 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 620 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 622 */
- 0x1b, /* FC_CARRAY */
- 0x0, /* 0 */
-/* 624 */ NdrFcShort( 0x1 ), /* 1 */
-/* 626 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 628 */ NdrFcShort( 0x4 ), /* 4 */
-/* 630 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 632 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 634 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 636 */ NdrFcShort( 0x18 ), /* 24 */
-/* 638 */ NdrFcShort( 0x0 ), /* 0 */
-/* 640 */ NdrFcShort( 0xa ), /* Offset= 10 (650) */
-/* 642 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 644 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 646 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (604) */
-/* 648 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 650 */
- 0x13, 0x0, /* FC_OP */
-/* 652 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (622) */
-/* 654 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 656 */ NdrFcShort( 0x0 ), /* 0 */
-/* 658 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 660 */ NdrFcShort( 0x0 ), /* 0 */
-/* 662 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 664 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 668 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 670 */
- 0x13, 0x0, /* FC_OP */
-/* 672 */ NdrFcShort( 0xffda ), /* Offset= -38 (634) */
-/* 674 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 676 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 678 */ NdrFcShort( 0x10 ), /* 16 */
-/* 680 */ NdrFcShort( 0x0 ), /* 0 */
-/* 682 */ NdrFcShort( 0x6 ), /* Offset= 6 (688) */
-/* 684 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 686 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 688 */
- 0x11, 0x0, /* FC_RP */
-/* 690 */ NdrFcShort( 0xffdc ), /* Offset= -36 (654) */
-/* 692 */
- 0x1d, /* FC_SMFARRAY */
- 0x0, /* 0 */
-/* 694 */ NdrFcShort( 0x8 ), /* 8 */
-/* 696 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 698 */
- 0x15, /* FC_STRUCT */
- 0x3, /* 3 */
-/* 700 */ NdrFcShort( 0x10 ), /* 16 */
-/* 702 */ 0x8, /* FC_LONG */
- 0x6, /* FC_SHORT */
-/* 704 */ 0x6, /* FC_SHORT */
- 0x4c, /* FC_EMBEDDED_COMPLEX */
-/* 706 */ 0x0, /* 0 */
- NdrFcShort( 0xfff1 ), /* Offset= -15 (692) */
- 0x5b, /* FC_END */
-/* 710 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 712 */ NdrFcShort( 0x20 ), /* 32 */
-/* 714 */ NdrFcShort( 0x0 ), /* 0 */
-/* 716 */ NdrFcShort( 0xa ), /* Offset= 10 (726) */
-/* 718 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 720 */ 0x36, /* FC_POINTER */
- 0x4c, /* FC_EMBEDDED_COMPLEX */
-/* 722 */ 0x0, /* 0 */
- NdrFcShort( 0xffe7 ), /* Offset= -25 (698) */
- 0x5b, /* FC_END */
-/* 726 */
- 0x11, 0x0, /* FC_RP */
-/* 728 */ NdrFcShort( 0xff12 ), /* Offset= -238 (490) */
-/* 730 */
- 0x1b, /* FC_CARRAY */
- 0x0, /* 0 */
-/* 732 */ NdrFcShort( 0x1 ), /* 1 */
-/* 734 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 736 */ NdrFcShort( 0x0 ), /* 0 */
-/* 738 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 740 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 742 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 744 */ NdrFcShort( 0x10 ), /* 16 */
-/* 746 */ NdrFcShort( 0x0 ), /* 0 */
-/* 748 */ NdrFcShort( 0x6 ), /* Offset= 6 (754) */
-/* 750 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 752 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 754 */
- 0x13, 0x0, /* FC_OP */
-/* 756 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (730) */
-/* 758 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 760 */ NdrFcShort( 0x2 ), /* 2 */
-/* 762 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 764 */ NdrFcShort( 0x0 ), /* 0 */
-/* 766 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 768 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 770 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 772 */ NdrFcShort( 0x10 ), /* 16 */
-/* 774 */ NdrFcShort( 0x0 ), /* 0 */
-/* 776 */ NdrFcShort( 0x6 ), /* Offset= 6 (782) */
-/* 778 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 780 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 782 */
- 0x13, 0x0, /* FC_OP */
-/* 784 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (758) */
-/* 786 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 788 */ NdrFcShort( 0x4 ), /* 4 */
-/* 790 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 792 */ NdrFcShort( 0x0 ), /* 0 */
-/* 794 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 796 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 798 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 800 */ NdrFcShort( 0x10 ), /* 16 */
-/* 802 */ NdrFcShort( 0x0 ), /* 0 */
-/* 804 */ NdrFcShort( 0x6 ), /* Offset= 6 (810) */
-/* 806 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 808 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 810 */
- 0x13, 0x0, /* FC_OP */
-/* 812 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (786) */
-/* 814 */
- 0x1b, /* FC_CARRAY */
- 0x7, /* 7 */
-/* 816 */ NdrFcShort( 0x8 ), /* 8 */
-/* 818 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 820 */ NdrFcShort( 0x0 ), /* 0 */
-/* 822 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 824 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 826 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 828 */ NdrFcShort( 0x10 ), /* 16 */
-/* 830 */ NdrFcShort( 0x0 ), /* 0 */
-/* 832 */ NdrFcShort( 0x6 ), /* Offset= 6 (838) */
-/* 834 */ 0x8, /* FC_LONG */
- 0x40, /* FC_STRUCTPAD4 */
-/* 836 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 838 */
- 0x13, 0x0, /* FC_OP */
-/* 840 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (814) */
-/* 842 */
- 0x15, /* FC_STRUCT */
- 0x3, /* 3 */
-/* 844 */ NdrFcShort( 0x8 ), /* 8 */
-/* 846 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 848 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 850 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 852 */ NdrFcShort( 0x8 ), /* 8 */
-/* 854 */ 0x7, /* Corr desc: FC_USHORT */
- 0x0, /* */
-/* 856 */ NdrFcShort( 0xffc8 ), /* -56 */
-/* 858 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 860 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 862 */ NdrFcShort( 0xffec ), /* Offset= -20 (842) */
-/* 864 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 866 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 868 */ NdrFcShort( 0x38 ), /* 56 */
-/* 870 */ NdrFcShort( 0xffec ), /* Offset= -20 (850) */
-/* 872 */ NdrFcShort( 0x0 ), /* Offset= 0 (872) */
-/* 874 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 876 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 878 */ 0x40, /* FC_STRUCTPAD4 */
- 0x4c, /* FC_EMBEDDED_COMPLEX */
-/* 880 */ 0x0, /* 0 */
- NdrFcShort( 0xfe0f ), /* Offset= -497 (384) */
- 0x5b, /* FC_END */
-/* 884 */
- 0x13, 0x0, /* FC_OP */
-/* 886 */ NdrFcShort( 0xff04 ), /* Offset= -252 (634) */
-/* 888 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 890 */ 0x1, /* FC_BYTE */
- 0x5c, /* FC_PAD */
-/* 892 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 894 */ 0x6, /* FC_SHORT */
- 0x5c, /* FC_PAD */
-/* 896 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 898 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 900 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 902 */ 0xb, /* FC_HYPER */
- 0x5c, /* FC_PAD */
-/* 904 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 906 */ 0xa, /* FC_FLOAT */
- 0x5c, /* FC_PAD */
-/* 908 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 910 */ 0xc, /* FC_DOUBLE */
- 0x5c, /* FC_PAD */
-/* 912 */
- 0x13, 0x0, /* FC_OP */
-/* 914 */ NdrFcShort( 0xfda2 ), /* Offset= -606 (308) */
-/* 916 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 918 */ NdrFcShort( 0xfda4 ), /* Offset= -604 (314) */
-/* 920 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 922 */ NdrFcShort( 0xfdba ), /* Offset= -582 (340) */
-/* 924 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 926 */ NdrFcShort( 0xfdc8 ), /* Offset= -568 (358) */
-/* 928 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 930 */ NdrFcShort( 0xfdd6 ), /* Offset= -554 (376) */
-/* 932 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 934 */ NdrFcShort( 0x2 ), /* Offset= 2 (936) */
-/* 936 */
- 0x13, 0x0, /* FC_OP */
-/* 938 */ NdrFcShort( 0x14 ), /* Offset= 20 (958) */
-/* 940 */
- 0x15, /* FC_STRUCT */
- 0x7, /* 7 */
-/* 942 */ NdrFcShort( 0x10 ), /* 16 */
-/* 944 */ 0x6, /* FC_SHORT */
- 0x1, /* FC_BYTE */
-/* 946 */ 0x1, /* FC_BYTE */
- 0x8, /* FC_LONG */
-/* 948 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 950 */
- 0x13, 0x0, /* FC_OP */
-/* 952 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (940) */
-/* 954 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 956 */ 0x2, /* FC_CHAR */
- 0x5c, /* FC_PAD */
-/* 958 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x7, /* 7 */
-/* 960 */ NdrFcShort( 0x20 ), /* 32 */
-/* 962 */ NdrFcShort( 0x0 ), /* 0 */
-/* 964 */ NdrFcShort( 0x0 ), /* Offset= 0 (964) */
-/* 966 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 968 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 970 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 972 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 974 */ NdrFcShort( 0xfc3c ), /* Offset= -964 (10) */
-/* 976 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 978 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 980 */ NdrFcShort( 0x0 ), /* 0 */
-/* 982 */ NdrFcShort( 0x18 ), /* 24 */
-/* 984 */ NdrFcShort( 0x0 ), /* 0 */
-/* 986 */ NdrFcShort( 0xfc2c ), /* Offset= -980 (6) */
-/* 988 */
- 0x11, 0x0, /* FC_RP */
-/* 990 */ NdrFcShort( 0x6 ), /* Offset= 6 (996) */
-/* 992 */
- 0x12, 0x0, /* FC_UP */
-/* 994 */ NdrFcShort( 0xffdc ), /* Offset= -36 (958) */
-/* 996 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 998 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1000 */ NdrFcShort( 0x18 ), /* 24 */
-/* 1002 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1004 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (992) */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- VARIANT_UserSize
- ,VARIANT_UserMarshal
- ,VARIANT_UserUnmarshal
- ,VARIANT_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleValue, ver. 0.0,
- GUID={0x35855B5B,0xC566,0x4fd0,{0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleValue_FormatStringOffsetTable[] =
- {
- 0,
- 38,
- 76,
- 114
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleValue__MIDL_ProcFormatString.Format,
- &IAccessibleValue_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleValue_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleValue__MIDL_ProcFormatString.Format,
- &IAccessibleValue_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(7) _IAccessibleValueProxyVtbl =
-{
- &IAccessibleValue_ProxyInfo,
- &IID_IAccessibleValue,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleValue::get_currentValue */ ,
- (void *) (INT_PTR) -1 /* IAccessibleValue::setCurrentValue */ ,
- (void *) (INT_PTR) -1 /* IAccessibleValue::get_maximumValue */ ,
- (void *) (INT_PTR) -1 /* IAccessibleValue::get_minimumValue */
-};
-
-const CInterfaceStubVtbl _IAccessibleValueStubVtbl =
-{
- &IID_IAccessibleValue,
- &IAccessibleValue_ServerInfo,
- 7,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleValue__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleValue_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleValueProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleValue_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleValueStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleValue_InterfaceNamesList[] =
-{
- "IAccessibleValue",
- 0
-};
-
-
-#define _AccessibleValue_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleValue, pIID, n)
-
-int __stdcall _AccessibleValue_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleValue_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleValue_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleValue_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleValue_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleValue_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleValue_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/IA2CommonTypes.h b/src/3rdparty/iaccessible2/generated/amd64/IA2CommonTypes.h
deleted file mode 100644
index 5b5a313541..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/IA2CommonTypes.h
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for IA2CommonTypes.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-
-#ifndef __IA2CommonTypes_h__
-#define __IA2CommonTypes_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_IA2CommonTypes_0000_0000 */
-/* [local] */
-
-
-enum IA2ScrollType
- { IA2_SCROLL_TYPE_TOP_LEFT = 0,
- IA2_SCROLL_TYPE_BOTTOM_RIGHT = ( IA2_SCROLL_TYPE_TOP_LEFT + 1 ) ,
- IA2_SCROLL_TYPE_TOP_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_RIGHT + 1 ) ,
- IA2_SCROLL_TYPE_BOTTOM_EDGE = ( IA2_SCROLL_TYPE_TOP_EDGE + 1 ) ,
- IA2_SCROLL_TYPE_LEFT_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_EDGE + 1 ) ,
- IA2_SCROLL_TYPE_RIGHT_EDGE = ( IA2_SCROLL_TYPE_LEFT_EDGE + 1 ) ,
- IA2_SCROLL_TYPE_ANYWHERE = ( IA2_SCROLL_TYPE_RIGHT_EDGE + 1 )
- } ;
-
-enum IA2CoordinateType
- { IA2_COORDTYPE_SCREEN_RELATIVE = 0,
- IA2_COORDTYPE_PARENT_RELATIVE = ( IA2_COORDTYPE_SCREEN_RELATIVE + 1 )
- } ;
-
-enum IA2TextSpecialOffsets
- { IA2_TEXT_OFFSET_LENGTH = -1,
- IA2_TEXT_OFFSET_CARET = -2
- } ;
-
-enum IA2TableModelChangeType
- { IA2_TABLE_MODEL_CHANGE_INSERT = 0,
- IA2_TABLE_MODEL_CHANGE_DELETE = ( IA2_TABLE_MODEL_CHANGE_INSERT + 1 ) ,
- IA2_TABLE_MODEL_CHANGE_UPDATE = ( IA2_TABLE_MODEL_CHANGE_DELETE + 1 )
- } ;
-typedef struct IA2TableModelChange
- {
- enum IA2TableModelChangeType type;
- long firstRow;
- long lastRow;
- long firstColumn;
- long lastColumn;
- } IA2TableModelChange;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_IA2CommonTypes_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_IA2CommonTypes_0000_0000_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.h b/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.h
deleted file mode 100644
index 31142c6b44..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.h
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for IA2TypeLibrary.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-
-#ifndef __IA2TypeLibrary_h__
-#define __IA2TypeLibrary_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_IA2TypeLibrary_0000_0000 */
-/* [local] */
-
-
-// Type Library Definitions
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_IA2TypeLibrary_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_IA2TypeLibrary_0000_0000_v0_0_s_ifspec;
-
-
-#ifndef __IAccessible2Lib_LIBRARY_DEFINED__
-#define __IAccessible2Lib_LIBRARY_DEFINED__
-
-/* library IAccessible2Lib */
-/* [hidden][version][helpstring][uuid] */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-EXTERN_C const IID LIBID_IAccessible2Lib;
-#endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.tlb b/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.tlb
deleted file mode 100644
index 44e7cdc173..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.tlb
+++ /dev/null
Binary files differ
diff --git a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary_i.c b/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary_i.c
deleted file mode 100644
index f3eabd2c49..0000000000
--- a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:54:00 2012
- */
-/* Compiler settings for IA2TypeLibrary.idl:
- Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, LIBID_IAccessible2Lib,0xc974e070,0x3787,0x490a,0x87,0xb0,0xe3,0x33,0xb0,0x6c,0xa1,0xe2);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/amd64/dlldata.c b/src/3rdparty/iaccessible2/generated/amd64/dlldata.c
index e1e15a1fc0..1685d8340a 100644
--- a/src/3rdparty/iaccessible2/generated/amd64/dlldata.c
+++ b/src/3rdparty/iaccessible2/generated/amd64/dlldata.c
@@ -19,38 +19,12 @@
extern "C" {
#endif
-EXTERN_PROXY_FILE( Accessible2 )
-EXTERN_PROXY_FILE( AccessibleAction )
-EXTERN_PROXY_FILE( AccessibleApplication )
-EXTERN_PROXY_FILE( AccessibleComponent )
-EXTERN_PROXY_FILE( AccessibleEditableText )
-EXTERN_PROXY_FILE( AccessibleHyperlink )
-EXTERN_PROXY_FILE( AccessibleHypertext )
-EXTERN_PROXY_FILE( AccessibleImage )
-EXTERN_PROXY_FILE( AccessibleRelation )
-EXTERN_PROXY_FILE( AccessibleTable )
-EXTERN_PROXY_FILE( AccessibleTable2 )
-EXTERN_PROXY_FILE( AccessibleTableCell )
-EXTERN_PROXY_FILE( AccessibleText )
-EXTERN_PROXY_FILE( AccessibleValue )
+EXTERN_PROXY_FILE( ia2_api_all )
PROXYFILE_LIST_START
/* Start of list */
- REFERENCE_PROXY_FILE( Accessible2 ),
- REFERENCE_PROXY_FILE( AccessibleAction ),
- REFERENCE_PROXY_FILE( AccessibleApplication ),
- REFERENCE_PROXY_FILE( AccessibleComponent ),
- REFERENCE_PROXY_FILE( AccessibleEditableText ),
- REFERENCE_PROXY_FILE( AccessibleHyperlink ),
- REFERENCE_PROXY_FILE( AccessibleHypertext ),
- REFERENCE_PROXY_FILE( AccessibleImage ),
- REFERENCE_PROXY_FILE( AccessibleRelation ),
- REFERENCE_PROXY_FILE( AccessibleTable ),
- REFERENCE_PROXY_FILE( AccessibleTable2 ),
- REFERENCE_PROXY_FILE( AccessibleTableCell ),
- REFERENCE_PROXY_FILE( AccessibleText ),
- REFERENCE_PROXY_FILE( AccessibleValue ),
+ REFERENCE_PROXY_FILE( ia2_api_all ),
/* End of list */
PROXYFILE_LIST_END
diff --git a/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.h b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.h
new file mode 100644
index 0000000000..4f7b7d07d7
--- /dev/null
+++ b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.h
@@ -0,0 +1,4667 @@
+
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+ /* File created by MIDL compiler version 7.00.0555 */
+/* at Mon Aug 11 14:34:44 2014
+ */
+/* Compiler settings for ia2_api_all.idl:
+ Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+/* @@MIDL_FILE_HEADING( ) */
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of <rpcndr.h>
+#endif // __RPCNDR_H_VERSION__
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif /*COM_NO_WINDOWS_H*/
+
+#ifndef __ia2_api_all_h__
+#define __ia2_api_all_h__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+/* Forward Declarations */
+
+#ifndef __IAccessibleRelation_FWD_DEFINED__
+#define __IAccessibleRelation_FWD_DEFINED__
+typedef interface IAccessibleRelation IAccessibleRelation;
+#endif /* __IAccessibleRelation_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleAction_FWD_DEFINED__
+#define __IAccessibleAction_FWD_DEFINED__
+typedef interface IAccessibleAction IAccessibleAction;
+#endif /* __IAccessibleAction_FWD_DEFINED__ */
+
+
+#ifndef __IAccessible2_FWD_DEFINED__
+#define __IAccessible2_FWD_DEFINED__
+typedef interface IAccessible2 IAccessible2;
+#endif /* __IAccessible2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessible2_2_FWD_DEFINED__
+#define __IAccessible2_2_FWD_DEFINED__
+typedef interface IAccessible2_2 IAccessible2_2;
+#endif /* __IAccessible2_2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleComponent_FWD_DEFINED__
+#define __IAccessibleComponent_FWD_DEFINED__
+typedef interface IAccessibleComponent IAccessibleComponent;
+#endif /* __IAccessibleComponent_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleValue_FWD_DEFINED__
+#define __IAccessibleValue_FWD_DEFINED__
+typedef interface IAccessibleValue IAccessibleValue;
+#endif /* __IAccessibleValue_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleText_FWD_DEFINED__
+#define __IAccessibleText_FWD_DEFINED__
+typedef interface IAccessibleText IAccessibleText;
+#endif /* __IAccessibleText_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleText2_FWD_DEFINED__
+#define __IAccessibleText2_FWD_DEFINED__
+typedef interface IAccessibleText2 IAccessibleText2;
+#endif /* __IAccessibleText2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleEditableText_FWD_DEFINED__
+#define __IAccessibleEditableText_FWD_DEFINED__
+typedef interface IAccessibleEditableText IAccessibleEditableText;
+#endif /* __IAccessibleEditableText_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHyperlink_FWD_DEFINED__
+#define __IAccessibleHyperlink_FWD_DEFINED__
+typedef interface IAccessibleHyperlink IAccessibleHyperlink;
+#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext_FWD_DEFINED__
+#define __IAccessibleHypertext_FWD_DEFINED__
+typedef interface IAccessibleHypertext IAccessibleHypertext;
+#endif /* __IAccessibleHypertext_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext2_FWD_DEFINED__
+#define __IAccessibleHypertext2_FWD_DEFINED__
+typedef interface IAccessibleHypertext2 IAccessibleHypertext2;
+#endif /* __IAccessibleHypertext2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTable_FWD_DEFINED__
+#define __IAccessibleTable_FWD_DEFINED__
+typedef interface IAccessibleTable IAccessibleTable;
+#endif /* __IAccessibleTable_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTable2_FWD_DEFINED__
+#define __IAccessibleTable2_FWD_DEFINED__
+typedef interface IAccessibleTable2 IAccessibleTable2;
+#endif /* __IAccessibleTable2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTableCell_FWD_DEFINED__
+#define __IAccessibleTableCell_FWD_DEFINED__
+typedef interface IAccessibleTableCell IAccessibleTableCell;
+#endif /* __IAccessibleTableCell_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleImage_FWD_DEFINED__
+#define __IAccessibleImage_FWD_DEFINED__
+typedef interface IAccessibleImage IAccessibleImage;
+#endif /* __IAccessibleImage_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleApplication_FWD_DEFINED__
+#define __IAccessibleApplication_FWD_DEFINED__
+typedef interface IAccessibleApplication IAccessibleApplication;
+#endif /* __IAccessibleApplication_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleDocument_FWD_DEFINED__
+#define __IAccessibleDocument_FWD_DEFINED__
+typedef interface IAccessibleDocument IAccessibleDocument;
+#endif /* __IAccessibleDocument_FWD_DEFINED__ */
+
+
+#ifndef __IAccessible2_FWD_DEFINED__
+#define __IAccessible2_FWD_DEFINED__
+typedef interface IAccessible2 IAccessible2;
+#endif /* __IAccessible2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessible2_2_FWD_DEFINED__
+#define __IAccessible2_2_FWD_DEFINED__
+typedef interface IAccessible2_2 IAccessible2_2;
+#endif /* __IAccessible2_2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleAction_FWD_DEFINED__
+#define __IAccessibleAction_FWD_DEFINED__
+typedef interface IAccessibleAction IAccessibleAction;
+#endif /* __IAccessibleAction_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleApplication_FWD_DEFINED__
+#define __IAccessibleApplication_FWD_DEFINED__
+typedef interface IAccessibleApplication IAccessibleApplication;
+#endif /* __IAccessibleApplication_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleComponent_FWD_DEFINED__
+#define __IAccessibleComponent_FWD_DEFINED__
+typedef interface IAccessibleComponent IAccessibleComponent;
+#endif /* __IAccessibleComponent_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleDocument_FWD_DEFINED__
+#define __IAccessibleDocument_FWD_DEFINED__
+typedef interface IAccessibleDocument IAccessibleDocument;
+#endif /* __IAccessibleDocument_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleEditableText_FWD_DEFINED__
+#define __IAccessibleEditableText_FWD_DEFINED__
+typedef interface IAccessibleEditableText IAccessibleEditableText;
+#endif /* __IAccessibleEditableText_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHyperlink_FWD_DEFINED__
+#define __IAccessibleHyperlink_FWD_DEFINED__
+typedef interface IAccessibleHyperlink IAccessibleHyperlink;
+#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleText_FWD_DEFINED__
+#define __IAccessibleText_FWD_DEFINED__
+typedef interface IAccessibleText IAccessibleText;
+#endif /* __IAccessibleText_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext_FWD_DEFINED__
+#define __IAccessibleHypertext_FWD_DEFINED__
+typedef interface IAccessibleHypertext IAccessibleHypertext;
+#endif /* __IAccessibleHypertext_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext2_FWD_DEFINED__
+#define __IAccessibleHypertext2_FWD_DEFINED__
+typedef interface IAccessibleHypertext2 IAccessibleHypertext2;
+#endif /* __IAccessibleHypertext2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleImage_FWD_DEFINED__
+#define __IAccessibleImage_FWD_DEFINED__
+typedef interface IAccessibleImage IAccessibleImage;
+#endif /* __IAccessibleImage_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleRelation_FWD_DEFINED__
+#define __IAccessibleRelation_FWD_DEFINED__
+typedef interface IAccessibleRelation IAccessibleRelation;
+#endif /* __IAccessibleRelation_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTable_FWD_DEFINED__
+#define __IAccessibleTable_FWD_DEFINED__
+typedef interface IAccessibleTable IAccessibleTable;
+#endif /* __IAccessibleTable_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTable2_FWD_DEFINED__
+#define __IAccessibleTable2_FWD_DEFINED__
+typedef interface IAccessibleTable2 IAccessibleTable2;
+#endif /* __IAccessibleTable2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTableCell_FWD_DEFINED__
+#define __IAccessibleTableCell_FWD_DEFINED__
+typedef interface IAccessibleTableCell IAccessibleTableCell;
+#endif /* __IAccessibleTableCell_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleText2_FWD_DEFINED__
+#define __IAccessibleText2_FWD_DEFINED__
+typedef interface IAccessibleText2 IAccessibleText2;
+#endif /* __IAccessibleText2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleValue_FWD_DEFINED__
+#define __IAccessibleValue_FWD_DEFINED__
+typedef interface IAccessibleValue IAccessibleValue;
+#endif /* __IAccessibleValue_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "objidl.h"
+#include "oaidl.h"
+#include "oleacc.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0000 */
+/* [local] */
+
+
+enum IA2ScrollType
+ { IA2_SCROLL_TYPE_TOP_LEFT = 0,
+ IA2_SCROLL_TYPE_BOTTOM_RIGHT = ( IA2_SCROLL_TYPE_TOP_LEFT + 1 ) ,
+ IA2_SCROLL_TYPE_TOP_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_RIGHT + 1 ) ,
+ IA2_SCROLL_TYPE_BOTTOM_EDGE = ( IA2_SCROLL_TYPE_TOP_EDGE + 1 ) ,
+ IA2_SCROLL_TYPE_LEFT_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_EDGE + 1 ) ,
+ IA2_SCROLL_TYPE_RIGHT_EDGE = ( IA2_SCROLL_TYPE_LEFT_EDGE + 1 ) ,
+ IA2_SCROLL_TYPE_ANYWHERE = ( IA2_SCROLL_TYPE_RIGHT_EDGE + 1 )
+ } ;
+
+enum IA2CoordinateType
+ { IA2_COORDTYPE_SCREEN_RELATIVE = 0,
+ IA2_COORDTYPE_PARENT_RELATIVE = ( IA2_COORDTYPE_SCREEN_RELATIVE + 1 )
+ } ;
+
+enum IA2TextSpecialOffsets
+ { IA2_TEXT_OFFSET_LENGTH = -1,
+ IA2_TEXT_OFFSET_CARET = -2
+ } ;
+
+enum IA2TableModelChangeType
+ { IA2_TABLE_MODEL_CHANGE_INSERT = 0,
+ IA2_TABLE_MODEL_CHANGE_DELETE = ( IA2_TABLE_MODEL_CHANGE_INSERT + 1 ) ,
+ IA2_TABLE_MODEL_CHANGE_UPDATE = ( IA2_TABLE_MODEL_CHANGE_DELETE + 1 )
+ } ;
+typedef struct IA2TableModelChange
+ {
+ enum IA2TableModelChangeType type;
+ long firstRow;
+ long lastRow;
+ long firstColumn;
+ long lastColumn;
+ } IA2TableModelChange;
+
+#define IA2_RELATION_CONTAINING_APPLICATION ( L"containingApplication" )
+
+#define IA2_RELATION_CONTAINING_DOCUMENT ( L"containingDocument" )
+
+#define IA2_RELATION_CONTAINING_TAB_PANE ( L"containingTabPane" )
+
+#define IA2_RELATION_CONTAINING_WINDOW ( L"containingWindow" )
+
+#define IA2_RELATION_CONTROLLED_BY ( L"controlledBy" )
+
+#define IA2_RELATION_CONTROLLER_FOR ( L"controllerFor" )
+
+#define IA2_RELATION_DESCRIBED_BY ( L"describedBy" )
+
+#define IA2_RELATION_DESCRIPTION_FOR ( L"descriptionFor" )
+
+#define IA2_RELATION_EMBEDDED_BY ( L"embeddedBy" )
+
+#define IA2_RELATION_EMBEDS ( L"embeds" )
+
+#define IA2_RELATION_FLOWS_FROM ( L"flowsFrom" )
+
+#define IA2_RELATION_FLOWS_TO ( L"flowsTo" )
+
+#define IA2_RELATION_LABEL_FOR ( L"labelFor" )
+
+#define IA2_RELATION_LABELED_BY ( L"labelledBy" )
+
+#define IA2_RELATION_LABELLED_BY ( L"labelledBy" )
+
+#define IA2_RELATION_MEMBER_OF ( L"memberOf" )
+
+#define IA2_RELATION_NEXT_TABBABLE ( L"nextTabbable" )
+
+#define IA2_RELATION_NODE_CHILD_OF ( L"nodeChildOf" )
+
+#define IA2_RELATION_NODE_PARENT_OF ( L"nodeParentOf" )
+
+#define IA2_RELATION_PARENT_WINDOW_OF ( L"parentWindowOf" )
+
+#define IA2_RELATION_POPUP_FOR ( L"popupFor" )
+
+#define IA2_RELATION_PREVIOUS_TABBABLE ( L"previousTabbable" )
+
+#define IA2_RELATION_SUBWINDOW_OF ( L"subwindowOf" )
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_s_ifspec;
+
+#ifndef __IAccessibleRelation_INTERFACE_DEFINED__
+#define __IAccessibleRelation_INTERFACE_DEFINED__
+
+/* interface IAccessibleRelation */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleRelation;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("7CDF86EE-C3DA-496a-BDA4-281B336E1FDC")
+ IAccessibleRelation : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationType(
+ /* [retval][out] */ BSTR *relationType) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedRelationType(
+ /* [retval][out] */ BSTR *localizedRelationType) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nTargets(
+ /* [retval][out] */ long *nTargets) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_target(
+ /* [in] */ long targetIndex,
+ /* [retval][out] */ IUnknown **target) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targets(
+ /* [in] */ long maxTargets,
+ /* [length_is][size_is][out] */ IUnknown **targets,
+ /* [retval][out] */ long *nTargets) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleRelationVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleRelation * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleRelation * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleRelation * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationType )(
+ IAccessibleRelation * This,
+ /* [retval][out] */ BSTR *relationType);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedRelationType )(
+ IAccessibleRelation * This,
+ /* [retval][out] */ BSTR *localizedRelationType);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nTargets )(
+ IAccessibleRelation * This,
+ /* [retval][out] */ long *nTargets);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )(
+ IAccessibleRelation * This,
+ /* [in] */ long targetIndex,
+ /* [retval][out] */ IUnknown **target);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targets )(
+ IAccessibleRelation * This,
+ /* [in] */ long maxTargets,
+ /* [length_is][size_is][out] */ IUnknown **targets,
+ /* [retval][out] */ long *nTargets);
+
+ END_INTERFACE
+ } IAccessibleRelationVtbl;
+
+ interface IAccessibleRelation
+ {
+ CONST_VTBL struct IAccessibleRelationVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleRelation_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleRelation_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleRelation_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleRelation_get_relationType(This,relationType) \
+ ( (This)->lpVtbl -> get_relationType(This,relationType) )
+
+#define IAccessibleRelation_get_localizedRelationType(This,localizedRelationType) \
+ ( (This)->lpVtbl -> get_localizedRelationType(This,localizedRelationType) )
+
+#define IAccessibleRelation_get_nTargets(This,nTargets) \
+ ( (This)->lpVtbl -> get_nTargets(This,nTargets) )
+
+#define IAccessibleRelation_get_target(This,targetIndex,target) \
+ ( (This)->lpVtbl -> get_target(This,targetIndex,target) )
+
+#define IAccessibleRelation_get_targets(This,maxTargets,targets,nTargets) \
+ ( (This)->lpVtbl -> get_targets(This,maxTargets,targets,nTargets) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleRelation_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0001 */
+/* [local] */
+
+
+enum IA2Actions
+ { IA2_ACTION_OPEN = -1,
+ IA2_ACTION_COMPLETE = -2,
+ IA2_ACTION_CLOSE = -3
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0001_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0001_v0_0_s_ifspec;
+
+#ifndef __IAccessibleAction_INTERFACE_DEFINED__
+#define __IAccessibleAction_INTERFACE_DEFINED__
+
+/* interface IAccessibleAction */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleAction;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("B70D9F59-3B5A-4dba-AB9E-22012F607DF5")
+ IAccessibleAction : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE nActions(
+ /* [retval][out] */ long *nActions) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE doAction(
+ /* [in] */ long actionIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description(
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_keyBinding(
+ /* [in] */ long actionIndex,
+ /* [in] */ long nMaxBindings,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
+ /* [retval][out] */ long *nBindings) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_name(
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *name) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedName(
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *localizedName) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleActionVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleAction * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleAction * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleAction * This);
+
+ HRESULT ( STDMETHODCALLTYPE *nActions )(
+ IAccessibleAction * This,
+ /* [retval][out] */ long *nActions);
+
+ HRESULT ( STDMETHODCALLTYPE *doAction )(
+ IAccessibleAction * This,
+ /* [in] */ long actionIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
+ IAccessibleAction * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )(
+ IAccessibleAction * This,
+ /* [in] */ long actionIndex,
+ /* [in] */ long nMaxBindings,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
+ /* [retval][out] */ long *nBindings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IAccessibleAction * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *name);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )(
+ IAccessibleAction * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *localizedName);
+
+ END_INTERFACE
+ } IAccessibleActionVtbl;
+
+ interface IAccessibleAction
+ {
+ CONST_VTBL struct IAccessibleActionVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleAction_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleAction_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleAction_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleAction_nActions(This,nActions) \
+ ( (This)->lpVtbl -> nActions(This,nActions) )
+
+#define IAccessibleAction_doAction(This,actionIndex) \
+ ( (This)->lpVtbl -> doAction(This,actionIndex) )
+
+#define IAccessibleAction_get_description(This,actionIndex,description) \
+ ( (This)->lpVtbl -> get_description(This,actionIndex,description) )
+
+#define IAccessibleAction_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \
+ ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) )
+
+#define IAccessibleAction_get_name(This,actionIndex,name) \
+ ( (This)->lpVtbl -> get_name(This,actionIndex,name) )
+
+#define IAccessibleAction_get_localizedName(This,actionIndex,localizedName) \
+ ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleAction_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0002 */
+/* [local] */
+
+
+enum IA2Role
+ { IA2_ROLE_UNKNOWN = 0,
+ IA2_ROLE_CANVAS = 0x401,
+ IA2_ROLE_CAPTION = ( IA2_ROLE_CANVAS + 1 ) ,
+ IA2_ROLE_CHECK_MENU_ITEM = ( IA2_ROLE_CAPTION + 1 ) ,
+ IA2_ROLE_COLOR_CHOOSER = ( IA2_ROLE_CHECK_MENU_ITEM + 1 ) ,
+ IA2_ROLE_DATE_EDITOR = ( IA2_ROLE_COLOR_CHOOSER + 1 ) ,
+ IA2_ROLE_DESKTOP_ICON = ( IA2_ROLE_DATE_EDITOR + 1 ) ,
+ IA2_ROLE_DESKTOP_PANE = ( IA2_ROLE_DESKTOP_ICON + 1 ) ,
+ IA2_ROLE_DIRECTORY_PANE = ( IA2_ROLE_DESKTOP_PANE + 1 ) ,
+ IA2_ROLE_EDITBAR = ( IA2_ROLE_DIRECTORY_PANE + 1 ) ,
+ IA2_ROLE_EMBEDDED_OBJECT = ( IA2_ROLE_EDITBAR + 1 ) ,
+ IA2_ROLE_ENDNOTE = ( IA2_ROLE_EMBEDDED_OBJECT + 1 ) ,
+ IA2_ROLE_FILE_CHOOSER = ( IA2_ROLE_ENDNOTE + 1 ) ,
+ IA2_ROLE_FONT_CHOOSER = ( IA2_ROLE_FILE_CHOOSER + 1 ) ,
+ IA2_ROLE_FOOTER = ( IA2_ROLE_FONT_CHOOSER + 1 ) ,
+ IA2_ROLE_FOOTNOTE = ( IA2_ROLE_FOOTER + 1 ) ,
+ IA2_ROLE_FORM = ( IA2_ROLE_FOOTNOTE + 1 ) ,
+ IA2_ROLE_FRAME = ( IA2_ROLE_FORM + 1 ) ,
+ IA2_ROLE_GLASS_PANE = ( IA2_ROLE_FRAME + 1 ) ,
+ IA2_ROLE_HEADER = ( IA2_ROLE_GLASS_PANE + 1 ) ,
+ IA2_ROLE_HEADING = ( IA2_ROLE_HEADER + 1 ) ,
+ IA2_ROLE_ICON = ( IA2_ROLE_HEADING + 1 ) ,
+ IA2_ROLE_IMAGE_MAP = ( IA2_ROLE_ICON + 1 ) ,
+ IA2_ROLE_INPUT_METHOD_WINDOW = ( IA2_ROLE_IMAGE_MAP + 1 ) ,
+ IA2_ROLE_INTERNAL_FRAME = ( IA2_ROLE_INPUT_METHOD_WINDOW + 1 ) ,
+ IA2_ROLE_LABEL = ( IA2_ROLE_INTERNAL_FRAME + 1 ) ,
+ IA2_ROLE_LAYERED_PANE = ( IA2_ROLE_LABEL + 1 ) ,
+ IA2_ROLE_NOTE = ( IA2_ROLE_LAYERED_PANE + 1 ) ,
+ IA2_ROLE_OPTION_PANE = ( IA2_ROLE_NOTE + 1 ) ,
+ IA2_ROLE_PAGE = ( IA2_ROLE_OPTION_PANE + 1 ) ,
+ IA2_ROLE_PARAGRAPH = ( IA2_ROLE_PAGE + 1 ) ,
+ IA2_ROLE_RADIO_MENU_ITEM = ( IA2_ROLE_PARAGRAPH + 1 ) ,
+ IA2_ROLE_REDUNDANT_OBJECT = ( IA2_ROLE_RADIO_MENU_ITEM + 1 ) ,
+ IA2_ROLE_ROOT_PANE = ( IA2_ROLE_REDUNDANT_OBJECT + 1 ) ,
+ IA2_ROLE_RULER = ( IA2_ROLE_ROOT_PANE + 1 ) ,
+ IA2_ROLE_SCROLL_PANE = ( IA2_ROLE_RULER + 1 ) ,
+ IA2_ROLE_SECTION = ( IA2_ROLE_SCROLL_PANE + 1 ) ,
+ IA2_ROLE_SHAPE = ( IA2_ROLE_SECTION + 1 ) ,
+ IA2_ROLE_SPLIT_PANE = ( IA2_ROLE_SHAPE + 1 ) ,
+ IA2_ROLE_TEAR_OFF_MENU = ( IA2_ROLE_SPLIT_PANE + 1 ) ,
+ IA2_ROLE_TERMINAL = ( IA2_ROLE_TEAR_OFF_MENU + 1 ) ,
+ IA2_ROLE_TEXT_FRAME = ( IA2_ROLE_TERMINAL + 1 ) ,
+ IA2_ROLE_TOGGLE_BUTTON = ( IA2_ROLE_TEXT_FRAME + 1 ) ,
+ IA2_ROLE_VIEW_PORT = ( IA2_ROLE_TOGGLE_BUTTON + 1 ) ,
+ IA2_ROLE_COMPLEMENTARY_CONTENT = ( IA2_ROLE_VIEW_PORT + 1 )
+ } ;
+typedef long AccessibleStates;
+
+
+enum IA2States
+ { IA2_STATE_ACTIVE = 0x1,
+ IA2_STATE_ARMED = 0x2,
+ IA2_STATE_DEFUNCT = 0x4,
+ IA2_STATE_EDITABLE = 0x8,
+ IA2_STATE_HORIZONTAL = 0x10,
+ IA2_STATE_ICONIFIED = 0x20,
+ IA2_STATE_INVALID_ENTRY = 0x40,
+ IA2_STATE_MANAGES_DESCENDANTS = 0x80,
+ IA2_STATE_MODAL = 0x100,
+ IA2_STATE_MULTI_LINE = 0x200,
+ IA2_STATE_OPAQUE = 0x400,
+ IA2_STATE_REQUIRED = 0x800,
+ IA2_STATE_SELECTABLE_TEXT = 0x1000,
+ IA2_STATE_SINGLE_LINE = 0x2000,
+ IA2_STATE_STALE = 0x4000,
+ IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000,
+ IA2_STATE_TRANSIENT = 0x10000,
+ IA2_STATE_VERTICAL = 0x20000,
+ IA2_STATE_CHECKABLE = 0x40000,
+ IA2_STATE_PINNED = 0x80000
+ } ;
+typedef struct IA2Locale
+ {
+ BSTR language;
+ BSTR country;
+ BSTR variant;
+ } IA2Locale;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0002_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0002_v0_0_s_ifspec;
+
+#ifndef __IAccessible2_INTERFACE_DEFINED__
+#define __IAccessible2_INTERFACE_DEFINED__
+
+/* interface IAccessible2 */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessible2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("E89F726E-C4F4-4c19-BB19-B647D7FA8478")
+ IAccessible2 : public IAccessible
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRelations(
+ /* [retval][out] */ long *nRelations) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relation(
+ /* [in] */ long relationIndex,
+ /* [retval][out] */ IAccessibleRelation **relation) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relations(
+ /* [in] */ long maxRelations,
+ /* [length_is][size_is][out] */ IAccessibleRelation **relations,
+ /* [retval][out] */ long *nRelations) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE role(
+ /* [retval][out] */ long *role) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE scrollTo(
+ /* [in] */ enum IA2ScrollType scrollType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE scrollToPoint(
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_groupPosition(
+ /* [out] */ long *groupLevel,
+ /* [out] */ long *similarItemsInGroup,
+ /* [retval][out] */ long *positionInGroup) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_states(
+ /* [retval][out] */ AccessibleStates *states) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedRole(
+ /* [retval][out] */ BSTR *extendedRole) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedRole(
+ /* [retval][out] */ BSTR *localizedExtendedRole) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nExtendedStates(
+ /* [retval][out] */ long *nExtendedStates) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedStates(
+ /* [in] */ long maxExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
+ /* [retval][out] */ long *nExtendedStates) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedStates(
+ /* [in] */ long maxLocalizedExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
+ /* [retval][out] */ long *nLocalizedExtendedStates) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID(
+ /* [retval][out] */ long *uniqueID) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_windowHandle(
+ /* [retval][out] */ HWND *windowHandle) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_indexInParent(
+ /* [retval][out] */ long *indexInParent) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locale(
+ /* [retval][out] */ IA2Locale *locale) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes(
+ /* [retval][out] */ BSTR *attributes) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessible2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessible2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessible2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessible2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+ IAccessible2 * This,
+ /* [out] */ UINT *pctinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+ IAccessible2 * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo **ppTInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+ IAccessible2 * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR *rgszNames,
+ /* [range][in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID *rgDispId);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ IAccessible2 * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS *pDispParams,
+ /* [out] */ VARIANT *pVarResult,
+ /* [out] */ EXCEPINFO *pExcepInfo,
+ /* [out] */ UINT *puArgErr);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )(
+ IAccessible2 * This,
+ /* [retval][out] */ IDispatch **ppdispParent);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *pcountChildren);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )(
+ IAccessible2 * This,
+ /* [in] */ VARIANT varChild,
+ /* [retval][out] */ IDispatch **ppdispChild);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszName);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszValue);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszDescription);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ VARIANT *pvarRole);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ VARIANT *pvarState);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszHelp);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )(
+ IAccessible2 * This,
+ /* [out] */ BSTR *pszHelpFile,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ long *pidTopic);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszKeyboardShortcut);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )(
+ IAccessible2 * This,
+ /* [retval][out] */ VARIANT *pvarChild);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )(
+ IAccessible2 * This,
+ /* [retval][out] */ VARIANT *pvarChildren);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszDefaultAction);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )(
+ IAccessible2 * This,
+ /* [in] */ long flagsSelect,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )(
+ IAccessible2 * This,
+ /* [out] */ long *pxLeft,
+ /* [out] */ long *pyTop,
+ /* [out] */ long *pcxWidth,
+ /* [out] */ long *pcyHeight,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )(
+ IAccessible2 * This,
+ /* [in] */ long navDir,
+ /* [optional][in] */ VARIANT varStart,
+ /* [retval][out] */ VARIANT *pvarEndUpAt);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )(
+ IAccessible2 * This,
+ /* [in] */ long xLeft,
+ /* [in] */ long yTop,
+ /* [retval][out] */ VARIANT *pvarChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [in] */ BSTR szName);
+
+ /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [in] */ BSTR szValue);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *nRelations);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )(
+ IAccessible2 * This,
+ /* [in] */ long relationIndex,
+ /* [retval][out] */ IAccessibleRelation **relation);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )(
+ IAccessible2 * This,
+ /* [in] */ long maxRelations,
+ /* [length_is][size_is][out] */ IAccessibleRelation **relations,
+ /* [retval][out] */ long *nRelations);
+
+ HRESULT ( STDMETHODCALLTYPE *role )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *role);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollTo )(
+ IAccessible2 * This,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollToPoint )(
+ IAccessible2 * This,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )(
+ IAccessible2 * This,
+ /* [out] */ long *groupLevel,
+ /* [out] */ long *similarItemsInGroup,
+ /* [retval][out] */ long *positionInGroup);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )(
+ IAccessible2 * This,
+ /* [retval][out] */ AccessibleStates *states);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )(
+ IAccessible2 * This,
+ /* [retval][out] */ BSTR *extendedRole);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )(
+ IAccessible2 * This,
+ /* [retval][out] */ BSTR *localizedExtendedRole);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *nExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )(
+ IAccessible2 * This,
+ /* [in] */ long maxExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
+ /* [retval][out] */ long *nExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )(
+ IAccessible2 * This,
+ /* [in] */ long maxLocalizedExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
+ /* [retval][out] */ long *nLocalizedExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *uniqueID);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )(
+ IAccessible2 * This,
+ /* [retval][out] */ HWND *windowHandle);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *indexInParent);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )(
+ IAccessible2 * This,
+ /* [retval][out] */ IA2Locale *locale);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessible2 * This,
+ /* [retval][out] */ BSTR *attributes);
+
+ END_INTERFACE
+ } IAccessible2Vtbl;
+
+ interface IAccessible2
+ {
+ CONST_VTBL struct IAccessible2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessible2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessible2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessible2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessible2_GetTypeInfoCount(This,pctinfo) \
+ ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
+
+#define IAccessible2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
+ ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
+
+#define IAccessible2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
+ ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
+
+#define IAccessible2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
+ ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
+
+
+#define IAccessible2_get_accParent(This,ppdispParent) \
+ ( (This)->lpVtbl -> get_accParent(This,ppdispParent) )
+
+#define IAccessible2_get_accChildCount(This,pcountChildren) \
+ ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) )
+
+#define IAccessible2_get_accChild(This,varChild,ppdispChild) \
+ ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) )
+
+#define IAccessible2_get_accName(This,varChild,pszName) \
+ ( (This)->lpVtbl -> get_accName(This,varChild,pszName) )
+
+#define IAccessible2_get_accValue(This,varChild,pszValue) \
+ ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) )
+
+#define IAccessible2_get_accDescription(This,varChild,pszDescription) \
+ ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) )
+
+#define IAccessible2_get_accRole(This,varChild,pvarRole) \
+ ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) )
+
+#define IAccessible2_get_accState(This,varChild,pvarState) \
+ ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) )
+
+#define IAccessible2_get_accHelp(This,varChild,pszHelp) \
+ ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) )
+
+#define IAccessible2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \
+ ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) )
+
+#define IAccessible2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \
+ ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) )
+
+#define IAccessible2_get_accFocus(This,pvarChild) \
+ ( (This)->lpVtbl -> get_accFocus(This,pvarChild) )
+
+#define IAccessible2_get_accSelection(This,pvarChildren) \
+ ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) )
+
+#define IAccessible2_get_accDefaultAction(This,varChild,pszDefaultAction) \
+ ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) )
+
+#define IAccessible2_accSelect(This,flagsSelect,varChild) \
+ ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) )
+
+#define IAccessible2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \
+ ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) )
+
+#define IAccessible2_accNavigate(This,navDir,varStart,pvarEndUpAt) \
+ ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) )
+
+#define IAccessible2_accHitTest(This,xLeft,yTop,pvarChild) \
+ ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) )
+
+#define IAccessible2_accDoDefaultAction(This,varChild) \
+ ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) )
+
+#define IAccessible2_put_accName(This,varChild,szName) \
+ ( (This)->lpVtbl -> put_accName(This,varChild,szName) )
+
+#define IAccessible2_put_accValue(This,varChild,szValue) \
+ ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) )
+
+
+#define IAccessible2_get_nRelations(This,nRelations) \
+ ( (This)->lpVtbl -> get_nRelations(This,nRelations) )
+
+#define IAccessible2_get_relation(This,relationIndex,relation) \
+ ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) )
+
+#define IAccessible2_get_relations(This,maxRelations,relations,nRelations) \
+ ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) )
+
+#define IAccessible2_role(This,role) \
+ ( (This)->lpVtbl -> role(This,role) )
+
+#define IAccessible2_scrollTo(This,scrollType) \
+ ( (This)->lpVtbl -> scrollTo(This,scrollType) )
+
+#define IAccessible2_scrollToPoint(This,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) )
+
+#define IAccessible2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \
+ ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) )
+
+#define IAccessible2_get_states(This,states) \
+ ( (This)->lpVtbl -> get_states(This,states) )
+
+#define IAccessible2_get_extendedRole(This,extendedRole) \
+ ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) )
+
+#define IAccessible2_get_localizedExtendedRole(This,localizedExtendedRole) \
+ ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) )
+
+#define IAccessible2_get_nExtendedStates(This,nExtendedStates) \
+ ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) )
+
+#define IAccessible2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \
+ ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) )
+
+#define IAccessible2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \
+ ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) )
+
+#define IAccessible2_get_uniqueID(This,uniqueID) \
+ ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) )
+
+#define IAccessible2_get_windowHandle(This,windowHandle) \
+ ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) )
+
+#define IAccessible2_get_indexInParent(This,indexInParent) \
+ ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) )
+
+#define IAccessible2_get_locale(This,locale) \
+ ( (This)->lpVtbl -> get_locale(This,locale) )
+
+#define IAccessible2_get_attributes(This,attributes) \
+ ( (This)->lpVtbl -> get_attributes(This,attributes) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessible2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessible2_2_INTERFACE_DEFINED__
+#define __IAccessible2_2_INTERFACE_DEFINED__
+
+/* interface IAccessible2_2 */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessible2_2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("6C9430E9-299D-4E6F-BD01-A82A1E88D3FF")
+ IAccessible2_2 : public IAccessible2
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attribute(
+ /* [in] */ BSTR name,
+ /* [retval][out] */ VARIANT *attribute) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleWithCaret(
+ /* [out] */ IUnknown **accessible,
+ /* [retval][out] */ long *caretOffset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationTargetsOfType(
+ /* [in] */ BSTR type,
+ /* [in] */ long maxTargets,
+ /* [size_is][size_is][out] */ IUnknown ***targets,
+ /* [retval][out] */ long *nTargets) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessible2_2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessible2_2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessible2_2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessible2_2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+ IAccessible2_2 * This,
+ /* [out] */ UINT *pctinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+ IAccessible2_2 * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo **ppTInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+ IAccessible2_2 * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR *rgszNames,
+ /* [range][in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID *rgDispId);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ IAccessible2_2 * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS *pDispParams,
+ /* [out] */ VARIANT *pVarResult,
+ /* [out] */ EXCEPINFO *pExcepInfo,
+ /* [out] */ UINT *puArgErr);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ IDispatch **ppdispParent);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *pcountChildren);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )(
+ IAccessible2_2 * This,
+ /* [in] */ VARIANT varChild,
+ /* [retval][out] */ IDispatch **ppdispChild);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszName);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszValue);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszDescription);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ VARIANT *pvarRole);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ VARIANT *pvarState);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszHelp);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )(
+ IAccessible2_2 * This,
+ /* [out] */ BSTR *pszHelpFile,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ long *pidTopic);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszKeyboardShortcut);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ VARIANT *pvarChild);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ VARIANT *pvarChildren);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszDefaultAction);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )(
+ IAccessible2_2 * This,
+ /* [in] */ long flagsSelect,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )(
+ IAccessible2_2 * This,
+ /* [out] */ long *pxLeft,
+ /* [out] */ long *pyTop,
+ /* [out] */ long *pcxWidth,
+ /* [out] */ long *pcyHeight,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )(
+ IAccessible2_2 * This,
+ /* [in] */ long navDir,
+ /* [optional][in] */ VARIANT varStart,
+ /* [retval][out] */ VARIANT *pvarEndUpAt);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )(
+ IAccessible2_2 * This,
+ /* [in] */ long xLeft,
+ /* [in] */ long yTop,
+ /* [retval][out] */ VARIANT *pvarChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [in] */ BSTR szName);
+
+ /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [in] */ BSTR szValue);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *nRelations);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )(
+ IAccessible2_2 * This,
+ /* [in] */ long relationIndex,
+ /* [retval][out] */ IAccessibleRelation **relation);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )(
+ IAccessible2_2 * This,
+ /* [in] */ long maxRelations,
+ /* [length_is][size_is][out] */ IAccessibleRelation **relations,
+ /* [retval][out] */ long *nRelations);
+
+ HRESULT ( STDMETHODCALLTYPE *role )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *role);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollTo )(
+ IAccessible2_2 * This,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollToPoint )(
+ IAccessible2_2 * This,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )(
+ IAccessible2_2 * This,
+ /* [out] */ long *groupLevel,
+ /* [out] */ long *similarItemsInGroup,
+ /* [retval][out] */ long *positionInGroup);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ AccessibleStates *states);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ BSTR *extendedRole);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ BSTR *localizedExtendedRole);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *nExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )(
+ IAccessible2_2 * This,
+ /* [in] */ long maxExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
+ /* [retval][out] */ long *nExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )(
+ IAccessible2_2 * This,
+ /* [in] */ long maxLocalizedExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
+ /* [retval][out] */ long *nLocalizedExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *uniqueID);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ HWND *windowHandle);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *indexInParent);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ IA2Locale *locale);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ BSTR *attributes);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attribute )(
+ IAccessible2_2 * This,
+ /* [in] */ BSTR name,
+ /* [retval][out] */ VARIANT *attribute);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleWithCaret )(
+ IAccessible2_2 * This,
+ /* [out] */ IUnknown **accessible,
+ /* [retval][out] */ long *caretOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationTargetsOfType )(
+ IAccessible2_2 * This,
+ /* [in] */ BSTR type,
+ /* [in] */ long maxTargets,
+ /* [size_is][size_is][out] */ IUnknown ***targets,
+ /* [retval][out] */ long *nTargets);
+
+ END_INTERFACE
+ } IAccessible2_2Vtbl;
+
+ interface IAccessible2_2
+ {
+ CONST_VTBL struct IAccessible2_2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessible2_2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessible2_2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessible2_2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessible2_2_GetTypeInfoCount(This,pctinfo) \
+ ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
+
+#define IAccessible2_2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
+ ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
+
+#define IAccessible2_2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
+ ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
+
+#define IAccessible2_2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
+ ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
+
+
+#define IAccessible2_2_get_accParent(This,ppdispParent) \
+ ( (This)->lpVtbl -> get_accParent(This,ppdispParent) )
+
+#define IAccessible2_2_get_accChildCount(This,pcountChildren) \
+ ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) )
+
+#define IAccessible2_2_get_accChild(This,varChild,ppdispChild) \
+ ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) )
+
+#define IAccessible2_2_get_accName(This,varChild,pszName) \
+ ( (This)->lpVtbl -> get_accName(This,varChild,pszName) )
+
+#define IAccessible2_2_get_accValue(This,varChild,pszValue) \
+ ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) )
+
+#define IAccessible2_2_get_accDescription(This,varChild,pszDescription) \
+ ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) )
+
+#define IAccessible2_2_get_accRole(This,varChild,pvarRole) \
+ ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) )
+
+#define IAccessible2_2_get_accState(This,varChild,pvarState) \
+ ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) )
+
+#define IAccessible2_2_get_accHelp(This,varChild,pszHelp) \
+ ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) )
+
+#define IAccessible2_2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \
+ ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) )
+
+#define IAccessible2_2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \
+ ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) )
+
+#define IAccessible2_2_get_accFocus(This,pvarChild) \
+ ( (This)->lpVtbl -> get_accFocus(This,pvarChild) )
+
+#define IAccessible2_2_get_accSelection(This,pvarChildren) \
+ ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) )
+
+#define IAccessible2_2_get_accDefaultAction(This,varChild,pszDefaultAction) \
+ ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) )
+
+#define IAccessible2_2_accSelect(This,flagsSelect,varChild) \
+ ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) )
+
+#define IAccessible2_2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \
+ ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) )
+
+#define IAccessible2_2_accNavigate(This,navDir,varStart,pvarEndUpAt) \
+ ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) )
+
+#define IAccessible2_2_accHitTest(This,xLeft,yTop,pvarChild) \
+ ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) )
+
+#define IAccessible2_2_accDoDefaultAction(This,varChild) \
+ ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) )
+
+#define IAccessible2_2_put_accName(This,varChild,szName) \
+ ( (This)->lpVtbl -> put_accName(This,varChild,szName) )
+
+#define IAccessible2_2_put_accValue(This,varChild,szValue) \
+ ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) )
+
+
+#define IAccessible2_2_get_nRelations(This,nRelations) \
+ ( (This)->lpVtbl -> get_nRelations(This,nRelations) )
+
+#define IAccessible2_2_get_relation(This,relationIndex,relation) \
+ ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) )
+
+#define IAccessible2_2_get_relations(This,maxRelations,relations,nRelations) \
+ ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) )
+
+#define IAccessible2_2_role(This,role) \
+ ( (This)->lpVtbl -> role(This,role) )
+
+#define IAccessible2_2_scrollTo(This,scrollType) \
+ ( (This)->lpVtbl -> scrollTo(This,scrollType) )
+
+#define IAccessible2_2_scrollToPoint(This,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) )
+
+#define IAccessible2_2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \
+ ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) )
+
+#define IAccessible2_2_get_states(This,states) \
+ ( (This)->lpVtbl -> get_states(This,states) )
+
+#define IAccessible2_2_get_extendedRole(This,extendedRole) \
+ ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) )
+
+#define IAccessible2_2_get_localizedExtendedRole(This,localizedExtendedRole) \
+ ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) )
+
+#define IAccessible2_2_get_nExtendedStates(This,nExtendedStates) \
+ ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) )
+
+#define IAccessible2_2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \
+ ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) )
+
+#define IAccessible2_2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \
+ ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) )
+
+#define IAccessible2_2_get_uniqueID(This,uniqueID) \
+ ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) )
+
+#define IAccessible2_2_get_windowHandle(This,windowHandle) \
+ ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) )
+
+#define IAccessible2_2_get_indexInParent(This,indexInParent) \
+ ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) )
+
+#define IAccessible2_2_get_locale(This,locale) \
+ ( (This)->lpVtbl -> get_locale(This,locale) )
+
+#define IAccessible2_2_get_attributes(This,attributes) \
+ ( (This)->lpVtbl -> get_attributes(This,attributes) )
+
+
+#define IAccessible2_2_get_attribute(This,name,attribute) \
+ ( (This)->lpVtbl -> get_attribute(This,name,attribute) )
+
+#define IAccessible2_2_get_accessibleWithCaret(This,accessible,caretOffset) \
+ ( (This)->lpVtbl -> get_accessibleWithCaret(This,accessible,caretOffset) )
+
+#define IAccessible2_2_get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) \
+ ( (This)->lpVtbl -> get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessible2_2_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0004 */
+/* [local] */
+
+typedef long IA2Color;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_s_ifspec;
+
+#ifndef __IAccessibleComponent_INTERFACE_DEFINED__
+#define __IAccessibleComponent_INTERFACE_DEFINED__
+
+/* interface IAccessibleComponent */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleComponent;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("1546D4B0-4C98-4bda-89AE-9A64748BDDE4")
+ IAccessibleComponent : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locationInParent(
+ /* [out] */ long *x,
+ /* [retval][out] */ long *y) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_foreground(
+ /* [retval][out] */ IA2Color *foreground) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_background(
+ /* [retval][out] */ IA2Color *background) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleComponentVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleComponent * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleComponent * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleComponent * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationInParent )(
+ IAccessibleComponent * This,
+ /* [out] */ long *x,
+ /* [retval][out] */ long *y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_foreground )(
+ IAccessibleComponent * This,
+ /* [retval][out] */ IA2Color *foreground);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )(
+ IAccessibleComponent * This,
+ /* [retval][out] */ IA2Color *background);
+
+ END_INTERFACE
+ } IAccessibleComponentVtbl;
+
+ interface IAccessibleComponent
+ {
+ CONST_VTBL struct IAccessibleComponentVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleComponent_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleComponent_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleComponent_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleComponent_get_locationInParent(This,x,y) \
+ ( (This)->lpVtbl -> get_locationInParent(This,x,y) )
+
+#define IAccessibleComponent_get_foreground(This,foreground) \
+ ( (This)->lpVtbl -> get_foreground(This,foreground) )
+
+#define IAccessibleComponent_get_background(This,background) \
+ ( (This)->lpVtbl -> get_background(This,background) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleComponent_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleValue_INTERFACE_DEFINED__
+#define __IAccessibleValue_INTERFACE_DEFINED__
+
+/* interface IAccessibleValue */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleValue;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("35855B5B-C566-4fd0-A7B1-E65465600394")
+ IAccessibleValue : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentValue(
+ /* [retval][out] */ VARIANT *currentValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE setCurrentValue(
+ /* [in] */ VARIANT value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_maximumValue(
+ /* [retval][out] */ VARIANT *maximumValue) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_minimumValue(
+ /* [retval][out] */ VARIANT *minimumValue) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleValueVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleValue * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleValue * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleValue * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentValue )(
+ IAccessibleValue * This,
+ /* [retval][out] */ VARIANT *currentValue);
+
+ HRESULT ( STDMETHODCALLTYPE *setCurrentValue )(
+ IAccessibleValue * This,
+ /* [in] */ VARIANT value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_maximumValue )(
+ IAccessibleValue * This,
+ /* [retval][out] */ VARIANT *maximumValue);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_minimumValue )(
+ IAccessibleValue * This,
+ /* [retval][out] */ VARIANT *minimumValue);
+
+ END_INTERFACE
+ } IAccessibleValueVtbl;
+
+ interface IAccessibleValue
+ {
+ CONST_VTBL struct IAccessibleValueVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleValue_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleValue_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleValue_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleValue_get_currentValue(This,currentValue) \
+ ( (This)->lpVtbl -> get_currentValue(This,currentValue) )
+
+#define IAccessibleValue_setCurrentValue(This,value) \
+ ( (This)->lpVtbl -> setCurrentValue(This,value) )
+
+#define IAccessibleValue_get_maximumValue(This,maximumValue) \
+ ( (This)->lpVtbl -> get_maximumValue(This,maximumValue) )
+
+#define IAccessibleValue_get_minimumValue(This,minimumValue) \
+ ( (This)->lpVtbl -> get_minimumValue(This,minimumValue) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleValue_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0006 */
+/* [local] */
+
+typedef struct IA2TextSegment
+ {
+ BSTR text;
+ long start;
+ long end;
+ } IA2TextSegment;
+
+
+enum IA2TextBoundaryType
+ { IA2_TEXT_BOUNDARY_CHAR = 0,
+ IA2_TEXT_BOUNDARY_WORD = ( IA2_TEXT_BOUNDARY_CHAR + 1 ) ,
+ IA2_TEXT_BOUNDARY_SENTENCE = ( IA2_TEXT_BOUNDARY_WORD + 1 ) ,
+ IA2_TEXT_BOUNDARY_PARAGRAPH = ( IA2_TEXT_BOUNDARY_SENTENCE + 1 ) ,
+ IA2_TEXT_BOUNDARY_LINE = ( IA2_TEXT_BOUNDARY_PARAGRAPH + 1 ) ,
+ IA2_TEXT_BOUNDARY_ALL = ( IA2_TEXT_BOUNDARY_LINE + 1 )
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_s_ifspec;
+
+#ifndef __IAccessibleText_INTERFACE_DEFINED__
+#define __IAccessibleText_INTERFACE_DEFINED__
+
+/* interface IAccessibleText */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleText;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B")
+ IAccessibleText : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE addSelection(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes(
+ /* [in] */ long offset,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *textAttributes) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caretOffset(
+ /* [retval][out] */ long *offset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_characterExtents(
+ /* [in] */ long offset,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [out] */ long *x,
+ /* [out] */ long *y,
+ /* [out] */ long *width,
+ /* [retval][out] */ long *height) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelections(
+ /* [retval][out] */ long *nSelections) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_offsetAtPoint(
+ /* [in] */ long x,
+ /* [in] */ long y,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [retval][out] */ long *offset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selection(
+ /* [in] */ long selectionIndex,
+ /* [out] */ long *startOffset,
+ /* [retval][out] */ long *endOffset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_text(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [retval][out] */ BSTR *text) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textBeforeOffset(
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAfterOffset(
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAtOffset(
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE removeSelection(
+ /* [in] */ long selectionIndex) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE setCaretOffset(
+ /* [in] */ long offset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE setSelection(
+ /* [in] */ long selectionIndex,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nCharacters(
+ /* [retval][out] */ long *nCharacters) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE scrollSubstringTo(
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2ScrollType scrollType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE scrollSubstringToPoint(
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_newText(
+ /* [retval][out] */ IA2TextSegment *newText) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_oldText(
+ /* [retval][out] */ IA2TextSegment *oldText) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleTextVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleText * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleText * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleText * This);
+
+ HRESULT ( STDMETHODCALLTYPE *addSelection )(
+ IAccessibleText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessibleText * This,
+ /* [in] */ long offset,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *textAttributes);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
+ IAccessibleText * This,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
+ IAccessibleText * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [out] */ long *x,
+ /* [out] */ long *y,
+ /* [out] */ long *width,
+ /* [retval][out] */ long *height);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
+ IAccessibleText * This,
+ /* [retval][out] */ long *nSelections);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
+ IAccessibleText * This,
+ /* [in] */ long x,
+ /* [in] */ long y,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
+ IAccessibleText * This,
+ /* [in] */ long selectionIndex,
+ /* [out] */ long *startOffset,
+ /* [retval][out] */ long *endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
+ IAccessibleText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
+ IAccessibleText * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
+ IAccessibleText * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
+ IAccessibleText * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *removeSelection )(
+ IAccessibleText * This,
+ /* [in] */ long selectionIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
+ IAccessibleText * This,
+ /* [in] */ long offset);
+
+ HRESULT ( STDMETHODCALLTYPE *setSelection )(
+ IAccessibleText * This,
+ /* [in] */ long selectionIndex,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
+ IAccessibleText * This,
+ /* [retval][out] */ long *nCharacters);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
+ IAccessibleText * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
+ IAccessibleText * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
+ IAccessibleText * This,
+ /* [retval][out] */ IA2TextSegment *newText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
+ IAccessibleText * This,
+ /* [retval][out] */ IA2TextSegment *oldText);
+
+ END_INTERFACE
+ } IAccessibleTextVtbl;
+
+ interface IAccessibleText
+ {
+ CONST_VTBL struct IAccessibleTextVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleText_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleText_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleText_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleText_addSelection(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
+
+#define IAccessibleText_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
+ ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
+
+#define IAccessibleText_get_caretOffset(This,offset) \
+ ( (This)->lpVtbl -> get_caretOffset(This,offset) )
+
+#define IAccessibleText_get_characterExtents(This,offset,coordType,x,y,width,height) \
+ ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
+
+#define IAccessibleText_get_nSelections(This,nSelections) \
+ ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
+
+#define IAccessibleText_get_offsetAtPoint(This,x,y,coordType,offset) \
+ ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
+
+#define IAccessibleText_get_selection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleText_get_text(This,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
+
+#define IAccessibleText_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText_removeSelection(This,selectionIndex) \
+ ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
+
+#define IAccessibleText_setCaretOffset(This,offset) \
+ ( (This)->lpVtbl -> setCaretOffset(This,offset) )
+
+#define IAccessibleText_setSelection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleText_get_nCharacters(This,nCharacters) \
+ ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
+
+#define IAccessibleText_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
+ ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
+
+#define IAccessibleText_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
+
+#define IAccessibleText_get_newText(This,newText) \
+ ( (This)->lpVtbl -> get_newText(This,newText) )
+
+#define IAccessibleText_get_oldText(This,oldText) \
+ ( (This)->lpVtbl -> get_oldText(This,oldText) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleText_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleText2_INTERFACE_DEFINED__
+#define __IAccessibleText2_INTERFACE_DEFINED__
+
+/* interface IAccessibleText2 */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleText2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9690A9CC-5C80-4DF5-852E-2D5AE4189A54")
+ IAccessibleText2 : public IAccessibleText
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributeRange(
+ /* [in] */ long offset,
+ /* [in] */ BSTR filter,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *attributeValues) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleText2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleText2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleText2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleText2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *addSelection )(
+ IAccessibleText2 * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *textAttributes);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
+ IAccessibleText2 * This,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [out] */ long *x,
+ /* [out] */ long *y,
+ /* [out] */ long *width,
+ /* [retval][out] */ long *height);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
+ IAccessibleText2 * This,
+ /* [retval][out] */ long *nSelections);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
+ IAccessibleText2 * This,
+ /* [in] */ long x,
+ /* [in] */ long y,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
+ IAccessibleText2 * This,
+ /* [in] */ long selectionIndex,
+ /* [out] */ long *startOffset,
+ /* [retval][out] */ long *endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
+ IAccessibleText2 * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *removeSelection )(
+ IAccessibleText2 * This,
+ /* [in] */ long selectionIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset);
+
+ HRESULT ( STDMETHODCALLTYPE *setSelection )(
+ IAccessibleText2 * This,
+ /* [in] */ long selectionIndex,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
+ IAccessibleText2 * This,
+ /* [retval][out] */ long *nCharacters);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
+ IAccessibleText2 * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
+ IAccessibleText2 * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
+ IAccessibleText2 * This,
+ /* [retval][out] */ IA2TextSegment *newText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
+ IAccessibleText2 * This,
+ /* [retval][out] */ IA2TextSegment *oldText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributeRange )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [in] */ BSTR filter,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *attributeValues);
+
+ END_INTERFACE
+ } IAccessibleText2Vtbl;
+
+ interface IAccessibleText2
+ {
+ CONST_VTBL struct IAccessibleText2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleText2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleText2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleText2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleText2_addSelection(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
+
+#define IAccessibleText2_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
+ ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
+
+#define IAccessibleText2_get_caretOffset(This,offset) \
+ ( (This)->lpVtbl -> get_caretOffset(This,offset) )
+
+#define IAccessibleText2_get_characterExtents(This,offset,coordType,x,y,width,height) \
+ ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
+
+#define IAccessibleText2_get_nSelections(This,nSelections) \
+ ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
+
+#define IAccessibleText2_get_offsetAtPoint(This,x,y,coordType,offset) \
+ ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
+
+#define IAccessibleText2_get_selection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleText2_get_text(This,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
+
+#define IAccessibleText2_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText2_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText2_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText2_removeSelection(This,selectionIndex) \
+ ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
+
+#define IAccessibleText2_setCaretOffset(This,offset) \
+ ( (This)->lpVtbl -> setCaretOffset(This,offset) )
+
+#define IAccessibleText2_setSelection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleText2_get_nCharacters(This,nCharacters) \
+ ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
+
+#define IAccessibleText2_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
+ ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
+
+#define IAccessibleText2_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
+
+#define IAccessibleText2_get_newText(This,newText) \
+ ( (This)->lpVtbl -> get_newText(This,newText) )
+
+#define IAccessibleText2_get_oldText(This,oldText) \
+ ( (This)->lpVtbl -> get_oldText(This,oldText) )
+
+
+#define IAccessibleText2_get_attributeRange(This,offset,filter,startOffset,endOffset,attributeValues) \
+ ( (This)->lpVtbl -> get_attributeRange(This,offset,filter,startOffset,endOffset,attributeValues) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleText2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleEditableText_INTERFACE_DEFINED__
+#define __IAccessibleEditableText_INTERFACE_DEFINED__
+
+/* interface IAccessibleEditableText */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleEditableText;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("A59AA09A-7011-4b65-939D-32B1FB5547E3")
+ IAccessibleEditableText : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE copyText(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE deleteText(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE insertText(
+ /* [in] */ long offset,
+ /* [in] */ BSTR *text) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE cutText(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE pasteText(
+ /* [in] */ long offset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE replaceText(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [in] */ BSTR *text) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE setAttributes(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [in] */ BSTR *attributes) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleEditableTextVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleEditableText * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleEditableText * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleEditableText * This);
+
+ HRESULT ( STDMETHODCALLTYPE *copyText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *deleteText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *insertText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long offset,
+ /* [in] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *cutText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *pasteText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long offset);
+
+ HRESULT ( STDMETHODCALLTYPE *replaceText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [in] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *setAttributes )(
+ IAccessibleEditableText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [in] */ BSTR *attributes);
+
+ END_INTERFACE
+ } IAccessibleEditableTextVtbl;
+
+ interface IAccessibleEditableText
+ {
+ CONST_VTBL struct IAccessibleEditableTextVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleEditableText_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleEditableText_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleEditableText_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleEditableText_copyText(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> copyText(This,startOffset,endOffset) )
+
+#define IAccessibleEditableText_deleteText(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> deleteText(This,startOffset,endOffset) )
+
+#define IAccessibleEditableText_insertText(This,offset,text) \
+ ( (This)->lpVtbl -> insertText(This,offset,text) )
+
+#define IAccessibleEditableText_cutText(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> cutText(This,startOffset,endOffset) )
+
+#define IAccessibleEditableText_pasteText(This,offset) \
+ ( (This)->lpVtbl -> pasteText(This,offset) )
+
+#define IAccessibleEditableText_replaceText(This,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> replaceText(This,startOffset,endOffset,text) )
+
+#define IAccessibleEditableText_setAttributes(This,startOffset,endOffset,attributes) \
+ ( (This)->lpVtbl -> setAttributes(This,startOffset,endOffset,attributes) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleEditableText_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleHyperlink_INTERFACE_DEFINED__
+#define __IAccessibleHyperlink_INTERFACE_DEFINED__
+
+/* interface IAccessibleHyperlink */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleHyperlink;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("01C20F2B-3DD2-400f-949F-AD00BDAB1D41")
+ IAccessibleHyperlink : public IAccessibleAction
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchor(
+ /* [in] */ long index,
+ /* [retval][out] */ VARIANT *anchor) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget(
+ /* [in] */ long index,
+ /* [retval][out] */ VARIANT *anchorTarget) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_startIndex(
+ /* [retval][out] */ long *index) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_endIndex(
+ /* [retval][out] */ long *index) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_valid(
+ /* [retval][out] */ boolean *valid) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleHyperlinkVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleHyperlink * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleHyperlink * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleHyperlink * This);
+
+ HRESULT ( STDMETHODCALLTYPE *nActions )(
+ IAccessibleHyperlink * This,
+ /* [retval][out] */ long *nActions);
+
+ HRESULT ( STDMETHODCALLTYPE *doAction )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long actionIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long actionIndex,
+ /* [in] */ long nMaxBindings,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
+ /* [retval][out] */ long *nBindings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *name);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *localizedName);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchor )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long index,
+ /* [retval][out] */ VARIANT *anchor);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long index,
+ /* [retval][out] */ VARIANT *anchorTarget);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_startIndex )(
+ IAccessibleHyperlink * This,
+ /* [retval][out] */ long *index);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_endIndex )(
+ IAccessibleHyperlink * This,
+ /* [retval][out] */ long *index);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_valid )(
+ IAccessibleHyperlink * This,
+ /* [retval][out] */ boolean *valid);
+
+ END_INTERFACE
+ } IAccessibleHyperlinkVtbl;
+
+ interface IAccessibleHyperlink
+ {
+ CONST_VTBL struct IAccessibleHyperlinkVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleHyperlink_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleHyperlink_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleHyperlink_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleHyperlink_nActions(This,nActions) \
+ ( (This)->lpVtbl -> nActions(This,nActions) )
+
+#define IAccessibleHyperlink_doAction(This,actionIndex) \
+ ( (This)->lpVtbl -> doAction(This,actionIndex) )
+
+#define IAccessibleHyperlink_get_description(This,actionIndex,description) \
+ ( (This)->lpVtbl -> get_description(This,actionIndex,description) )
+
+#define IAccessibleHyperlink_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \
+ ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) )
+
+#define IAccessibleHyperlink_get_name(This,actionIndex,name) \
+ ( (This)->lpVtbl -> get_name(This,actionIndex,name) )
+
+#define IAccessibleHyperlink_get_localizedName(This,actionIndex,localizedName) \
+ ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) )
+
+
+#define IAccessibleHyperlink_get_anchor(This,index,anchor) \
+ ( (This)->lpVtbl -> get_anchor(This,index,anchor) )
+
+#define IAccessibleHyperlink_get_anchorTarget(This,index,anchorTarget) \
+ ( (This)->lpVtbl -> get_anchorTarget(This,index,anchorTarget) )
+
+#define IAccessibleHyperlink_get_startIndex(This,index) \
+ ( (This)->lpVtbl -> get_startIndex(This,index) )
+
+#define IAccessibleHyperlink_get_endIndex(This,index) \
+ ( (This)->lpVtbl -> get_endIndex(This,index) )
+
+#define IAccessibleHyperlink_get_valid(This,valid) \
+ ( (This)->lpVtbl -> get_valid(This,valid) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleHyperlink_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext_INTERFACE_DEFINED__
+#define __IAccessibleHypertext_INTERFACE_DEFINED__
+
+/* interface IAccessibleHypertext */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleHypertext;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("6B4F8BBF-F1F2-418a-B35E-A195BC4103B9")
+ IAccessibleHypertext : public IAccessibleText
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nHyperlinks(
+ /* [retval][out] */ long *hyperlinkCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlink(
+ /* [in] */ long index,
+ /* [retval][out] */ IAccessibleHyperlink **hyperlink) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinkIndex(
+ /* [in] */ long charIndex,
+ /* [retval][out] */ long *hyperlinkIndex) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleHypertextVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleHypertext * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleHypertext * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleHypertext * This);
+
+ HRESULT ( STDMETHODCALLTYPE *addSelection )(
+ IAccessibleHypertext * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *textAttributes);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [out] */ long *x,
+ /* [out] */ long *y,
+ /* [out] */ long *width,
+ /* [retval][out] */ long *height);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ long *nSelections);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
+ IAccessibleHypertext * This,
+ /* [in] */ long x,
+ /* [in] */ long y,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
+ IAccessibleHypertext * This,
+ /* [in] */ long selectionIndex,
+ /* [out] */ long *startOffset,
+ /* [retval][out] */ long *endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
+ IAccessibleHypertext * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *removeSelection )(
+ IAccessibleHypertext * This,
+ /* [in] */ long selectionIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset);
+
+ HRESULT ( STDMETHODCALLTYPE *setSelection )(
+ IAccessibleHypertext * This,
+ /* [in] */ long selectionIndex,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ long *nCharacters);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
+ IAccessibleHypertext * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
+ IAccessibleHypertext * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ IA2TextSegment *newText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ IA2TextSegment *oldText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ long *hyperlinkCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )(
+ IAccessibleHypertext * This,
+ /* [in] */ long index,
+ /* [retval][out] */ IAccessibleHyperlink **hyperlink);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )(
+ IAccessibleHypertext * This,
+ /* [in] */ long charIndex,
+ /* [retval][out] */ long *hyperlinkIndex);
+
+ END_INTERFACE
+ } IAccessibleHypertextVtbl;
+
+ interface IAccessibleHypertext
+ {
+ CONST_VTBL struct IAccessibleHypertextVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleHypertext_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleHypertext_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleHypertext_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleHypertext_addSelection(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
+
+#define IAccessibleHypertext_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
+ ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
+
+#define IAccessibleHypertext_get_caretOffset(This,offset) \
+ ( (This)->lpVtbl -> get_caretOffset(This,offset) )
+
+#define IAccessibleHypertext_get_characterExtents(This,offset,coordType,x,y,width,height) \
+ ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
+
+#define IAccessibleHypertext_get_nSelections(This,nSelections) \
+ ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
+
+#define IAccessibleHypertext_get_offsetAtPoint(This,x,y,coordType,offset) \
+ ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
+
+#define IAccessibleHypertext_get_selection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleHypertext_get_text(This,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext_removeSelection(This,selectionIndex) \
+ ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
+
+#define IAccessibleHypertext_setCaretOffset(This,offset) \
+ ( (This)->lpVtbl -> setCaretOffset(This,offset) )
+
+#define IAccessibleHypertext_setSelection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleHypertext_get_nCharacters(This,nCharacters) \
+ ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
+
+#define IAccessibleHypertext_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
+ ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
+
+#define IAccessibleHypertext_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
+
+#define IAccessibleHypertext_get_newText(This,newText) \
+ ( (This)->lpVtbl -> get_newText(This,newText) )
+
+#define IAccessibleHypertext_get_oldText(This,oldText) \
+ ( (This)->lpVtbl -> get_oldText(This,oldText) )
+
+
+#define IAccessibleHypertext_get_nHyperlinks(This,hyperlinkCount) \
+ ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) )
+
+#define IAccessibleHypertext_get_hyperlink(This,index,hyperlink) \
+ ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) )
+
+#define IAccessibleHypertext_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \
+ ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleHypertext_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext2_INTERFACE_DEFINED__
+#define __IAccessibleHypertext2_INTERFACE_DEFINED__
+
+/* interface IAccessibleHypertext2 */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleHypertext2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("CF64D89F-8287-4B44-8501-A827453A6077")
+ IAccessibleHypertext2 : public IAccessibleHypertext
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinks(
+ /* [size_is][size_is][out] */ IAccessibleHyperlink ***hyperlinks,
+ /* [retval][out] */ long *nHyperlinks) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleHypertext2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleHypertext2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleHypertext2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *addSelection )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *textAttributes);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [out] */ long *x,
+ /* [out] */ long *y,
+ /* [out] */ long *width,
+ /* [retval][out] */ long *height);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ long *nSelections);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long x,
+ /* [in] */ long y,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long selectionIndex,
+ /* [out] */ long *startOffset,
+ /* [retval][out] */ long *endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *removeSelection )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long selectionIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset);
+
+ HRESULT ( STDMETHODCALLTYPE *setSelection )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long selectionIndex,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ long *nCharacters);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ IA2TextSegment *newText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ IA2TextSegment *oldText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ long *hyperlinkCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long index,
+ /* [retval][out] */ IAccessibleHyperlink **hyperlink);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long charIndex,
+ /* [retval][out] */ long *hyperlinkIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinks )(
+ IAccessibleHypertext2 * This,
+ /* [size_is][size_is][out] */ IAccessibleHyperlink ***hyperlinks,
+ /* [retval][out] */ long *nHyperlinks);
+
+ END_INTERFACE
+ } IAccessibleHypertext2Vtbl;
+
+ interface IAccessibleHypertext2
+ {
+ CONST_VTBL struct IAccessibleHypertext2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleHypertext2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleHypertext2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleHypertext2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleHypertext2_addSelection(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
+
+#define IAccessibleHypertext2_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
+ ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
+
+#define IAccessibleHypertext2_get_caretOffset(This,offset) \
+ ( (This)->lpVtbl -> get_caretOffset(This,offset) )
+
+#define IAccessibleHypertext2_get_characterExtents(This,offset,coordType,x,y,width,height) \
+ ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
+
+#define IAccessibleHypertext2_get_nSelections(This,nSelections) \
+ ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
+
+#define IAccessibleHypertext2_get_offsetAtPoint(This,x,y,coordType,offset) \
+ ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
+
+#define IAccessibleHypertext2_get_selection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleHypertext2_get_text(This,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext2_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext2_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext2_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext2_removeSelection(This,selectionIndex) \
+ ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
+
+#define IAccessibleHypertext2_setCaretOffset(This,offset) \
+ ( (This)->lpVtbl -> setCaretOffset(This,offset) )
+
+#define IAccessibleHypertext2_setSelection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleHypertext2_get_nCharacters(This,nCharacters) \
+ ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
+
+#define IAccessibleHypertext2_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
+ ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
+
+#define IAccessibleHypertext2_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
+
+#define IAccessibleHypertext2_get_newText(This,newText) \
+ ( (This)->lpVtbl -> get_newText(This,newText) )
+
+#define IAccessibleHypertext2_get_oldText(This,oldText) \
+ ( (This)->lpVtbl -> get_oldText(This,oldText) )
+
+
+#define IAccessibleHypertext2_get_nHyperlinks(This,hyperlinkCount) \
+ ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) )
+
+#define IAccessibleHypertext2_get_hyperlink(This,index,hyperlink) \
+ ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) )
+
+#define IAccessibleHypertext2_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \
+ ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) )
+
+
+#define IAccessibleHypertext2_get_hyperlinks(This,hyperlinks,nHyperlinks) \
+ ( (This)->lpVtbl -> get_hyperlinks(This,hyperlinks,nHyperlinks) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleHypertext2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleTable_INTERFACE_DEFINED__
+#define __IAccessibleTable_INTERFACE_DEFINED__
+
+/* interface IAccessibleTable */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleTable;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("35AD8070-C20C-4fb4-B094-F4F7275DD469")
+ IAccessibleTable : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt(
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex(
+ /* [in] */ long rowIndex,
+ /* [in] */ long columnIndex,
+ /* [retval][out] */ long *cellIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
+ /* [in] */ long column,
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt(
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ long *nColumnsSpanned) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader(
+ /* [out] */ IAccessibleTable **accessibleTable,
+ /* [retval][out] */ long *startingRowIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
+ /* [in] */ long cellIndex,
+ /* [retval][out] */ long *columnIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
+ /* [retval][out] */ long *columnCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
+ /* [retval][out] */ long *rowCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren(
+ /* [retval][out] */ long *cellCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
+ /* [retval][out] */ long *columnCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
+ /* [retval][out] */ long *rowCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
+ /* [in] */ long row,
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt(
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ long *nRowsSpanned) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader(
+ /* [out] */ IAccessibleTable **accessibleTable,
+ /* [retval][out] */ long *startingColumnIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
+ /* [in] */ long cellIndex,
+ /* [retval][out] */ long *rowIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren(
+ /* [in] */ long maxChildren,
+ /* [length_is][length_is][size_is][size_is][out] */ long **children,
+ /* [retval][out] */ long *nChildren) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
+ /* [in] */ long maxColumns,
+ /* [length_is][length_is][size_is][size_is][out] */ long **columns,
+ /* [retval][out] */ long *nColumns) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
+ /* [in] */ long maxRows,
+ /* [length_is][length_is][size_is][size_is][out] */ long **rows,
+ /* [retval][out] */ long *nRows) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
+ /* [in] */ long row,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE selectRow(
+ /* [in] */ long row) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE selectColumn(
+ /* [in] */ long column) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE unselectRow(
+ /* [in] */ long row) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE unselectColumn(
+ /* [in] */ long column) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex(
+ /* [in] */ long index,
+ /* [out] */ long *row,
+ /* [out] */ long *column,
+ /* [out] */ long *rowExtents,
+ /* [out] */ long *columnExtents,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
+ /* [retval][out] */ IA2TableModelChange *modelChange) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleTableVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleTable * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleTable * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleTable * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleAt )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ IUnknown **accessible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )(
+ IAccessibleTable * This,
+ /* [retval][out] */ IUnknown **accessible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_childIndex )(
+ IAccessibleTable * This,
+ /* [in] */ long rowIndex,
+ /* [in] */ long columnIndex,
+ /* [retval][out] */ long *cellIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )(
+ IAccessibleTable * This,
+ /* [in] */ long column,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtentAt )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ long *nColumnsSpanned);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeader )(
+ IAccessibleTable * This,
+ /* [out] */ IAccessibleTable **accessibleTable,
+ /* [retval][out] */ long *startingRowIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )(
+ IAccessibleTable * This,
+ /* [in] */ long cellIndex,
+ /* [retval][out] */ long *columnIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )(
+ IAccessibleTable * This,
+ /* [retval][out] */ long *columnCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )(
+ IAccessibleTable * This,
+ /* [retval][out] */ long *rowCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedChildren )(
+ IAccessibleTable * This,
+ /* [retval][out] */ long *cellCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )(
+ IAccessibleTable * This,
+ /* [retval][out] */ long *columnCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )(
+ IAccessibleTable * This,
+ /* [retval][out] */ long *rowCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtentAt )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ long *nRowsSpanned);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeader )(
+ IAccessibleTable * This,
+ /* [out] */ IAccessibleTable **accessibleTable,
+ /* [retval][out] */ long *startingColumnIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )(
+ IAccessibleTable * This,
+ /* [in] */ long cellIndex,
+ /* [retval][out] */ long *rowIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedChildren )(
+ IAccessibleTable * This,
+ /* [in] */ long maxChildren,
+ /* [length_is][length_is][size_is][size_is][out] */ long **children,
+ /* [retval][out] */ long *nChildren);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )(
+ IAccessibleTable * This,
+ /* [in] */ long maxColumns,
+ /* [length_is][length_is][size_is][size_is][out] */ long **columns,
+ /* [retval][out] */ long *nColumns);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )(
+ IAccessibleTable * This,
+ /* [in] */ long maxRows,
+ /* [length_is][length_is][size_is][size_is][out] */ long **rows,
+ /* [retval][out] */ long *nRows);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )(
+ IAccessibleTable * This,
+ /* [retval][out] */ IUnknown **accessible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )(
+ IAccessibleTable * This,
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected);
+
+ HRESULT ( STDMETHODCALLTYPE *selectRow )(
+ IAccessibleTable * This,
+ /* [in] */ long row);
+
+ HRESULT ( STDMETHODCALLTYPE *selectColumn )(
+ IAccessibleTable * This,
+ /* [in] */ long column);
+
+ HRESULT ( STDMETHODCALLTYPE *unselectRow )(
+ IAccessibleTable * This,
+ /* [in] */ long row);
+
+ HRESULT ( STDMETHODCALLTYPE *unselectColumn )(
+ IAccessibleTable * This,
+ /* [in] */ long column);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtentsAtIndex )(
+ IAccessibleTable * This,
+ /* [in] */ long index,
+ /* [out] */ long *row,
+ /* [out] */ long *column,
+ /* [out] */ long *rowExtents,
+ /* [out] */ long *columnExtents,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )(
+ IAccessibleTable * This,
+ /* [retval][out] */ IA2TableModelChange *modelChange);
+
+ END_INTERFACE
+ } IAccessibleTableVtbl;
+
+ interface IAccessibleTable
+ {
+ CONST_VTBL struct IAccessibleTableVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleTable_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleTable_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleTable_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleTable_get_accessibleAt(This,row,column,accessible) \
+ ( (This)->lpVtbl -> get_accessibleAt(This,row,column,accessible) )
+
+#define IAccessibleTable_get_caption(This,accessible) \
+ ( (This)->lpVtbl -> get_caption(This,accessible) )
+
+#define IAccessibleTable_get_childIndex(This,rowIndex,columnIndex,cellIndex) \
+ ( (This)->lpVtbl -> get_childIndex(This,rowIndex,columnIndex,cellIndex) )
+
+#define IAccessibleTable_get_columnDescription(This,column,description) \
+ ( (This)->lpVtbl -> get_columnDescription(This,column,description) )
+
+#define IAccessibleTable_get_columnExtentAt(This,row,column,nColumnsSpanned) \
+ ( (This)->lpVtbl -> get_columnExtentAt(This,row,column,nColumnsSpanned) )
+
+#define IAccessibleTable_get_columnHeader(This,accessibleTable,startingRowIndex) \
+ ( (This)->lpVtbl -> get_columnHeader(This,accessibleTable,startingRowIndex) )
+
+#define IAccessibleTable_get_columnIndex(This,cellIndex,columnIndex) \
+ ( (This)->lpVtbl -> get_columnIndex(This,cellIndex,columnIndex) )
+
+#define IAccessibleTable_get_nColumns(This,columnCount) \
+ ( (This)->lpVtbl -> get_nColumns(This,columnCount) )
+
+#define IAccessibleTable_get_nRows(This,rowCount) \
+ ( (This)->lpVtbl -> get_nRows(This,rowCount) )
+
+#define IAccessibleTable_get_nSelectedChildren(This,cellCount) \
+ ( (This)->lpVtbl -> get_nSelectedChildren(This,cellCount) )
+
+#define IAccessibleTable_get_nSelectedColumns(This,columnCount) \
+ ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) )
+
+#define IAccessibleTable_get_nSelectedRows(This,rowCount) \
+ ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) )
+
+#define IAccessibleTable_get_rowDescription(This,row,description) \
+ ( (This)->lpVtbl -> get_rowDescription(This,row,description) )
+
+#define IAccessibleTable_get_rowExtentAt(This,row,column,nRowsSpanned) \
+ ( (This)->lpVtbl -> get_rowExtentAt(This,row,column,nRowsSpanned) )
+
+#define IAccessibleTable_get_rowHeader(This,accessibleTable,startingColumnIndex) \
+ ( (This)->lpVtbl -> get_rowHeader(This,accessibleTable,startingColumnIndex) )
+
+#define IAccessibleTable_get_rowIndex(This,cellIndex,rowIndex) \
+ ( (This)->lpVtbl -> get_rowIndex(This,cellIndex,rowIndex) )
+
+#define IAccessibleTable_get_selectedChildren(This,maxChildren,children,nChildren) \
+ ( (This)->lpVtbl -> get_selectedChildren(This,maxChildren,children,nChildren) )
+
+#define IAccessibleTable_get_selectedColumns(This,maxColumns,columns,nColumns) \
+ ( (This)->lpVtbl -> get_selectedColumns(This,maxColumns,columns,nColumns) )
+
+#define IAccessibleTable_get_selectedRows(This,maxRows,rows,nRows) \
+ ( (This)->lpVtbl -> get_selectedRows(This,maxRows,rows,nRows) )
+
+#define IAccessibleTable_get_summary(This,accessible) \
+ ( (This)->lpVtbl -> get_summary(This,accessible) )
+
+#define IAccessibleTable_get_isColumnSelected(This,column,isSelected) \
+ ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) )
+
+#define IAccessibleTable_get_isRowSelected(This,row,isSelected) \
+ ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) )
+
+#define IAccessibleTable_get_isSelected(This,row,column,isSelected) \
+ ( (This)->lpVtbl -> get_isSelected(This,row,column,isSelected) )
+
+#define IAccessibleTable_selectRow(This,row) \
+ ( (This)->lpVtbl -> selectRow(This,row) )
+
+#define IAccessibleTable_selectColumn(This,column) \
+ ( (This)->lpVtbl -> selectColumn(This,column) )
+
+#define IAccessibleTable_unselectRow(This,row) \
+ ( (This)->lpVtbl -> unselectRow(This,row) )
+
+#define IAccessibleTable_unselectColumn(This,column) \
+ ( (This)->lpVtbl -> unselectColumn(This,column) )
+
+#define IAccessibleTable_get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) \
+ ( (This)->lpVtbl -> get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) )
+
+#define IAccessibleTable_get_modelChange(This,modelChange) \
+ ( (This)->lpVtbl -> get_modelChange(This,modelChange) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleTable_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleTable2_INTERFACE_DEFINED__
+#define __IAccessibleTable2_INTERFACE_DEFINED__
+
+/* interface IAccessibleTable2 */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleTable2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("6167f295-06f0-4cdd-a1fa-02e25153d869")
+ IAccessibleTable2 : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt(
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ IUnknown **cell) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
+ /* [in] */ long column,
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
+ /* [retval][out] */ long *columnCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
+ /* [retval][out] */ long *rowCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells(
+ /* [retval][out] */ long *cellCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
+ /* [retval][out] */ long *columnCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
+ /* [retval][out] */ long *rowCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
+ /* [in] */ long row,
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells(
+ /* [size_is][size_is][out] */ IUnknown ***cells,
+ /* [retval][out] */ long *nSelectedCells) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
+ /* [size_is][size_is][out] */ long **selectedColumns,
+ /* [retval][out] */ long *nColumns) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
+ /* [size_is][size_is][out] */ long **selectedRows,
+ /* [retval][out] */ long *nRows) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
+ /* [in] */ long row,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE selectRow(
+ /* [in] */ long row) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE selectColumn(
+ /* [in] */ long column) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE unselectRow(
+ /* [in] */ long row) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE unselectColumn(
+ /* [in] */ long column) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
+ /* [retval][out] */ IA2TableModelChange *modelChange) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleTable2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleTable2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleTable2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleTable2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellAt )(
+ IAccessibleTable2 * This,
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ IUnknown **cell);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ IUnknown **accessible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )(
+ IAccessibleTable2 * This,
+ /* [in] */ long column,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ long *columnCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ long *rowCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedCells )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ long *cellCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ long *columnCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ long *rowCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )(
+ IAccessibleTable2 * This,
+ /* [in] */ long row,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedCells )(
+ IAccessibleTable2 * This,
+ /* [size_is][size_is][out] */ IUnknown ***cells,
+ /* [retval][out] */ long *nSelectedCells);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )(
+ IAccessibleTable2 * This,
+ /* [size_is][size_is][out] */ long **selectedColumns,
+ /* [retval][out] */ long *nColumns);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )(
+ IAccessibleTable2 * This,
+ /* [size_is][size_is][out] */ long **selectedRows,
+ /* [retval][out] */ long *nRows);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ IUnknown **accessible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )(
+ IAccessibleTable2 * This,
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )(
+ IAccessibleTable2 * This,
+ /* [in] */ long row,
+ /* [retval][out] */ boolean *isSelected);
+
+ HRESULT ( STDMETHODCALLTYPE *selectRow )(
+ IAccessibleTable2 * This,
+ /* [in] */ long row);
+
+ HRESULT ( STDMETHODCALLTYPE *selectColumn )(
+ IAccessibleTable2 * This,
+ /* [in] */ long column);
+
+ HRESULT ( STDMETHODCALLTYPE *unselectRow )(
+ IAccessibleTable2 * This,
+ /* [in] */ long row);
+
+ HRESULT ( STDMETHODCALLTYPE *unselectColumn )(
+ IAccessibleTable2 * This,
+ /* [in] */ long column);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ IA2TableModelChange *modelChange);
+
+ END_INTERFACE
+ } IAccessibleTable2Vtbl;
+
+ interface IAccessibleTable2
+ {
+ CONST_VTBL struct IAccessibleTable2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleTable2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleTable2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleTable2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleTable2_get_cellAt(This,row,column,cell) \
+ ( (This)->lpVtbl -> get_cellAt(This,row,column,cell) )
+
+#define IAccessibleTable2_get_caption(This,accessible) \
+ ( (This)->lpVtbl -> get_caption(This,accessible) )
+
+#define IAccessibleTable2_get_columnDescription(This,column,description) \
+ ( (This)->lpVtbl -> get_columnDescription(This,column,description) )
+
+#define IAccessibleTable2_get_nColumns(This,columnCount) \
+ ( (This)->lpVtbl -> get_nColumns(This,columnCount) )
+
+#define IAccessibleTable2_get_nRows(This,rowCount) \
+ ( (This)->lpVtbl -> get_nRows(This,rowCount) )
+
+#define IAccessibleTable2_get_nSelectedCells(This,cellCount) \
+ ( (This)->lpVtbl -> get_nSelectedCells(This,cellCount) )
+
+#define IAccessibleTable2_get_nSelectedColumns(This,columnCount) \
+ ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) )
+
+#define IAccessibleTable2_get_nSelectedRows(This,rowCount) \
+ ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) )
+
+#define IAccessibleTable2_get_rowDescription(This,row,description) \
+ ( (This)->lpVtbl -> get_rowDescription(This,row,description) )
+
+#define IAccessibleTable2_get_selectedCells(This,cells,nSelectedCells) \
+ ( (This)->lpVtbl -> get_selectedCells(This,cells,nSelectedCells) )
+
+#define IAccessibleTable2_get_selectedColumns(This,selectedColumns,nColumns) \
+ ( (This)->lpVtbl -> get_selectedColumns(This,selectedColumns,nColumns) )
+
+#define IAccessibleTable2_get_selectedRows(This,selectedRows,nRows) \
+ ( (This)->lpVtbl -> get_selectedRows(This,selectedRows,nRows) )
+
+#define IAccessibleTable2_get_summary(This,accessible) \
+ ( (This)->lpVtbl -> get_summary(This,accessible) )
+
+#define IAccessibleTable2_get_isColumnSelected(This,column,isSelected) \
+ ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) )
+
+#define IAccessibleTable2_get_isRowSelected(This,row,isSelected) \
+ ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) )
+
+#define IAccessibleTable2_selectRow(This,row) \
+ ( (This)->lpVtbl -> selectRow(This,row) )
+
+#define IAccessibleTable2_selectColumn(This,column) \
+ ( (This)->lpVtbl -> selectColumn(This,column) )
+
+#define IAccessibleTable2_unselectRow(This,row) \
+ ( (This)->lpVtbl -> unselectRow(This,row) )
+
+#define IAccessibleTable2_unselectColumn(This,column) \
+ ( (This)->lpVtbl -> unselectColumn(This,column) )
+
+#define IAccessibleTable2_get_modelChange(This,modelChange) \
+ ( (This)->lpVtbl -> get_modelChange(This,modelChange) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleTable2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleTableCell_INTERFACE_DEFINED__
+#define __IAccessibleTableCell_INTERFACE_DEFINED__
+
+/* interface IAccessibleTableCell */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleTableCell;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("594116B1-C99F-4847-AD06-0A7A86ECE645")
+ IAccessibleTableCell : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtent(
+ /* [retval][out] */ long *nColumnsSpanned) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeaderCells(
+ /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
+ /* [retval][out] */ long *nColumnHeaderCells) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
+ /* [retval][out] */ long *columnIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtent(
+ /* [retval][out] */ long *nRowsSpanned) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeaderCells(
+ /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
+ /* [retval][out] */ long *nRowHeaderCells) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
+ /* [retval][out] */ long *rowIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtents(
+ /* [out] */ long *row,
+ /* [out] */ long *column,
+ /* [out] */ long *rowExtents,
+ /* [out] */ long *columnExtents,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_table(
+ /* [retval][out] */ IUnknown **table) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleTableCellVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleTableCell * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleTableCell * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleTableCell * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtent )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ long *nColumnsSpanned);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeaderCells )(
+ IAccessibleTableCell * This,
+ /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
+ /* [retval][out] */ long *nColumnHeaderCells);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ long *columnIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtent )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ long *nRowsSpanned);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeaderCells )(
+ IAccessibleTableCell * This,
+ /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
+ /* [retval][out] */ long *nRowHeaderCells);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ long *rowIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtents )(
+ IAccessibleTableCell * This,
+ /* [out] */ long *row,
+ /* [out] */ long *column,
+ /* [out] */ long *rowExtents,
+ /* [out] */ long *columnExtents,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_table )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ IUnknown **table);
+
+ END_INTERFACE
+ } IAccessibleTableCellVtbl;
+
+ interface IAccessibleTableCell
+ {
+ CONST_VTBL struct IAccessibleTableCellVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleTableCell_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleTableCell_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleTableCell_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleTableCell_get_columnExtent(This,nColumnsSpanned) \
+ ( (This)->lpVtbl -> get_columnExtent(This,nColumnsSpanned) )
+
+#define IAccessibleTableCell_get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) \
+ ( (This)->lpVtbl -> get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) )
+
+#define IAccessibleTableCell_get_columnIndex(This,columnIndex) \
+ ( (This)->lpVtbl -> get_columnIndex(This,columnIndex) )
+
+#define IAccessibleTableCell_get_rowExtent(This,nRowsSpanned) \
+ ( (This)->lpVtbl -> get_rowExtent(This,nRowsSpanned) )
+
+#define IAccessibleTableCell_get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) \
+ ( (This)->lpVtbl -> get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) )
+
+#define IAccessibleTableCell_get_rowIndex(This,rowIndex) \
+ ( (This)->lpVtbl -> get_rowIndex(This,rowIndex) )
+
+#define IAccessibleTableCell_get_isSelected(This,isSelected) \
+ ( (This)->lpVtbl -> get_isSelected(This,isSelected) )
+
+#define IAccessibleTableCell_get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) \
+ ( (This)->lpVtbl -> get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) )
+
+#define IAccessibleTableCell_get_table(This,table) \
+ ( (This)->lpVtbl -> get_table(This,table) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleTableCell_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleImage_INTERFACE_DEFINED__
+#define __IAccessibleImage_INTERFACE_DEFINED__
+
+/* interface IAccessibleImage */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleImage;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE")
+ IAccessibleImage : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description(
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imagePosition(
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [out] */ long *x,
+ /* [retval][out] */ long *y) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imageSize(
+ /* [out] */ long *height,
+ /* [retval][out] */ long *width) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleImageVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleImage * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleImage * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleImage * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
+ IAccessibleImage * This,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imagePosition )(
+ IAccessibleImage * This,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [out] */ long *x,
+ /* [retval][out] */ long *y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageSize )(
+ IAccessibleImage * This,
+ /* [out] */ long *height,
+ /* [retval][out] */ long *width);
+
+ END_INTERFACE
+ } IAccessibleImageVtbl;
+
+ interface IAccessibleImage
+ {
+ CONST_VTBL struct IAccessibleImageVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleImage_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleImage_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleImage_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleImage_get_description(This,description) \
+ ( (This)->lpVtbl -> get_description(This,description) )
+
+#define IAccessibleImage_get_imagePosition(This,coordinateType,x,y) \
+ ( (This)->lpVtbl -> get_imagePosition(This,coordinateType,x,y) )
+
+#define IAccessibleImage_get_imageSize(This,height,width) \
+ ( (This)->lpVtbl -> get_imageSize(This,height,width) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleImage_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0016 */
+/* [local] */
+
+
+enum IA2EventID
+ { IA2_EVENT_ACTION_CHANGED = 0x101,
+ IA2_EVENT_ACTIVE_DECENDENT_CHANGED = ( IA2_EVENT_ACTION_CHANGED + 1 ) ,
+ IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
+ IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED = ( IA2_EVENT_ACTIVE_DESCENDANT_CHANGED + 1 ) ,
+ IA2_EVENT_DOCUMENT_CONTENT_CHANGED = ( IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED + 1 ) ,
+ IA2_EVENT_DOCUMENT_LOAD_COMPLETE = ( IA2_EVENT_DOCUMENT_CONTENT_CHANGED + 1 ) ,
+ IA2_EVENT_DOCUMENT_LOAD_STOPPED = ( IA2_EVENT_DOCUMENT_LOAD_COMPLETE + 1 ) ,
+ IA2_EVENT_DOCUMENT_RELOAD = ( IA2_EVENT_DOCUMENT_LOAD_STOPPED + 1 ) ,
+ IA2_EVENT_HYPERLINK_END_INDEX_CHANGED = ( IA2_EVENT_DOCUMENT_RELOAD + 1 ) ,
+ IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED = ( IA2_EVENT_HYPERLINK_END_INDEX_CHANGED + 1 ) ,
+ IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED = ( IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED + 1 ) ,
+ IA2_EVENT_HYPERTEXT_LINK_ACTIVATED = ( IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED + 1 ) ,
+ IA2_EVENT_HYPERTEXT_LINK_SELECTED = ( IA2_EVENT_HYPERTEXT_LINK_ACTIVATED + 1 ) ,
+ IA2_EVENT_HYPERLINK_START_INDEX_CHANGED = ( IA2_EVENT_HYPERTEXT_LINK_SELECTED + 1 ) ,
+ IA2_EVENT_HYPERTEXT_CHANGED = ( IA2_EVENT_HYPERLINK_START_INDEX_CHANGED + 1 ) ,
+ IA2_EVENT_HYPERTEXT_NLINKS_CHANGED = ( IA2_EVENT_HYPERTEXT_CHANGED + 1 ) ,
+ IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED = ( IA2_EVENT_HYPERTEXT_NLINKS_CHANGED + 1 ) ,
+ IA2_EVENT_PAGE_CHANGED = ( IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED + 1 ) ,
+ IA2_EVENT_SECTION_CHANGED = ( IA2_EVENT_PAGE_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_CAPTION_CHANGED = ( IA2_EVENT_SECTION_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_CAPTION_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED = ( IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_MODEL_CHANGED = ( IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_MODEL_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_ROW_HEADER_CHANGED = ( IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_SUMMARY_CHANGED = ( IA2_EVENT_TABLE_ROW_HEADER_CHANGED + 1 ) ,
+ IA2_EVENT_TEXT_ATTRIBUTE_CHANGED = ( IA2_EVENT_TABLE_SUMMARY_CHANGED + 1 ) ,
+ IA2_EVENT_TEXT_CARET_MOVED = ( IA2_EVENT_TEXT_ATTRIBUTE_CHANGED + 1 ) ,
+ IA2_EVENT_TEXT_CHANGED = ( IA2_EVENT_TEXT_CARET_MOVED + 1 ) ,
+ IA2_EVENT_TEXT_COLUMN_CHANGED = ( IA2_EVENT_TEXT_CHANGED + 1 ) ,
+ IA2_EVENT_TEXT_INSERTED = ( IA2_EVENT_TEXT_COLUMN_CHANGED + 1 ) ,
+ IA2_EVENT_TEXT_REMOVED = ( IA2_EVENT_TEXT_INSERTED + 1 ) ,
+ IA2_EVENT_TEXT_UPDATED = ( IA2_EVENT_TEXT_REMOVED + 1 ) ,
+ IA2_EVENT_TEXT_SELECTION_CHANGED = ( IA2_EVENT_TEXT_UPDATED + 1 ) ,
+ IA2_EVENT_VISIBLE_DATA_CHANGED = ( IA2_EVENT_TEXT_SELECTION_CHANGED + 1 )
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_s_ifspec;
+
+#ifndef __IAccessibleApplication_INTERFACE_DEFINED__
+#define __IAccessibleApplication_INTERFACE_DEFINED__
+
+/* interface IAccessibleApplication */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleApplication;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("D49DED83-5B25-43F4-9B95-93B44595979E")
+ IAccessibleApplication : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appName(
+ /* [retval][out] */ BSTR *name) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appVersion(
+ /* [retval][out] */ BSTR *version) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitName(
+ /* [retval][out] */ BSTR *name) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitVersion(
+ /* [retval][out] */ BSTR *version) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleApplicationVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleApplication * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleApplication * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleApplication * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appName )(
+ IAccessibleApplication * This,
+ /* [retval][out] */ BSTR *name);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appVersion )(
+ IAccessibleApplication * This,
+ /* [retval][out] */ BSTR *version);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitName )(
+ IAccessibleApplication * This,
+ /* [retval][out] */ BSTR *name);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitVersion )(
+ IAccessibleApplication * This,
+ /* [retval][out] */ BSTR *version);
+
+ END_INTERFACE
+ } IAccessibleApplicationVtbl;
+
+ interface IAccessibleApplication
+ {
+ CONST_VTBL struct IAccessibleApplicationVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleApplication_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleApplication_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleApplication_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleApplication_get_appName(This,name) \
+ ( (This)->lpVtbl -> get_appName(This,name) )
+
+#define IAccessibleApplication_get_appVersion(This,version) \
+ ( (This)->lpVtbl -> get_appVersion(This,version) )
+
+#define IAccessibleApplication_get_toolkitName(This,name) \
+ ( (This)->lpVtbl -> get_toolkitName(This,name) )
+
+#define IAccessibleApplication_get_toolkitVersion(This,version) \
+ ( (This)->lpVtbl -> get_toolkitVersion(This,version) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleApplication_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleDocument_INTERFACE_DEFINED__
+#define __IAccessibleDocument_INTERFACE_DEFINED__
+
+/* interface IAccessibleDocument */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleDocument;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C48C7FCF-4AB5-4056-AFA6-902D6E1D1149")
+ IAccessibleDocument : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget(
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleDocumentVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleDocument * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleDocument * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleDocument * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )(
+ IAccessibleDocument * This,
+ /* [retval][out] */ IUnknown **accessible);
+
+ END_INTERFACE
+ } IAccessibleDocumentVtbl;
+
+ interface IAccessibleDocument
+ {
+ CONST_VTBL struct IAccessibleDocumentVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleDocument_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleDocument_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleDocument_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleDocument_get_anchorTarget(This,accessible) \
+ ( (This)->lpVtbl -> get_anchorTarget(This,accessible) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleDocument_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0018 */
+/* [local] */
+
+
+// Type Library Definitions
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_s_ifspec;
+
+
+#ifndef __IAccessible2Lib_LIBRARY_DEFINED__
+#define __IAccessible2Lib_LIBRARY_DEFINED__
+
+/* library IAccessible2Lib */
+/* [hidden][version][helpstring][uuid] */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+EXTERN_C const IID LIBID_IAccessible2Lib;
+#endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */
+
+/* Additional Prototypes for ALL interfaces */
+
+unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
+unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
+unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
+void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
+
+unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * );
+unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * );
+unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
+void __RPC_USER HWND_UserFree( unsigned long *, HWND * );
+
+unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
+unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
+unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
+void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.tlb b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.tlb
new file mode 100644
index 0000000000..7d0b47e312
--- /dev/null
+++ b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.tlb
Binary files differ
diff --git a/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_i.c b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_i.c
new file mode 100644
index 0000000000..e04a5dcb69
--- /dev/null
+++ b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_i.c
@@ -0,0 +1,133 @@
+
+
+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
+
+/* link this file in with the server and any clients */
+
+
+ /* File created by MIDL compiler version 7.00.0555 */
+/* at Mon Aug 11 14:34:44 2014
+ */
+/* Compiler settings for ia2_api_all.idl:
+ Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+/* @@MIDL_FILE_HEADING( ) */
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+
+#include <rpc.h>
+#include <rpcndr.h>
+
+#ifdef _MIDL_USE_GUIDDEF_
+
+#ifndef INITGUID
+#define INITGUID
+#include <guiddef.h>
+#undef INITGUID
+#else
+#include <guiddef.h>
+#endif
+
+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
+ DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
+
+#else // !_MIDL_USE_GUIDDEF_
+
+#ifndef __IID_DEFINED__
+#define __IID_DEFINED__
+
+typedef struct _IID
+{
+ unsigned long x;
+ unsigned short s1;
+ unsigned short s2;
+ unsigned char c[8];
+} IID;
+
+#endif // __IID_DEFINED__
+
+#ifndef CLSID_DEFINED
+#define CLSID_DEFINED
+typedef IID CLSID;
+#endif // CLSID_DEFINED
+
+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
+ const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
+
+#endif !_MIDL_USE_GUIDDEF_
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleRelation,0x7CDF86EE,0xC3DA,0x496a,0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleAction,0xB70D9F59,0x3B5A,0x4dba,0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessible2,0xE89F726E,0xC4F4,0x4c19,0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessible2_2,0x6C9430E9,0x299D,0x4E6F,0xBD,0x01,0xA8,0x2A,0x1E,0x88,0xD3,0xFF);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleComponent,0x1546D4B0,0x4C98,0x4bda,0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleValue,0x35855B5B,0xC566,0x4fd0,0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleText,0x24FD2FFB,0x3AAD,0x4a08,0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleText2,0x9690A9CC,0x5C80,0x4DF5,0x85,0x2E,0x2D,0x5A,0xE4,0x18,0x9A,0x54);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleEditableText,0xA59AA09A,0x7011,0x4b65,0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleHyperlink,0x01C20F2B,0x3DD2,0x400f,0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext,0x6B4F8BBF,0xF1F2,0x418a,0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext2,0xCF64D89F,0x8287,0x4B44,0x85,0x01,0xA8,0x27,0x45,0x3A,0x60,0x77);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleTable,0x35AD8070,0xC20C,0x4fb4,0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleTable2,0x6167f295,0x06f0,0x4cdd,0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleTableCell,0x594116B1,0xC99F,0x4847,0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleImage,0xFE5ABB3D,0x615E,0x4f7b,0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleApplication,0xD49DED83,0x5B25,0x43F4,0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleDocument,0xC48C7FCF,0x4AB5,0x4056,0xAF,0xA6,0x90,0x2D,0x6E,0x1D,0x11,0x49);
+
+
+MIDL_DEFINE_GUID(IID, LIBID_IAccessible2Lib,0xCE3F726E,0xD1D3,0x44FE,0xB9,0x95,0xFF,0x1D,0xB3,0xB4,0x8B,0x2B);
+
+#undef MIDL_DEFINE_GUID
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
diff --git a/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_p.c b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_p.c
new file mode 100644
index 0000000000..f869a631b2
--- /dev/null
+++ b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_p.c
@@ -0,0 +1,7867 @@
+
+
+/* this ALWAYS GENERATED file contains the proxy stub code */
+
+
+ /* File created by MIDL compiler version 7.00.0555 */
+/* at Mon Aug 11 14:34:44 2014
+ */
+/* Compiler settings for ia2_api_all.idl:
+ Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+/* @@MIDL_FILE_HEADING( ) */
+
+#if defined(_M_AMD64)
+
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+#if _MSC_VER >= 1200
+#pragma warning(push)
+#endif
+
+#pragma warning( disable: 4211 ) /* redefine extern to static */
+#pragma warning( disable: 4232 ) /* dllimport identity*/
+#pragma warning( disable: 4024 ) /* array to pointer mapping*/
+#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
+
+#define USE_STUBLESS_PROXY
+
+
+/* verify that the <rpcproxy.h> version is high enough to compile this file*/
+#ifndef __REDQ_RPCPROXY_H_VERSION__
+#define __REQUIRED_RPCPROXY_H_VERSION__ 475
+#endif
+
+
+#include "rpcproxy.h"
+#ifndef __RPCPROXY_H_VERSION__
+#error this stub requires an updated version of <rpcproxy.h>
+#endif /* __RPCPROXY_H_VERSION__ */
+
+
+#include "ia2_api_all.h"
+
+#define TYPE_FORMAT_STRING_SIZE 1467
+#define PROC_FORMAT_STRING_SIZE 5445
+#define EXPR_FORMAT_STRING_SIZE 1
+#define TRANSMIT_AS_TABLE_SIZE 0
+#define WIRE_MARSHAL_TABLE_SIZE 3
+
+typedef struct _ia2_api_all_MIDL_TYPE_FORMAT_STRING
+ {
+ short Pad;
+ unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
+ } ia2_api_all_MIDL_TYPE_FORMAT_STRING;
+
+typedef struct _ia2_api_all_MIDL_PROC_FORMAT_STRING
+ {
+ short Pad;
+ unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
+ } ia2_api_all_MIDL_PROC_FORMAT_STRING;
+
+typedef struct _ia2_api_all_MIDL_EXPR_FORMAT_STRING
+ {
+ long Pad;
+ unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
+ } ia2_api_all_MIDL_EXPR_FORMAT_STRING;
+
+
+static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
+
+
+extern const ia2_api_all_MIDL_TYPE_FORMAT_STRING ia2_api_all__MIDL_TypeFormatString;
+extern const ia2_api_all_MIDL_PROC_FORMAT_STRING ia2_api_all__MIDL_ProcFormatString;
+extern const ia2_api_all_MIDL_EXPR_FORMAT_STRING ia2_api_all__MIDL_ExprFormatString;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleAction_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessible2_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessible2_2_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_2_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleValue_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleText_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleText2_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText2_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleHypertext2_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext2_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleTable_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleImage_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleDocument_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleDocument_ProxyInfo;
+
+
+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
+
+#if !defined(__RPC_WIN64__)
+#error Invalid build platform for this stub.
+#endif
+
+static const ia2_api_all_MIDL_PROC_FORMAT_STRING ia2_api_all__MIDL_ProcFormatString =
+ {
+ 0,
+ {
+
+ /* Procedure get_appName */
+
+
+ /* Procedure get_description */
+
+
+ /* Procedure get_relationType */
+
+ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2 */ NdrFcLong( 0x0 ), /* 0 */
+/* 6 */ NdrFcShort( 0x3 ), /* 3 */
+/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 10 */ NdrFcShort( 0x0 ), /* 0 */
+/* 12 */ NdrFcShort( 0x8 ), /* 8 */
+/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 16 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 18 */ NdrFcShort( 0x1 ), /* 1 */
+/* 20 */ NdrFcShort( 0x0 ), /* 0 */
+/* 22 */ NdrFcShort( 0x0 ), /* 0 */
+/* 24 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter name */
+
+
+ /* Parameter description */
+
+
+ /* Parameter relationType */
+
+/* 26 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 30 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 36 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_appVersion */
+
+
+ /* Procedure get_localizedRelationType */
+
+/* 38 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 40 */ NdrFcLong( 0x0 ), /* 0 */
+/* 44 */ NdrFcShort( 0x4 ), /* 4 */
+/* 46 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 48 */ NdrFcShort( 0x0 ), /* 0 */
+/* 50 */ NdrFcShort( 0x8 ), /* 8 */
+/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 54 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 56 */ NdrFcShort( 0x1 ), /* 1 */
+/* 58 */ NdrFcShort( 0x0 ), /* 0 */
+/* 60 */ NdrFcShort( 0x0 ), /* 0 */
+/* 62 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter version */
+
+
+ /* Parameter localizedRelationType */
+
+/* 64 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 68 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 70 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 74 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnIndex */
+
+
+ /* Procedure get_caretOffset */
+
+
+ /* Procedure get_background */
+
+
+ /* Procedure get_nTargets */
+
+/* 76 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 78 */ NdrFcLong( 0x0 ), /* 0 */
+/* 82 */ NdrFcShort( 0x5 ), /* 5 */
+/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 86 */ NdrFcShort( 0x0 ), /* 0 */
+/* 88 */ NdrFcShort( 0x24 ), /* 36 */
+/* 90 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 92 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 94 */ NdrFcShort( 0x0 ), /* 0 */
+/* 96 */ NdrFcShort( 0x0 ), /* 0 */
+/* 98 */ NdrFcShort( 0x0 ), /* 0 */
+/* 100 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter columnIndex */
+
+
+ /* Parameter offset */
+
+
+ /* Parameter background */
+
+
+ /* Parameter nTargets */
+
+/* 102 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 106 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 110 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 112 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_target */
+
+/* 114 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 116 */ NdrFcLong( 0x0 ), /* 0 */
+/* 120 */ NdrFcShort( 0x6 ), /* 6 */
+/* 122 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 124 */ NdrFcShort( 0x8 ), /* 8 */
+/* 126 */ NdrFcShort( 0x8 ), /* 8 */
+/* 128 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 130 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 132 */ NdrFcShort( 0x0 ), /* 0 */
+/* 134 */ NdrFcShort( 0x0 ), /* 0 */
+/* 136 */ NdrFcShort( 0x0 ), /* 0 */
+/* 138 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter targetIndex */
+
+/* 140 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 142 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 144 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter target */
+
+/* 146 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 148 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 150 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+/* 152 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 154 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 156 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_targets */
+
+/* 158 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 160 */ NdrFcLong( 0x0 ), /* 0 */
+/* 164 */ NdrFcShort( 0x7 ), /* 7 */
+/* 166 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 168 */ NdrFcShort( 0x8 ), /* 8 */
+/* 170 */ NdrFcShort( 0x24 ), /* 36 */
+/* 172 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 174 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 176 */ NdrFcShort( 0x1 ), /* 1 */
+/* 178 */ NdrFcShort( 0x0 ), /* 0 */
+/* 180 */ NdrFcShort( 0x0 ), /* 0 */
+/* 182 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxTargets */
+
+/* 184 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 186 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 188 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter targets */
+
+/* 190 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */
+/* 192 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 194 */ NdrFcShort( 0x48 ), /* Type Offset=72 */
+
+ /* Parameter nTargets */
+
+/* 196 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 198 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 200 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 202 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 204 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 206 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnExtent */
+
+
+ /* Procedure nActions */
+
+/* 208 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 210 */ NdrFcLong( 0x0 ), /* 0 */
+/* 214 */ NdrFcShort( 0x3 ), /* 3 */
+/* 216 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 218 */ NdrFcShort( 0x0 ), /* 0 */
+/* 220 */ NdrFcShort( 0x24 ), /* 36 */
+/* 222 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 224 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 226 */ NdrFcShort( 0x0 ), /* 0 */
+/* 228 */ NdrFcShort( 0x0 ), /* 0 */
+/* 230 */ NdrFcShort( 0x0 ), /* 0 */
+/* 232 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter nColumnsSpanned */
+
+
+ /* Parameter nActions */
+
+/* 234 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 236 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 238 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 240 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 242 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 244 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure doAction */
+
+/* 246 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 248 */ NdrFcLong( 0x0 ), /* 0 */
+/* 252 */ NdrFcShort( 0x4 ), /* 4 */
+/* 254 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 256 */ NdrFcShort( 0x8 ), /* 8 */
+/* 258 */ NdrFcShort( 0x8 ), /* 8 */
+/* 260 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 262 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 264 */ NdrFcShort( 0x0 ), /* 0 */
+/* 266 */ NdrFcShort( 0x0 ), /* 0 */
+/* 268 */ NdrFcShort( 0x0 ), /* 0 */
+/* 270 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter actionIndex */
+
+/* 272 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 274 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 276 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 278 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 280 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 282 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnDescription */
+
+
+ /* Procedure get_description */
+
+/* 284 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 286 */ NdrFcLong( 0x0 ), /* 0 */
+/* 290 */ NdrFcShort( 0x5 ), /* 5 */
+/* 292 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 294 */ NdrFcShort( 0x8 ), /* 8 */
+/* 296 */ NdrFcShort( 0x8 ), /* 8 */
+/* 298 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 300 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 302 */ NdrFcShort( 0x1 ), /* 1 */
+/* 304 */ NdrFcShort( 0x0 ), /* 0 */
+/* 306 */ NdrFcShort( 0x0 ), /* 0 */
+/* 308 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+
+ /* Parameter actionIndex */
+
+/* 310 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 312 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 314 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter description */
+
+
+ /* Parameter description */
+
+/* 316 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 318 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 320 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 322 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 324 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 326 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_keyBinding */
+
+/* 328 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 330 */ NdrFcLong( 0x0 ), /* 0 */
+/* 334 */ NdrFcShort( 0x6 ), /* 6 */
+/* 336 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 338 */ NdrFcShort( 0x10 ), /* 16 */
+/* 340 */ NdrFcShort( 0x24 ), /* 36 */
+/* 342 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x5, /* 5 */
+/* 344 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 346 */ NdrFcShort( 0x1 ), /* 1 */
+/* 348 */ NdrFcShort( 0x0 ), /* 0 */
+/* 350 */ NdrFcShort( 0x0 ), /* 0 */
+/* 352 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter actionIndex */
+
+/* 354 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 356 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 358 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter nMaxBindings */
+
+/* 360 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 362 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 364 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter keyBindings */
+
+/* 366 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 368 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 370 */ NdrFcShort( 0x5e ), /* Type Offset=94 */
+
+ /* Parameter nBindings */
+
+/* 372 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 374 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 376 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 378 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 380 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 382 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_name */
+
+/* 384 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 386 */ NdrFcLong( 0x0 ), /* 0 */
+/* 390 */ NdrFcShort( 0x7 ), /* 7 */
+/* 392 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 394 */ NdrFcShort( 0x8 ), /* 8 */
+/* 396 */ NdrFcShort( 0x8 ), /* 8 */
+/* 398 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 400 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 402 */ NdrFcShort( 0x1 ), /* 1 */
+/* 404 */ NdrFcShort( 0x0 ), /* 0 */
+/* 406 */ NdrFcShort( 0x0 ), /* 0 */
+/* 408 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter actionIndex */
+
+/* 410 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 412 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 414 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter name */
+
+/* 416 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 418 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 420 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 422 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 424 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 426 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_localizedName */
+
+/* 428 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 430 */ NdrFcLong( 0x0 ), /* 0 */
+/* 434 */ NdrFcShort( 0x8 ), /* 8 */
+/* 436 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 438 */ NdrFcShort( 0x8 ), /* 8 */
+/* 440 */ NdrFcShort( 0x8 ), /* 8 */
+/* 442 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 444 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 446 */ NdrFcShort( 0x1 ), /* 1 */
+/* 448 */ NdrFcShort( 0x0 ), /* 0 */
+/* 450 */ NdrFcShort( 0x0 ), /* 0 */
+/* 452 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter actionIndex */
+
+/* 454 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 456 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 458 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter localizedName */
+
+/* 460 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 462 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 464 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 466 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 468 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 470 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nRelations */
+
+/* 472 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 474 */ NdrFcLong( 0x0 ), /* 0 */
+/* 478 */ NdrFcShort( 0x1c ), /* 28 */
+/* 480 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 482 */ NdrFcShort( 0x0 ), /* 0 */
+/* 484 */ NdrFcShort( 0x24 ), /* 36 */
+/* 486 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 488 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 490 */ NdrFcShort( 0x0 ), /* 0 */
+/* 492 */ NdrFcShort( 0x0 ), /* 0 */
+/* 494 */ NdrFcShort( 0x0 ), /* 0 */
+/* 496 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter nRelations */
+
+/* 498 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 500 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 502 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 504 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 506 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 508 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_relation */
+
+/* 510 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 512 */ NdrFcLong( 0x0 ), /* 0 */
+/* 516 */ NdrFcShort( 0x1d ), /* 29 */
+/* 518 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 520 */ NdrFcShort( 0x8 ), /* 8 */
+/* 522 */ NdrFcShort( 0x8 ), /* 8 */
+/* 524 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 526 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 528 */ NdrFcShort( 0x0 ), /* 0 */
+/* 530 */ NdrFcShort( 0x0 ), /* 0 */
+/* 532 */ NdrFcShort( 0x0 ), /* 0 */
+/* 534 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter relationIndex */
+
+/* 536 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 538 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 540 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter relation */
+
+/* 542 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 544 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 546 */ NdrFcShort( 0x7c ), /* Type Offset=124 */
+
+ /* Return value */
+
+/* 548 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 550 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 552 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_relations */
+
+/* 554 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 556 */ NdrFcLong( 0x0 ), /* 0 */
+/* 560 */ NdrFcShort( 0x1e ), /* 30 */
+/* 562 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 564 */ NdrFcShort( 0x8 ), /* 8 */
+/* 566 */ NdrFcShort( 0x24 ), /* 36 */
+/* 568 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 570 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 572 */ NdrFcShort( 0x1 ), /* 1 */
+/* 574 */ NdrFcShort( 0x0 ), /* 0 */
+/* 576 */ NdrFcShort( 0x0 ), /* 0 */
+/* 578 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxRelations */
+
+/* 580 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 582 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 584 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter relations */
+
+/* 586 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */
+/* 588 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 590 */ NdrFcShort( 0x96 ), /* Type Offset=150 */
+
+ /* Parameter nRelations */
+
+/* 592 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 594 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 596 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 598 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 600 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 602 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure role */
+
+/* 604 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 606 */ NdrFcLong( 0x0 ), /* 0 */
+/* 610 */ NdrFcShort( 0x1f ), /* 31 */
+/* 612 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 614 */ NdrFcShort( 0x0 ), /* 0 */
+/* 616 */ NdrFcShort( 0x24 ), /* 36 */
+/* 618 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 620 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 622 */ NdrFcShort( 0x0 ), /* 0 */
+/* 624 */ NdrFcShort( 0x0 ), /* 0 */
+/* 626 */ NdrFcShort( 0x0 ), /* 0 */
+/* 628 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter role */
+
+/* 630 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 632 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 634 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 636 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 638 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 640 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure scrollTo */
+
+/* 642 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 644 */ NdrFcLong( 0x0 ), /* 0 */
+/* 648 */ NdrFcShort( 0x20 ), /* 32 */
+/* 650 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 652 */ NdrFcShort( 0x6 ), /* 6 */
+/* 654 */ NdrFcShort( 0x8 ), /* 8 */
+/* 656 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 658 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 660 */ NdrFcShort( 0x0 ), /* 0 */
+/* 662 */ NdrFcShort( 0x0 ), /* 0 */
+/* 664 */ NdrFcShort( 0x0 ), /* 0 */
+/* 666 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter scrollType */
+
+/* 668 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 670 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 672 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 674 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 676 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 678 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure scrollToPoint */
+
+/* 680 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 682 */ NdrFcLong( 0x0 ), /* 0 */
+/* 686 */ NdrFcShort( 0x21 ), /* 33 */
+/* 688 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 690 */ NdrFcShort( 0x16 ), /* 22 */
+/* 692 */ NdrFcShort( 0x8 ), /* 8 */
+/* 694 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 696 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 698 */ NdrFcShort( 0x0 ), /* 0 */
+/* 700 */ NdrFcShort( 0x0 ), /* 0 */
+/* 702 */ NdrFcShort( 0x0 ), /* 0 */
+/* 704 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter coordinateType */
+
+/* 706 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 708 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 710 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter x */
+
+/* 712 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 714 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 716 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 718 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 720 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 722 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 724 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 726 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 728 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_groupPosition */
+
+/* 730 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 732 */ NdrFcLong( 0x0 ), /* 0 */
+/* 736 */ NdrFcShort( 0x22 ), /* 34 */
+/* 738 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 740 */ NdrFcShort( 0x0 ), /* 0 */
+/* 742 */ NdrFcShort( 0x5c ), /* 92 */
+/* 744 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 746 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 748 */ NdrFcShort( 0x0 ), /* 0 */
+/* 750 */ NdrFcShort( 0x0 ), /* 0 */
+/* 752 */ NdrFcShort( 0x0 ), /* 0 */
+/* 754 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter groupLevel */
+
+/* 756 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 758 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 760 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter similarItemsInGroup */
+
+/* 762 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 764 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 766 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter positionInGroup */
+
+/* 768 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 770 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 772 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 774 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 776 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 778 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_states */
+
+/* 780 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 782 */ NdrFcLong( 0x0 ), /* 0 */
+/* 786 */ NdrFcShort( 0x23 ), /* 35 */
+/* 788 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 790 */ NdrFcShort( 0x0 ), /* 0 */
+/* 792 */ NdrFcShort( 0x24 ), /* 36 */
+/* 794 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 796 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 798 */ NdrFcShort( 0x0 ), /* 0 */
+/* 800 */ NdrFcShort( 0x0 ), /* 0 */
+/* 802 */ NdrFcShort( 0x0 ), /* 0 */
+/* 804 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter states */
+
+/* 806 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 808 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 810 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 812 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 814 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 816 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_extendedRole */
+
+/* 818 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 820 */ NdrFcLong( 0x0 ), /* 0 */
+/* 824 */ NdrFcShort( 0x24 ), /* 36 */
+/* 826 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 828 */ NdrFcShort( 0x0 ), /* 0 */
+/* 830 */ NdrFcShort( 0x8 ), /* 8 */
+/* 832 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 834 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 836 */ NdrFcShort( 0x1 ), /* 1 */
+/* 838 */ NdrFcShort( 0x0 ), /* 0 */
+/* 840 */ NdrFcShort( 0x0 ), /* 0 */
+/* 842 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter extendedRole */
+
+/* 844 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 846 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 848 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 850 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 852 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 854 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_localizedExtendedRole */
+
+/* 856 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 858 */ NdrFcLong( 0x0 ), /* 0 */
+/* 862 */ NdrFcShort( 0x25 ), /* 37 */
+/* 864 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 866 */ NdrFcShort( 0x0 ), /* 0 */
+/* 868 */ NdrFcShort( 0x8 ), /* 8 */
+/* 870 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 872 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 874 */ NdrFcShort( 0x1 ), /* 1 */
+/* 876 */ NdrFcShort( 0x0 ), /* 0 */
+/* 878 */ NdrFcShort( 0x0 ), /* 0 */
+/* 880 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter localizedExtendedRole */
+
+/* 882 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 884 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 886 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 888 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 890 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 892 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nExtendedStates */
+
+/* 894 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 896 */ NdrFcLong( 0x0 ), /* 0 */
+/* 900 */ NdrFcShort( 0x26 ), /* 38 */
+/* 902 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 904 */ NdrFcShort( 0x0 ), /* 0 */
+/* 906 */ NdrFcShort( 0x24 ), /* 36 */
+/* 908 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 910 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 912 */ NdrFcShort( 0x0 ), /* 0 */
+/* 914 */ NdrFcShort( 0x0 ), /* 0 */
+/* 916 */ NdrFcShort( 0x0 ), /* 0 */
+/* 918 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter nExtendedStates */
+
+/* 920 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 922 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 924 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 926 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 928 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 930 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_extendedStates */
+
+/* 932 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 934 */ NdrFcLong( 0x0 ), /* 0 */
+/* 938 */ NdrFcShort( 0x27 ), /* 39 */
+/* 940 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 942 */ NdrFcShort( 0x8 ), /* 8 */
+/* 944 */ NdrFcShort( 0x24 ), /* 36 */
+/* 946 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 948 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 950 */ NdrFcShort( 0x1 ), /* 1 */
+/* 952 */ NdrFcShort( 0x0 ), /* 0 */
+/* 954 */ NdrFcShort( 0x0 ), /* 0 */
+/* 956 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxExtendedStates */
+
+/* 958 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 960 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 962 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter extendedStates */
+
+/* 964 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 966 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 968 */ NdrFcShort( 0xac ), /* Type Offset=172 */
+
+ /* Parameter nExtendedStates */
+
+/* 970 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 972 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 974 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 976 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 978 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 980 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_localizedExtendedStates */
+
+/* 982 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 984 */ NdrFcLong( 0x0 ), /* 0 */
+/* 988 */ NdrFcShort( 0x28 ), /* 40 */
+/* 990 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 992 */ NdrFcShort( 0x8 ), /* 8 */
+/* 994 */ NdrFcShort( 0x24 ), /* 36 */
+/* 996 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 998 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1000 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1002 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1004 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1006 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxLocalizedExtendedStates */
+
+/* 1008 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1010 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1012 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter localizedExtendedStates */
+
+/* 1014 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 1016 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1018 */ NdrFcShort( 0xac ), /* Type Offset=172 */
+
+ /* Parameter nLocalizedExtendedStates */
+
+/* 1020 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1022 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1024 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1026 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1028 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1030 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_uniqueID */
+
+/* 1032 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1034 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1038 */ NdrFcShort( 0x29 ), /* 41 */
+/* 1040 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1042 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1044 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1046 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 1048 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1050 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1052 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1054 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1056 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter uniqueID */
+
+/* 1058 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1060 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1062 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1064 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1066 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1068 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_windowHandle */
+
+/* 1070 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1072 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1076 */ NdrFcShort( 0x2a ), /* 42 */
+/* 1078 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1080 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1082 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1084 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1086 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1088 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1090 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1092 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1094 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter windowHandle */
+
+/* 1096 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 1098 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1100 */ NdrFcShort( 0xe6 ), /* Type Offset=230 */
+
+ /* Return value */
+
+/* 1102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1104 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1106 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_indexInParent */
+
+/* 1108 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1110 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1114 */ NdrFcShort( 0x2b ), /* 43 */
+/* 1116 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1118 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1120 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1122 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 1124 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1126 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1128 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1130 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1132 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter indexInParent */
+
+/* 1134 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1136 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1138 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1140 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1142 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1144 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_locale */
+
+/* 1146 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1148 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1152 */ NdrFcShort( 0x2c ), /* 44 */
+/* 1154 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1156 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1158 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1160 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1162 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1164 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1166 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1168 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1170 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter locale */
+
+/* 1172 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
+/* 1174 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1176 */ NdrFcShort( 0xf4 ), /* Type Offset=244 */
+
+ /* Return value */
+
+/* 1178 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1180 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1182 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_attributes */
+
+/* 1184 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1186 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1190 */ NdrFcShort( 0x2d ), /* 45 */
+/* 1192 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1194 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1196 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1198 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1200 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1202 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1204 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1206 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1208 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter attributes */
+
+/* 1210 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 1212 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1214 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 1216 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1218 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1220 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_attribute */
+
+/* 1222 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1224 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1228 */ NdrFcShort( 0x2e ), /* 46 */
+/* 1230 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1232 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1234 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1236 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 1238 */ 0xa, /* 10 */
+ 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */
+/* 1240 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1242 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1244 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1246 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter name */
+
+/* 1248 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 1250 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1252 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Parameter attribute */
+
+/* 1254 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
+/* 1256 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1258 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */
+
+ /* Return value */
+
+/* 1260 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1262 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1264 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_accessibleWithCaret */
+
+/* 1266 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1268 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1272 */ NdrFcShort( 0x2f ), /* 47 */
+/* 1274 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1276 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1278 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1280 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 1282 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1284 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1286 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1288 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1290 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessible */
+
+/* 1292 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 1294 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1296 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Parameter caretOffset */
+
+/* 1298 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1300 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1302 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1304 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1306 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1308 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_relationTargetsOfType */
+
+/* 1310 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1312 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1316 */ NdrFcShort( 0x30 ), /* 48 */
+/* 1318 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 1320 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1322 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1324 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */
+ 0x5, /* 5 */
+/* 1326 */ 0xa, /* 10 */
+ 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */
+/* 1328 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1330 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1332 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1334 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter type */
+
+/* 1336 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 1338 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1340 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Parameter maxTargets */
+
+/* 1342 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1344 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1346 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter targets */
+
+/* 1348 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 1350 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1352 */ NdrFcShort( 0x4c6 ), /* Type Offset=1222 */
+
+ /* Parameter nTargets */
+
+/* 1354 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1356 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1358 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1362 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 1364 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_locationInParent */
+
+/* 1366 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1368 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1372 */ NdrFcShort( 0x3 ), /* 3 */
+/* 1374 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1376 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1378 */ NdrFcShort( 0x40 ), /* 64 */
+/* 1380 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 1382 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1384 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1386 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1388 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1390 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter x */
+
+/* 1392 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1394 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1396 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 1398 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1400 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1402 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1404 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1406 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1408 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_foreground */
+
+/* 1410 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1412 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1416 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1418 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1420 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1422 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1424 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 1426 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1428 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1430 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1432 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1434 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter foreground */
+
+/* 1436 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1438 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1440 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1442 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1444 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1446 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_currentValue */
+
+/* 1448 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1450 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1454 */ NdrFcShort( 0x3 ), /* 3 */
+/* 1456 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1458 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1460 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1462 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1464 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1466 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1468 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1470 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1472 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter currentValue */
+
+/* 1474 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
+/* 1476 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1478 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */
+
+ /* Return value */
+
+/* 1480 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1482 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1484 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure setCurrentValue */
+
+/* 1486 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1488 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1492 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1494 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1496 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1498 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1500 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1502 */ 0xa, /* 10 */
+ 0x85, /* Ext Flags: new corr desc, srv corr check, has big amd64 byval param */
+/* 1504 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1506 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1508 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1510 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter value */
+
+/* 1512 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
+/* 1514 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1516 */ NdrFcShort( 0x4ec ), /* Type Offset=1260 */
+
+ /* Return value */
+
+/* 1518 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1520 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1522 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_maximumValue */
+
+/* 1524 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1526 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1530 */ NdrFcShort( 0x5 ), /* 5 */
+/* 1532 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1534 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1536 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1538 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1540 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1542 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1544 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1546 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1548 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maximumValue */
+
+/* 1550 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
+/* 1552 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1554 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */
+
+ /* Return value */
+
+/* 1556 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1558 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1560 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_minimumValue */
+
+/* 1562 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1564 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1568 */ NdrFcShort( 0x6 ), /* 6 */
+/* 1570 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1572 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1574 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1576 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1578 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1580 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1582 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1584 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1586 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter minimumValue */
+
+/* 1588 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
+/* 1590 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1592 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */
+
+ /* Return value */
+
+/* 1594 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1596 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1598 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure copyText */
+
+
+ /* Procedure addSelection */
+
+/* 1600 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1602 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1606 */ NdrFcShort( 0x3 ), /* 3 */
+/* 1608 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1610 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1612 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1614 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 1616 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1618 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1620 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1622 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1624 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+
+ /* Parameter startOffset */
+
+/* 1626 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1628 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1630 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+
+ /* Parameter endOffset */
+
+/* 1632 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1634 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1636 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 1638 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1640 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1642 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_attributes */
+
+/* 1644 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1646 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1650 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1652 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 1654 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1656 */ NdrFcShort( 0x40 ), /* 64 */
+/* 1658 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x5, /* 5 */
+/* 1660 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1662 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1664 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1666 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1668 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 1670 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1672 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1674 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 1676 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1678 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1680 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 1682 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1684 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1686 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter textAttributes */
+
+/* 1688 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 1690 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1692 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 1694 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1696 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 1698 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_characterExtents */
+
+/* 1700 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1702 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1706 */ NdrFcShort( 0x6 ), /* 6 */
+/* 1708 */ NdrFcShort( 0x40 ), /* X64 Stack size/offset = 64 */
+/* 1710 */ NdrFcShort( 0xe ), /* 14 */
+/* 1712 */ NdrFcShort( 0x78 ), /* 120 */
+/* 1714 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x7, /* 7 */
+/* 1716 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1718 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1720 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1722 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1724 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 1726 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1728 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1730 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter coordType */
+
+/* 1732 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1734 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1736 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter x */
+
+/* 1738 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1740 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1742 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 1744 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1746 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1748 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter width */
+
+/* 1750 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1752 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 1754 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter height */
+
+/* 1756 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1758 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 1760 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1762 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1764 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
+/* 1766 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nRows */
+
+
+ /* Procedure get_nSelections */
+
+/* 1768 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1770 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1774 */ NdrFcShort( 0x7 ), /* 7 */
+/* 1776 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1778 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1780 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1782 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 1784 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1786 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1788 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1790 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1792 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowCount */
+
+
+ /* Parameter nSelections */
+
+/* 1794 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1796 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1798 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 1800 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1802 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1804 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_offsetAtPoint */
+
+/* 1806 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1808 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1812 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1814 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 1816 */ NdrFcShort( 0x16 ), /* 22 */
+/* 1818 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1820 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x5, /* 5 */
+/* 1822 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1824 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1826 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1828 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1830 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter x */
+
+/* 1832 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1834 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1836 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 1838 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1840 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1842 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter coordType */
+
+/* 1844 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1846 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1848 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter offset */
+
+/* 1850 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1852 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1854 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1856 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1858 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 1860 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selection */
+
+/* 1862 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1864 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1868 */ NdrFcShort( 0x9 ), /* 9 */
+/* 1870 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 1872 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1874 */ NdrFcShort( 0x40 ), /* 64 */
+/* 1876 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 1878 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1880 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1882 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1884 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1886 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter selectionIndex */
+
+/* 1888 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1890 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1892 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 1894 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1896 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1898 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 1900 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1902 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1904 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1906 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1908 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1910 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_text */
+
+/* 1912 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1914 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1918 */ NdrFcShort( 0xa ), /* 10 */
+/* 1920 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 1922 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1924 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1926 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 1928 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1930 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1932 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1934 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1936 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+/* 1938 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1940 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1942 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 1944 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1946 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1948 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 1950 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 1952 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1954 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 1956 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1958 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1960 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_textBeforeOffset */
+
+/* 1962 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1964 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1968 */ NdrFcShort( 0xb ), /* 11 */
+/* 1970 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
+/* 1972 */ NdrFcShort( 0xe ), /* 14 */
+/* 1974 */ NdrFcShort( 0x40 ), /* 64 */
+/* 1976 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x6, /* 6 */
+/* 1978 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1980 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1982 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1984 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1986 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 1988 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1990 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1992 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter boundaryType */
+
+/* 1994 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1996 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1998 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2000 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2002 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2004 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2006 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2008 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2010 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 2012 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 2014 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 2016 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 2018 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2020 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 2022 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_textAfterOffset */
+
+/* 2024 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2026 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2030 */ NdrFcShort( 0xc ), /* 12 */
+/* 2032 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
+/* 2034 */ NdrFcShort( 0xe ), /* 14 */
+/* 2036 */ NdrFcShort( 0x40 ), /* 64 */
+/* 2038 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x6, /* 6 */
+/* 2040 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 2042 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2044 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2046 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2048 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 2050 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2052 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2054 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter boundaryType */
+
+/* 2056 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2058 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2060 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2062 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2064 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2066 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2068 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2070 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2072 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 2074 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 2076 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 2078 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 2080 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2082 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 2084 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_textAtOffset */
+
+/* 2086 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2088 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2092 */ NdrFcShort( 0xd ), /* 13 */
+/* 2094 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
+/* 2096 */ NdrFcShort( 0xe ), /* 14 */
+/* 2098 */ NdrFcShort( 0x40 ), /* 64 */
+/* 2100 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x6, /* 6 */
+/* 2102 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 2104 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2106 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2108 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2110 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 2112 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2114 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2116 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter boundaryType */
+
+/* 2118 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2120 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2122 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2124 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2126 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2128 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2130 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2132 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2134 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 2136 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 2138 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 2140 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 2142 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2144 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 2146 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure removeSelection */
+
+/* 2148 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2150 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2154 */ NdrFcShort( 0xe ), /* 14 */
+/* 2156 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2158 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2160 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2162 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2164 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2166 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2168 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2170 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2172 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter selectionIndex */
+
+/* 2174 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2176 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2178 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2180 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2182 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2184 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure setCaretOffset */
+
+/* 2186 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2188 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2192 */ NdrFcShort( 0xf ), /* 15 */
+/* 2194 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2196 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2198 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2200 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2202 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2204 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2206 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2208 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2210 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 2212 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2214 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2216 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2218 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2220 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2222 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure setSelection */
+
+/* 2224 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2226 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2230 */ NdrFcShort( 0x10 ), /* 16 */
+/* 2232 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 2234 */ NdrFcShort( 0x18 ), /* 24 */
+/* 2236 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2238 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 2240 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2242 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2244 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2246 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2248 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter selectionIndex */
+
+/* 2250 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2252 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2254 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2256 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2258 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2260 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2262 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2264 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2266 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2268 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2270 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2272 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nCharacters */
+
+/* 2274 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2276 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2280 */ NdrFcShort( 0x11 ), /* 17 */
+/* 2282 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2284 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2286 */ NdrFcShort( 0x24 ), /* 36 */
+/* 2288 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2290 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2292 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2294 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2296 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2298 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter nCharacters */
+
+/* 2300 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2302 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2304 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2306 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2308 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2310 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure scrollSubstringTo */
+
+/* 2312 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2314 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2318 */ NdrFcShort( 0x12 ), /* 18 */
+/* 2320 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 2322 */ NdrFcShort( 0x16 ), /* 22 */
+/* 2324 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2326 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 2328 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2330 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2332 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2334 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2336 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startIndex */
+
+/* 2338 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2340 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2342 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endIndex */
+
+/* 2344 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2346 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2348 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter scrollType */
+
+/* 2350 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2352 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2354 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2356 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2358 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2360 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure scrollSubstringToPoint */
+
+/* 2362 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2364 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2368 */ NdrFcShort( 0x13 ), /* 19 */
+/* 2370 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
+/* 2372 */ NdrFcShort( 0x26 ), /* 38 */
+/* 2374 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2376 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x6, /* 6 */
+/* 2378 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2380 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2382 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2384 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2386 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startIndex */
+
+/* 2388 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2390 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2392 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endIndex */
+
+/* 2394 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2396 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2398 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter coordinateType */
+
+/* 2400 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2402 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2404 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter x */
+
+/* 2406 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2408 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2410 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 2412 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2414 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 2416 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2418 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2420 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 2422 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_newText */
+
+/* 2424 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2426 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2430 */ NdrFcShort( 0x14 ), /* 20 */
+/* 2432 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2434 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2436 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2438 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 2440 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 2442 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2444 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2446 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2448 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter newText */
+
+/* 2450 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
+/* 2452 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2454 */ NdrFcShort( 0x4fa ), /* Type Offset=1274 */
+
+ /* Return value */
+
+/* 2456 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2458 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2460 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_oldText */
+
+/* 2462 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2464 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2468 */ NdrFcShort( 0x15 ), /* 21 */
+/* 2470 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2472 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2474 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2476 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 2478 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 2480 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2482 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2484 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2486 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter oldText */
+
+/* 2488 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
+/* 2490 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2492 */ NdrFcShort( 0x4fa ), /* Type Offset=1274 */
+
+ /* Return value */
+
+/* 2494 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2496 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2498 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_attributeRange */
+
+/* 2500 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2502 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2506 */ NdrFcShort( 0x16 ), /* 22 */
+/* 2508 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
+/* 2510 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2512 */ NdrFcShort( 0x40 ), /* 64 */
+/* 2514 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */
+ 0x6, /* 6 */
+/* 2516 */ 0xa, /* 10 */
+ 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */
+/* 2518 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2520 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2522 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2524 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 2526 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2528 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2530 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter filter */
+
+/* 2532 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 2534 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2536 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Parameter startOffset */
+
+/* 2538 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2540 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2542 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2544 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2546 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2548 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter attributeValues */
+
+/* 2550 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 2552 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 2554 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 2556 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2558 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 2560 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure deleteText */
+
+/* 2562 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2564 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2568 */ NdrFcShort( 0x4 ), /* 4 */
+/* 2570 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2572 */ NdrFcShort( 0x10 ), /* 16 */
+/* 2574 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2576 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 2578 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2580 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2582 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2584 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2586 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2588 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2590 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2592 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2594 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2596 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2598 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2600 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2602 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2604 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure insertText */
+
+/* 2606 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2608 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2612 */ NdrFcShort( 0x5 ), /* 5 */
+/* 2614 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2616 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2618 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2620 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 2622 */ 0xa, /* 10 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 2624 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2626 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2628 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2630 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 2632 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2634 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2636 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 2638 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
+/* 2640 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2642 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Return value */
+
+/* 2644 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2646 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2648 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure cutText */
+
+/* 2650 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2652 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2656 */ NdrFcShort( 0x6 ), /* 6 */
+/* 2658 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2660 */ NdrFcShort( 0x10 ), /* 16 */
+/* 2662 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2664 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 2666 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2668 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2670 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2672 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2674 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2676 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2678 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2680 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2682 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2684 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2686 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2688 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2690 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2692 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure pasteText */
+
+/* 2694 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2696 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2700 */ NdrFcShort( 0x7 ), /* 7 */
+/* 2702 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2704 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2706 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2708 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2710 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2712 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2714 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2716 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2718 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 2720 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2722 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2724 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2726 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2728 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2730 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure replaceText */
+
+/* 2732 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2734 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2738 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2740 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 2742 */ NdrFcShort( 0x10 ), /* 16 */
+/* 2744 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2746 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 2748 */ 0xa, /* 10 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 2750 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2752 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2754 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2756 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2758 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2760 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2762 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2764 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2766 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2768 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 2770 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
+/* 2772 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2774 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Return value */
+
+/* 2776 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2778 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2780 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure setAttributes */
+
+/* 2782 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2784 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2788 */ NdrFcShort( 0x9 ), /* 9 */
+/* 2790 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 2792 */ NdrFcShort( 0x10 ), /* 16 */
+/* 2794 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2796 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 2798 */ 0xa, /* 10 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 2800 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2802 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2804 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2806 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2808 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2810 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2812 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2814 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2816 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2818 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter attributes */
+
+/* 2820 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
+/* 2822 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2824 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Return value */
+
+/* 2826 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2828 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2830 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_anchor */
+
+/* 2832 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2834 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2838 */ NdrFcShort( 0x9 ), /* 9 */
+/* 2840 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2842 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2844 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2846 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 2848 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 2850 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2852 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2854 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2856 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter index */
+
+/* 2858 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2860 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2862 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter anchor */
+
+/* 2864 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
+/* 2866 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2868 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */
+
+ /* Return value */
+
+/* 2870 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2872 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2874 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_anchorTarget */
+
+/* 2876 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2878 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2882 */ NdrFcShort( 0xa ), /* 10 */
+/* 2884 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 2886 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2888 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2890 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 2892 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 2894 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2896 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2898 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2900 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter index */
+
+/* 2902 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2904 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2906 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter anchorTarget */
+
+/* 2908 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
+/* 2910 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2912 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */
+
+ /* Return value */
+
+/* 2914 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2916 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2918 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nRows */
+
+
+ /* Procedure get_startIndex */
+
+/* 2920 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2922 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2926 */ NdrFcShort( 0xb ), /* 11 */
+/* 2928 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2930 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2932 */ NdrFcShort( 0x24 ), /* 36 */
+/* 2934 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2936 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2938 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2940 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2942 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2944 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowCount */
+
+
+ /* Parameter index */
+
+/* 2946 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2948 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2950 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 2952 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2954 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2956 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nSelectedChildren */
+
+
+ /* Procedure get_endIndex */
+
+/* 2958 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2960 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2964 */ NdrFcShort( 0xc ), /* 12 */
+/* 2966 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 2968 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2970 */ NdrFcShort( 0x24 ), /* 36 */
+/* 2972 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2974 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2976 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2978 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2980 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2982 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cellCount */
+
+
+ /* Parameter index */
+
+/* 2984 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2986 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 2988 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 2990 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2992 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 2994 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_valid */
+
+/* 2996 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2998 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3002 */ NdrFcShort( 0xd ), /* 13 */
+/* 3004 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3006 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3008 */ NdrFcShort( 0x21 ), /* 33 */
+/* 3010 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 3012 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3014 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3016 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3018 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3020 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter valid */
+
+/* 3022 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3024 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3026 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3028 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3030 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3032 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nHyperlinks */
+
+/* 3034 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3036 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3040 */ NdrFcShort( 0x16 ), /* 22 */
+/* 3042 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3044 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3046 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3048 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 3050 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3052 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3054 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3056 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3058 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter hyperlinkCount */
+
+/* 3060 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3062 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3064 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3066 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3068 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3070 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_hyperlink */
+
+/* 3072 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3074 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3078 */ NdrFcShort( 0x17 ), /* 23 */
+/* 3080 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3082 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3084 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3086 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 3088 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3090 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3092 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3094 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3096 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter index */
+
+/* 3098 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3100 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3102 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter hyperlink */
+
+/* 3104 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 3106 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3108 */ NdrFcShort( 0x512 ), /* Type Offset=1298 */
+
+ /* Return value */
+
+/* 3110 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3112 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3114 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_hyperlinkIndex */
+
+/* 3116 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3118 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3122 */ NdrFcShort( 0x18 ), /* 24 */
+/* 3124 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3126 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3128 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3130 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 3132 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3134 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3136 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3138 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3140 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter charIndex */
+
+/* 3142 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3144 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3146 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter hyperlinkIndex */
+
+/* 3148 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3150 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3152 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3154 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3156 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3158 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_hyperlinks */
+
+/* 3160 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3162 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3166 */ NdrFcShort( 0x19 ), /* 25 */
+/* 3168 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3170 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3172 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3174 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 3176 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3178 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3180 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3182 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3184 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter hyperlinks */
+
+/* 3186 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 3188 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3190 */ NdrFcShort( 0x528 ), /* Type Offset=1320 */
+
+ /* Parameter nHyperlinks */
+
+/* 3192 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3194 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3196 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3198 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3200 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3202 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_cellAt */
+
+
+ /* Procedure get_accessibleAt */
+
+/* 3204 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3206 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3210 */ NdrFcShort( 0x3 ), /* 3 */
+/* 3212 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 3214 */ NdrFcShort( 0x10 ), /* 16 */
+/* 3216 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3218 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 3220 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3222 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3224 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3226 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3228 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+
+ /* Parameter row */
+
+/* 3230 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3232 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3234 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+
+ /* Parameter column */
+
+/* 3236 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3238 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3240 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter cell */
+
+
+ /* Parameter accessible */
+
+/* 3242 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 3244 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3246 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 3248 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3250 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3252 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_caption */
+
+
+ /* Procedure get_caption */
+
+/* 3254 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3256 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3260 */ NdrFcShort( 0x4 ), /* 4 */
+/* 3262 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3264 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3266 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3268 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 3270 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3272 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3274 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3276 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3278 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessible */
+
+
+ /* Parameter accessible */
+
+/* 3280 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 3282 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3284 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 3286 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3288 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3290 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_childIndex */
+
+/* 3292 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3294 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3298 */ NdrFcShort( 0x5 ), /* 5 */
+/* 3300 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 3302 */ NdrFcShort( 0x10 ), /* 16 */
+/* 3304 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3306 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 3308 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3310 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3312 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3314 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3316 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowIndex */
+
+/* 3318 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3320 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3322 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter columnIndex */
+
+/* 3324 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3326 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3328 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter cellIndex */
+
+/* 3330 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3332 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3334 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3336 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3338 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3340 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnDescription */
+
+/* 3342 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3344 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3348 */ NdrFcShort( 0x6 ), /* 6 */
+/* 3350 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3352 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3354 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3356 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 3358 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3360 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3362 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3364 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3366 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 3368 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3370 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3372 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter description */
+
+/* 3374 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 3376 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3378 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 3380 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3382 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3384 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnExtentAt */
+
+/* 3386 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3388 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3392 */ NdrFcShort( 0x7 ), /* 7 */
+/* 3394 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 3396 */ NdrFcShort( 0x10 ), /* 16 */
+/* 3398 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3400 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 3402 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3404 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3406 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3408 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3410 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 3412 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3414 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3416 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+/* 3418 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3420 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3422 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter nColumnsSpanned */
+
+/* 3424 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3426 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3428 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3430 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3432 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3434 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnHeader */
+
+/* 3436 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3438 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3442 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3444 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3446 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3448 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3450 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 3452 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3454 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3456 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3458 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3460 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessibleTable */
+
+/* 3462 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 3464 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3466 */ NdrFcShort( 0x546 ), /* Type Offset=1350 */
+
+ /* Parameter startingRowIndex */
+
+/* 3468 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3470 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3472 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3474 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3476 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3478 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnIndex */
+
+/* 3480 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3482 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3486 */ NdrFcShort( 0x9 ), /* 9 */
+/* 3488 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3490 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3492 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3494 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 3496 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3498 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3500 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3502 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3504 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cellIndex */
+
+/* 3506 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3508 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3510 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter columnIndex */
+
+/* 3512 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3514 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3516 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3518 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3520 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3522 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nSelectedRows */
+
+
+ /* Procedure get_nColumns */
+
+/* 3524 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3526 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3530 */ NdrFcShort( 0xa ), /* 10 */
+/* 3532 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3534 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3536 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3538 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 3540 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3542 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3544 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3546 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3548 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowCount */
+
+
+ /* Parameter columnCount */
+
+/* 3550 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3552 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3554 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 3556 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3558 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3560 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nSelectedColumns */
+
+/* 3562 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3564 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3568 */ NdrFcShort( 0xd ), /* 13 */
+/* 3570 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3572 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3574 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3576 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 3578 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3580 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3582 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3584 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3586 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter columnCount */
+
+/* 3588 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3590 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3592 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3594 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3596 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3598 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nSelectedRows */
+
+/* 3600 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3602 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3606 */ NdrFcShort( 0xe ), /* 14 */
+/* 3608 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3610 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3612 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3614 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 3616 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3618 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3620 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3622 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3624 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowCount */
+
+/* 3626 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3628 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3630 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3632 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3634 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3636 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowDescription */
+
+/* 3638 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3640 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3644 */ NdrFcShort( 0xf ), /* 15 */
+/* 3646 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3648 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3650 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3652 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 3654 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3656 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3658 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3660 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3662 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 3664 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3666 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3668 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter description */
+
+/* 3670 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 3672 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3674 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 3676 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3678 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3680 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowExtentAt */
+
+/* 3682 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3684 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3688 */ NdrFcShort( 0x10 ), /* 16 */
+/* 3690 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 3692 */ NdrFcShort( 0x10 ), /* 16 */
+/* 3694 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3696 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 3698 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3700 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3702 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3704 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3706 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 3708 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3710 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3712 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+/* 3714 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3716 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3718 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter nRowsSpanned */
+
+/* 3720 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3722 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3724 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3726 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3728 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3730 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowHeader */
+
+/* 3732 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3734 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3738 */ NdrFcShort( 0x11 ), /* 17 */
+/* 3740 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3742 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3744 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3746 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 3748 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3750 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3752 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3754 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3756 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessibleTable */
+
+/* 3758 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 3760 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3762 */ NdrFcShort( 0x546 ), /* Type Offset=1350 */
+
+ /* Parameter startingColumnIndex */
+
+/* 3764 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3766 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3768 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3770 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3772 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3774 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowIndex */
+
+/* 3776 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3778 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3782 */ NdrFcShort( 0x12 ), /* 18 */
+/* 3784 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3786 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3788 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3790 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 3792 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3794 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3796 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3798 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3800 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cellIndex */
+
+/* 3802 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3804 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3806 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter rowIndex */
+
+/* 3808 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3810 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3812 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3814 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3816 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3818 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedChildren */
+
+/* 3820 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3822 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3826 */ NdrFcShort( 0x13 ), /* 19 */
+/* 3828 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 3830 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3832 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3834 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 3836 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3838 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3840 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3842 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3844 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxChildren */
+
+/* 3846 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3848 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3850 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter children */
+
+/* 3852 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 3854 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3856 */ NdrFcShort( 0x55c ), /* Type Offset=1372 */
+
+ /* Parameter nChildren */
+
+/* 3858 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3860 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3862 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3864 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3866 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3868 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedColumns */
+
+/* 3870 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3872 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3876 */ NdrFcShort( 0x14 ), /* 20 */
+/* 3878 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 3880 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3882 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3884 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 3886 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3888 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3890 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3892 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3894 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxColumns */
+
+/* 3896 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3898 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3900 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter columns */
+
+/* 3902 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 3904 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3906 */ NdrFcShort( 0x55c ), /* Type Offset=1372 */
+
+ /* Parameter nColumns */
+
+/* 3908 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3910 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3912 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3914 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3916 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3918 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedRows */
+
+/* 3920 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3922 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3926 */ NdrFcShort( 0x15 ), /* 21 */
+/* 3928 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 3930 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3932 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3934 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 3936 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3938 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3940 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3942 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3944 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxRows */
+
+/* 3946 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3948 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 3950 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter rows */
+
+/* 3952 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 3954 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 3956 */ NdrFcShort( 0x55c ), /* Type Offset=1372 */
+
+ /* Parameter nRows */
+
+/* 3958 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3960 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3962 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3964 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3966 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 3968 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_summary */
+
+/* 3970 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3972 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3976 */ NdrFcShort( 0x16 ), /* 22 */
+/* 3978 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 3980 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3982 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3984 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 3986 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3988 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3990 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3992 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3994 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessible */
+
+/* 3996 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 3998 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4000 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+/* 4002 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4004 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4006 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isColumnSelected */
+
+/* 4008 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4010 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4014 */ NdrFcShort( 0x17 ), /* 23 */
+/* 4016 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 4018 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4020 */ NdrFcShort( 0x21 ), /* 33 */
+/* 4022 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 4024 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4026 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4028 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4030 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4032 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 4034 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4036 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4038 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 4040 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4042 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4044 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4046 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4048 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4050 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isRowSelected */
+
+/* 4052 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4054 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4058 */ NdrFcShort( 0x18 ), /* 24 */
+/* 4060 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 4062 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4064 */ NdrFcShort( 0x21 ), /* 33 */
+/* 4066 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 4068 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4070 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4072 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4074 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4076 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4078 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4080 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4082 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 4084 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4086 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4088 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4090 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4092 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4094 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isSelected */
+
+/* 4096 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4098 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4102 */ NdrFcShort( 0x19 ), /* 25 */
+/* 4104 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 4106 */ NdrFcShort( 0x10 ), /* 16 */
+/* 4108 */ NdrFcShort( 0x21 ), /* 33 */
+/* 4110 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 4112 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4114 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4116 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4118 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4120 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4122 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4124 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4126 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+/* 4128 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4130 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4132 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 4134 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4136 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4138 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4140 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4142 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 4144 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure selectRow */
+
+/* 4146 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4148 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4152 */ NdrFcShort( 0x1a ), /* 26 */
+/* 4154 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4156 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4158 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4160 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4162 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4164 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4166 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4168 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4170 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4172 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4174 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4176 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4178 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4180 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4182 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure selectColumn */
+
+/* 4184 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4186 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4190 */ NdrFcShort( 0x1b ), /* 27 */
+/* 4192 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4194 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4196 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4198 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4200 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4202 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4204 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4206 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4208 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 4210 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4212 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4214 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4216 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4218 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4220 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure unselectRow */
+
+/* 4222 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4224 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4228 */ NdrFcShort( 0x1c ), /* 28 */
+/* 4230 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4232 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4234 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4236 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4238 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4240 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4242 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4244 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4246 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4248 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4250 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4252 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4254 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4256 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4258 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure unselectColumn */
+
+/* 4260 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4262 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4266 */ NdrFcShort( 0x1d ), /* 29 */
+/* 4268 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4270 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4272 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4274 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4276 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4278 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4280 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4282 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4284 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 4286 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4288 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4290 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4292 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4294 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4296 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowColumnExtentsAtIndex */
+
+/* 4298 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4300 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4304 */ NdrFcShort( 0x1e ), /* 30 */
+/* 4306 */ NdrFcShort( 0x40 ), /* X64 Stack size/offset = 64 */
+/* 4308 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4310 */ NdrFcShort( 0x91 ), /* 145 */
+/* 4312 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x7, /* 7 */
+/* 4314 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4316 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4318 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4320 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4322 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter index */
+
+/* 4324 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4326 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4328 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter row */
+
+/* 4330 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4332 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4334 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+/* 4336 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4338 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4340 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter rowExtents */
+
+/* 4342 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4344 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 4346 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter columnExtents */
+
+/* 4348 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4350 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 4352 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 4354 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4356 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 4358 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4362 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
+/* 4364 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_modelChange */
+
+/* 4366 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4368 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4372 */ NdrFcShort( 0x1f ), /* 31 */
+/* 4374 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4376 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4378 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4380 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 4382 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4384 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4386 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4388 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4390 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter modelChange */
+
+/* 4392 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
+/* 4394 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4396 */ NdrFcShort( 0x57a ), /* Type Offset=1402 */
+
+ /* Return value */
+
+/* 4398 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4400 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4402 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowExtent */
+
+
+ /* Procedure get_nColumns */
+
+/* 4404 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4406 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4410 */ NdrFcShort( 0x6 ), /* 6 */
+/* 4412 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4414 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4416 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4418 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4420 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4422 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4424 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4426 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4428 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter nRowsSpanned */
+
+
+ /* Parameter columnCount */
+
+/* 4430 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4432 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4434 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 4436 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4438 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4440 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowIndex */
+
+
+ /* Procedure get_nSelectedCells */
+
+/* 4442 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4444 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4448 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4450 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4452 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4454 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4456 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4458 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4460 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4462 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4464 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4466 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowIndex */
+
+
+ /* Parameter cellCount */
+
+/* 4468 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4470 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4472 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 4474 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4476 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4478 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nSelectedColumns */
+
+/* 4480 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4482 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4486 */ NdrFcShort( 0x9 ), /* 9 */
+/* 4488 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4490 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4492 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4494 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4496 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4498 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4500 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4502 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4504 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter columnCount */
+
+/* 4506 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4508 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4510 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4512 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4514 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4516 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowDescription */
+
+/* 4518 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4520 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4524 */ NdrFcShort( 0xb ), /* 11 */
+/* 4526 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 4528 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4530 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4532 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 4534 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 4536 */ NdrFcShort( 0x1 ), /* 1 */
+/* 4538 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4540 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4542 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4544 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4546 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4548 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter description */
+
+/* 4550 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 4552 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4554 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 4556 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4558 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4560 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedCells */
+
+/* 4562 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4564 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4568 */ NdrFcShort( 0xc ), /* 12 */
+/* 4570 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 4572 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4574 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4576 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 4578 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 4580 */ NdrFcShort( 0x1 ), /* 1 */
+/* 4582 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4584 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4586 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cells */
+
+/* 4588 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 4590 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4592 */ NdrFcShort( 0x588 ), /* Type Offset=1416 */
+
+ /* Parameter nSelectedCells */
+
+/* 4594 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4596 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4598 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4600 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4602 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4604 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedColumns */
+
+/* 4606 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4608 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4612 */ NdrFcShort( 0xd ), /* 13 */
+/* 4614 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 4616 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4618 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4620 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 4622 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 4624 */ NdrFcShort( 0x1 ), /* 1 */
+/* 4626 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4628 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4630 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter selectedColumns */
+
+/* 4632 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 4634 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4636 */ NdrFcShort( 0x5a6 ), /* Type Offset=1446 */
+
+ /* Parameter nColumns */
+
+/* 4638 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4640 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4642 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4644 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4646 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4648 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedRows */
+
+/* 4650 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4652 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4656 */ NdrFcShort( 0xe ), /* 14 */
+/* 4658 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 4660 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4662 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4664 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 4666 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 4668 */ NdrFcShort( 0x1 ), /* 1 */
+/* 4670 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4672 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4674 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter selectedRows */
+
+/* 4676 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 4678 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4680 */ NdrFcShort( 0x5a6 ), /* Type Offset=1446 */
+
+ /* Parameter nRows */
+
+/* 4682 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4684 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4686 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4688 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4690 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4692 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_summary */
+
+/* 4694 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4696 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4700 */ NdrFcShort( 0xf ), /* 15 */
+/* 4702 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4704 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4706 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4708 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 4710 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4712 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4714 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4716 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4718 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessible */
+
+/* 4720 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 4722 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4724 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+/* 4726 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4728 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4730 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isColumnSelected */
+
+/* 4732 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4734 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4738 */ NdrFcShort( 0x10 ), /* 16 */
+/* 4740 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 4742 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4744 */ NdrFcShort( 0x21 ), /* 33 */
+/* 4746 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 4748 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4750 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4752 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4754 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4756 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 4758 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4760 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4762 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 4764 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4766 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4768 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4770 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4772 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4774 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isRowSelected */
+
+/* 4776 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4778 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4782 */ NdrFcShort( 0x11 ), /* 17 */
+/* 4784 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 4786 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4788 */ NdrFcShort( 0x21 ), /* 33 */
+/* 4790 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 4792 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4794 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4796 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4798 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4800 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4802 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4804 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4806 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 4808 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4810 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4812 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4814 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4816 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4818 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure selectRow */
+
+/* 4820 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4822 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4826 */ NdrFcShort( 0x12 ), /* 18 */
+/* 4828 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4830 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4832 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4834 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4836 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4838 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4840 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4842 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4844 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4846 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4848 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4850 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4852 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4854 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4856 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure selectColumn */
+
+/* 4858 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4860 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4864 */ NdrFcShort( 0x13 ), /* 19 */
+/* 4866 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4868 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4870 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4872 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4874 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4876 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4878 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4880 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4882 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 4884 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4886 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4888 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4890 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4892 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4894 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure unselectRow */
+
+/* 4896 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4898 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4902 */ NdrFcShort( 0x14 ), /* 20 */
+/* 4904 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4906 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4908 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4910 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4912 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4914 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4916 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4918 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4920 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4922 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4924 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4926 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4928 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4930 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4932 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure unselectColumn */
+
+/* 4934 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4936 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4940 */ NdrFcShort( 0x15 ), /* 21 */
+/* 4942 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4944 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4946 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4948 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4950 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4952 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4954 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4956 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4958 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 4960 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4962 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 4964 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4966 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4968 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 4970 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_modelChange */
+
+/* 4972 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4974 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4978 */ NdrFcShort( 0x16 ), /* 22 */
+/* 4980 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 4982 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4984 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4986 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 4988 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4990 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4992 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4994 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4996 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter modelChange */
+
+/* 4998 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
+/* 5000 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 5002 */ NdrFcShort( 0x57a ), /* Type Offset=1402 */
+
+ /* Return value */
+
+/* 5004 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5006 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 5008 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnHeaderCells */
+
+/* 5010 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5012 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5016 */ NdrFcShort( 0x4 ), /* 4 */
+/* 5018 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 5020 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5022 */ NdrFcShort( 0x24 ), /* 36 */
+/* 5024 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 5026 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 5028 */ NdrFcShort( 0x1 ), /* 1 */
+/* 5030 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5032 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5034 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cellAccessibles */
+
+/* 5036 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 5038 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 5040 */ NdrFcShort( 0x588 ), /* Type Offset=1416 */
+
+ /* Parameter nColumnHeaderCells */
+
+/* 5042 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5044 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 5046 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 5048 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5050 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 5052 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowHeaderCells */
+
+/* 5054 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5056 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5060 */ NdrFcShort( 0x7 ), /* 7 */
+/* 5062 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 5064 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5066 */ NdrFcShort( 0x24 ), /* 36 */
+/* 5068 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 5070 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 5072 */ NdrFcShort( 0x1 ), /* 1 */
+/* 5074 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5076 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5078 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cellAccessibles */
+
+/* 5080 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 5082 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 5084 */ NdrFcShort( 0x588 ), /* Type Offset=1416 */
+
+ /* Parameter nRowHeaderCells */
+
+/* 5086 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5088 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 5090 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 5092 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5094 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 5096 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isSelected */
+
+/* 5098 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5100 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5104 */ NdrFcShort( 0x9 ), /* 9 */
+/* 5106 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 5108 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5110 */ NdrFcShort( 0x21 ), /* 33 */
+/* 5112 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 5114 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 5116 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5118 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5120 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5122 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter isSelected */
+
+/* 5124 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5126 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 5128 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 5130 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5132 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 5134 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowColumnExtents */
+
+/* 5136 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5138 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5142 */ NdrFcShort( 0xa ), /* 10 */
+/* 5144 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */
+/* 5146 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5148 */ NdrFcShort( 0x91 ), /* 145 */
+/* 5150 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x6, /* 6 */
+/* 5152 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 5154 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5156 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5158 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5160 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 5162 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5164 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 5166 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+/* 5168 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5170 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 5172 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter rowExtents */
+
+/* 5174 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5176 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 5178 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter columnExtents */
+
+/* 5180 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5182 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 5184 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 5186 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5188 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 5190 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 5192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5194 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */
+/* 5196 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_table */
+
+/* 5198 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5200 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5204 */ NdrFcShort( 0xb ), /* 11 */
+/* 5206 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 5208 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5210 */ NdrFcShort( 0x8 ), /* 8 */
+/* 5212 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 5214 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 5216 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5218 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5220 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5222 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter table */
+
+/* 5224 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 5226 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 5228 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+/* 5230 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5232 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 5234 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_imagePosition */
+
+/* 5236 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5238 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5242 */ NdrFcShort( 0x4 ), /* 4 */
+/* 5244 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */
+/* 5246 */ NdrFcShort( 0x6 ), /* 6 */
+/* 5248 */ NdrFcShort( 0x40 ), /* 64 */
+/* 5250 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 5252 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 5254 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5256 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5258 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5260 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter coordinateType */
+
+/* 5262 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 5264 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 5266 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter x */
+
+/* 5268 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5270 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 5272 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 5274 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5276 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 5278 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 5280 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5282 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 5284 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_imageSize */
+
+/* 5286 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5288 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5292 */ NdrFcShort( 0x5 ), /* 5 */
+/* 5294 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 5296 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5298 */ NdrFcShort( 0x40 ), /* 64 */
+/* 5300 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 5302 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 5304 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5306 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5308 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5310 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter height */
+
+/* 5312 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5314 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 5316 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter width */
+
+/* 5318 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5320 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 5322 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 5324 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5326 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 5328 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_toolkitName */
+
+/* 5330 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5332 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5336 */ NdrFcShort( 0x5 ), /* 5 */
+/* 5338 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 5340 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5342 */ NdrFcShort( 0x8 ), /* 8 */
+/* 5344 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 5346 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 5348 */ NdrFcShort( 0x1 ), /* 1 */
+/* 5350 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5352 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5354 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter name */
+
+/* 5356 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 5358 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 5360 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 5362 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5364 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 5366 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_toolkitVersion */
+
+/* 5368 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5370 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5374 */ NdrFcShort( 0x6 ), /* 6 */
+/* 5376 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 5378 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5380 */ NdrFcShort( 0x8 ), /* 8 */
+/* 5382 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 5384 */ 0xa, /* 10 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 5386 */ NdrFcShort( 0x1 ), /* 1 */
+/* 5388 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5390 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5392 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter version */
+
+/* 5394 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 5396 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 5398 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 5400 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5402 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 5404 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_anchorTarget */
+
+/* 5406 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5408 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5412 */ NdrFcShort( 0x3 ), /* 3 */
+/* 5414 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 5416 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5418 */ NdrFcShort( 0x8 ), /* 8 */
+/* 5420 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 5422 */ 0xa, /* 10 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 5424 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5426 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5428 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5430 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessible */
+
+/* 5432 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 5434 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 5436 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+/* 5438 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5440 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 5442 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ 0x0
+ }
+ };
+
+static const ia2_api_all_MIDL_TYPE_FORMAT_STRING ia2_api_all__MIDL_TypeFormatString =
+ {
+ 0,
+ {
+ NdrFcShort( 0x0 ), /* 0 */
+/* 2 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */
+/* 6 */
+ 0x13, 0x0, /* FC_OP */
+/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */
+/* 10 */
+ 0x1b, /* FC_CARRAY */
+ 0x1, /* 1 */
+/* 12 */ NdrFcShort( 0x2 ), /* 2 */
+/* 14 */ 0x9, /* Corr desc: FC_ULONG */
+ 0x0, /* */
+/* 16 */ NdrFcShort( 0xfffc ), /* -4 */
+/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 20 */ 0x6, /* FC_SHORT */
+ 0x5b, /* FC_END */
+/* 22 */
+ 0x17, /* FC_CSTRUCT */
+ 0x3, /* 3 */
+/* 24 */ NdrFcShort( 0x8 ), /* 8 */
+/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */
+/* 28 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 30 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 32 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 34 */ NdrFcShort( 0x0 ), /* 0 */
+/* 36 */ NdrFcShort( 0x8 ), /* 8 */
+/* 38 */ NdrFcShort( 0x0 ), /* 0 */
+/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */
+/* 42 */
+ 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
+/* 44 */ 0x8, /* FC_LONG */
+ 0x5c, /* FC_PAD */
+/* 46 */
+ 0x11, 0x10, /* FC_RP [pointer_deref] */
+/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */
+/* 50 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 52 */ NdrFcLong( 0x0 ), /* 0 */
+/* 56 */ NdrFcShort( 0x0 ), /* 0 */
+/* 58 */ NdrFcShort( 0x0 ), /* 0 */
+/* 60 */ 0xc0, /* 192 */
+ 0x0, /* 0 */
+/* 62 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 64 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 66 */ 0x0, /* 0 */
+ 0x46, /* 70 */
+/* 68 */
+ 0x11, 0x0, /* FC_RP */
+/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */
+/* 72 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 74 */ NdrFcShort( 0x0 ), /* 0 */
+/* 76 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x0, /* */
+/* 78 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 80 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 82 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 86 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 88 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 90 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (50) */
+/* 92 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 94 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */
+/* 98 */
+ 0x13, 0x0, /* FC_OP */
+/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */
+/* 102 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 104 */ NdrFcShort( 0x0 ), /* 0 */
+/* 106 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x0, /* */
+/* 108 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 110 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 112 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 114 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 116 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 118 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 120 */ NdrFcShort( 0xffa8 ), /* Offset= -88 (32) */
+/* 122 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 124 */
+ 0x11, 0x10, /* FC_RP [pointer_deref] */
+/* 126 */ NdrFcShort( 0x2 ), /* Offset= 2 (128) */
+/* 128 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 130 */ NdrFcLong( 0x7cdf86ee ), /* 2095023854 */
+/* 134 */ NdrFcShort( 0xc3da ), /* -15398 */
+/* 136 */ NdrFcShort( 0x496a ), /* 18794 */
+/* 138 */ 0xbd, /* 189 */
+ 0xa4, /* 164 */
+/* 140 */ 0x28, /* 40 */
+ 0x1b, /* 27 */
+/* 142 */ 0x33, /* 51 */
+ 0x6e, /* 110 */
+/* 144 */ 0x1f, /* 31 */
+ 0xdc, /* 220 */
+/* 146 */
+ 0x11, 0x0, /* FC_RP */
+/* 148 */ NdrFcShort( 0x2 ), /* Offset= 2 (150) */
+/* 150 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 152 */ NdrFcShort( 0x0 ), /* 0 */
+/* 154 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x0, /* */
+/* 156 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 158 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 160 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 162 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 164 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 166 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 168 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (128) */
+/* 170 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 172 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 174 */ NdrFcShort( 0x2 ), /* Offset= 2 (176) */
+/* 176 */
+ 0x13, 0x0, /* FC_OP */
+/* 178 */ NdrFcShort( 0x2 ), /* Offset= 2 (180) */
+/* 180 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 182 */ NdrFcShort( 0x0 ), /* 0 */
+/* 184 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x0, /* */
+/* 186 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 188 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 190 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 192 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 194 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 196 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 198 */ NdrFcShort( 0xff5a ), /* Offset= -166 (32) */
+/* 200 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 202 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 204 */ NdrFcShort( 0x1a ), /* Offset= 26 (230) */
+/* 206 */
+ 0x13, 0x0, /* FC_OP */
+/* 208 */ NdrFcShort( 0x2 ), /* Offset= 2 (210) */
+/* 210 */
+ 0x2a, /* FC_ENCAPSULATED_UNION */
+ 0x48, /* 72 */
+/* 212 */ NdrFcShort( 0x4 ), /* 4 */
+/* 214 */ NdrFcShort( 0x2 ), /* 2 */
+/* 216 */ NdrFcLong( 0x48746457 ), /* 1215587415 */
+/* 220 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 222 */ NdrFcLong( 0x52746457 ), /* 1383359575 */
+/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 228 */ NdrFcShort( 0xffff ), /* Offset= -1 (227) */
+/* 230 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 232 */ NdrFcShort( 0x1 ), /* 1 */
+/* 234 */ NdrFcShort( 0x8 ), /* 8 */
+/* 236 */ NdrFcShort( 0x0 ), /* 0 */
+/* 238 */ NdrFcShort( 0xffe0 ), /* Offset= -32 (206) */
+/* 240 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 242 */ NdrFcShort( 0x2 ), /* Offset= 2 (244) */
+/* 244 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 246 */ NdrFcShort( 0x18 ), /* 24 */
+/* 248 */ NdrFcShort( 0x0 ), /* 0 */
+/* 250 */ NdrFcShort( 0x0 ), /* Offset= 0 (250) */
+/* 252 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 254 */ NdrFcShort( 0xff22 ), /* Offset= -222 (32) */
+/* 256 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 258 */ NdrFcShort( 0xff1e ), /* Offset= -226 (32) */
+/* 260 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 262 */ NdrFcShort( 0xff1a ), /* Offset= -230 (32) */
+/* 264 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 266 */
+ 0x12, 0x0, /* FC_UP */
+/* 268 */ NdrFcShort( 0xff0a ), /* Offset= -246 (22) */
+/* 270 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 272 */ NdrFcShort( 0x0 ), /* 0 */
+/* 274 */ NdrFcShort( 0x8 ), /* 8 */
+/* 276 */ NdrFcShort( 0x0 ), /* 0 */
+/* 278 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (266) */
+/* 280 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 282 */ NdrFcShort( 0x3a2 ), /* Offset= 930 (1212) */
+/* 284 */
+ 0x13, 0x0, /* FC_OP */
+/* 286 */ NdrFcShort( 0x38a ), /* Offset= 906 (1192) */
+/* 288 */
+ 0x2b, /* FC_NON_ENCAPSULATED_UNION */
+ 0x9, /* FC_ULONG */
+/* 290 */ 0x7, /* Corr desc: FC_USHORT */
+ 0x0, /* */
+/* 292 */ NdrFcShort( 0xfff8 ), /* -8 */
+/* 294 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 296 */ NdrFcShort( 0x2 ), /* Offset= 2 (298) */
+/* 298 */ NdrFcShort( 0x10 ), /* 16 */
+/* 300 */ NdrFcShort( 0x2f ), /* 47 */
+/* 302 */ NdrFcLong( 0x14 ), /* 20 */
+/* 306 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
+/* 308 */ NdrFcLong( 0x3 ), /* 3 */
+/* 312 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 314 */ NdrFcLong( 0x11 ), /* 17 */
+/* 318 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */
+/* 320 */ NdrFcLong( 0x2 ), /* 2 */
+/* 324 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
+/* 326 */ NdrFcLong( 0x4 ), /* 4 */
+/* 330 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */
+/* 332 */ NdrFcLong( 0x5 ), /* 5 */
+/* 336 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
+/* 338 */ NdrFcLong( 0xb ), /* 11 */
+/* 342 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
+/* 344 */ NdrFcLong( 0xa ), /* 10 */
+/* 348 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 350 */ NdrFcLong( 0x6 ), /* 6 */
+/* 354 */ NdrFcShort( 0xe8 ), /* Offset= 232 (586) */
+/* 356 */ NdrFcLong( 0x7 ), /* 7 */
+/* 360 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
+/* 362 */ NdrFcLong( 0x8 ), /* 8 */
+/* 366 */ NdrFcShort( 0xfe98 ), /* Offset= -360 (6) */
+/* 368 */ NdrFcLong( 0xd ), /* 13 */
+/* 372 */ NdrFcShort( 0xfebe ), /* Offset= -322 (50) */
+/* 374 */ NdrFcLong( 0x9 ), /* 9 */
+/* 378 */ NdrFcShort( 0xd6 ), /* Offset= 214 (592) */
+/* 380 */ NdrFcLong( 0x2000 ), /* 8192 */
+/* 384 */ NdrFcShort( 0xe2 ), /* Offset= 226 (610) */
+/* 386 */ NdrFcLong( 0x24 ), /* 36 */
+/* 390 */ NdrFcShort( 0x2d8 ), /* Offset= 728 (1118) */
+/* 392 */ NdrFcLong( 0x4024 ), /* 16420 */
+/* 396 */ NdrFcShort( 0x2d2 ), /* Offset= 722 (1118) */
+/* 398 */ NdrFcLong( 0x4011 ), /* 16401 */
+/* 402 */ NdrFcShort( 0x2d0 ), /* Offset= 720 (1122) */
+/* 404 */ NdrFcLong( 0x4002 ), /* 16386 */
+/* 408 */ NdrFcShort( 0x2ce ), /* Offset= 718 (1126) */
+/* 410 */ NdrFcLong( 0x4003 ), /* 16387 */
+/* 414 */ NdrFcShort( 0x2cc ), /* Offset= 716 (1130) */
+/* 416 */ NdrFcLong( 0x4014 ), /* 16404 */
+/* 420 */ NdrFcShort( 0x2ca ), /* Offset= 714 (1134) */
+/* 422 */ NdrFcLong( 0x4004 ), /* 16388 */
+/* 426 */ NdrFcShort( 0x2c8 ), /* Offset= 712 (1138) */
+/* 428 */ NdrFcLong( 0x4005 ), /* 16389 */
+/* 432 */ NdrFcShort( 0x2c6 ), /* Offset= 710 (1142) */
+/* 434 */ NdrFcLong( 0x400b ), /* 16395 */
+/* 438 */ NdrFcShort( 0x2b0 ), /* Offset= 688 (1126) */
+/* 440 */ NdrFcLong( 0x400a ), /* 16394 */
+/* 444 */ NdrFcShort( 0x2ae ), /* Offset= 686 (1130) */
+/* 446 */ NdrFcLong( 0x4006 ), /* 16390 */
+/* 450 */ NdrFcShort( 0x2b8 ), /* Offset= 696 (1146) */
+/* 452 */ NdrFcLong( 0x4007 ), /* 16391 */
+/* 456 */ NdrFcShort( 0x2ae ), /* Offset= 686 (1142) */
+/* 458 */ NdrFcLong( 0x4008 ), /* 16392 */
+/* 462 */ NdrFcShort( 0x2b0 ), /* Offset= 688 (1150) */
+/* 464 */ NdrFcLong( 0x400d ), /* 16397 */
+/* 468 */ NdrFcShort( 0x2ae ), /* Offset= 686 (1154) */
+/* 470 */ NdrFcLong( 0x4009 ), /* 16393 */
+/* 474 */ NdrFcShort( 0x2ac ), /* Offset= 684 (1158) */
+/* 476 */ NdrFcLong( 0x6000 ), /* 24576 */
+/* 480 */ NdrFcShort( 0x2aa ), /* Offset= 682 (1162) */
+/* 482 */ NdrFcLong( 0x400c ), /* 16396 */
+/* 486 */ NdrFcShort( 0x2a8 ), /* Offset= 680 (1166) */
+/* 488 */ NdrFcLong( 0x10 ), /* 16 */
+/* 492 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */
+/* 494 */ NdrFcLong( 0x12 ), /* 18 */
+/* 498 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
+/* 500 */ NdrFcLong( 0x13 ), /* 19 */
+/* 504 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 506 */ NdrFcLong( 0x15 ), /* 21 */
+/* 510 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
+/* 512 */ NdrFcLong( 0x16 ), /* 22 */
+/* 516 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 518 */ NdrFcLong( 0x17 ), /* 23 */
+/* 522 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 524 */ NdrFcLong( 0xe ), /* 14 */
+/* 528 */ NdrFcShort( 0x286 ), /* Offset= 646 (1174) */
+/* 530 */ NdrFcLong( 0x400e ), /* 16398 */
+/* 534 */ NdrFcShort( 0x28a ), /* Offset= 650 (1184) */
+/* 536 */ NdrFcLong( 0x4010 ), /* 16400 */
+/* 540 */ NdrFcShort( 0x288 ), /* Offset= 648 (1188) */
+/* 542 */ NdrFcLong( 0x4012 ), /* 16402 */
+/* 546 */ NdrFcShort( 0x244 ), /* Offset= 580 (1126) */
+/* 548 */ NdrFcLong( 0x4013 ), /* 16403 */
+/* 552 */ NdrFcShort( 0x242 ), /* Offset= 578 (1130) */
+/* 554 */ NdrFcLong( 0x4015 ), /* 16405 */
+/* 558 */ NdrFcShort( 0x240 ), /* Offset= 576 (1134) */
+/* 560 */ NdrFcLong( 0x4016 ), /* 16406 */
+/* 564 */ NdrFcShort( 0x236 ), /* Offset= 566 (1130) */
+/* 566 */ NdrFcLong( 0x4017 ), /* 16407 */
+/* 570 */ NdrFcShort( 0x230 ), /* Offset= 560 (1130) */
+/* 572 */ NdrFcLong( 0x0 ), /* 0 */
+/* 576 */ NdrFcShort( 0x0 ), /* Offset= 0 (576) */
+/* 578 */ NdrFcLong( 0x1 ), /* 1 */
+/* 582 */ NdrFcShort( 0x0 ), /* Offset= 0 (582) */
+/* 584 */ NdrFcShort( 0xffff ), /* Offset= -1 (583) */
+/* 586 */
+ 0x15, /* FC_STRUCT */
+ 0x7, /* 7 */
+/* 588 */ NdrFcShort( 0x8 ), /* 8 */
+/* 590 */ 0xb, /* FC_HYPER */
+ 0x5b, /* FC_END */
+/* 592 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 594 */ NdrFcLong( 0x20400 ), /* 132096 */
+/* 598 */ NdrFcShort( 0x0 ), /* 0 */
+/* 600 */ NdrFcShort( 0x0 ), /* 0 */
+/* 602 */ 0xc0, /* 192 */
+ 0x0, /* 0 */
+/* 604 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 606 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 608 */ 0x0, /* 0 */
+ 0x46, /* 70 */
+/* 610 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 612 */ NdrFcShort( 0x2 ), /* Offset= 2 (614) */
+/* 614 */
+ 0x13, 0x0, /* FC_OP */
+/* 616 */ NdrFcShort( 0x1e4 ), /* Offset= 484 (1100) */
+/* 618 */
+ 0x2a, /* FC_ENCAPSULATED_UNION */
+ 0x89, /* 137 */
+/* 620 */ NdrFcShort( 0x20 ), /* 32 */
+/* 622 */ NdrFcShort( 0xa ), /* 10 */
+/* 624 */ NdrFcLong( 0x8 ), /* 8 */
+/* 628 */ NdrFcShort( 0x50 ), /* Offset= 80 (708) */
+/* 630 */ NdrFcLong( 0xd ), /* 13 */
+/* 634 */ NdrFcShort( 0x70 ), /* Offset= 112 (746) */
+/* 636 */ NdrFcLong( 0x9 ), /* 9 */
+/* 640 */ NdrFcShort( 0x90 ), /* Offset= 144 (784) */
+/* 642 */ NdrFcLong( 0xc ), /* 12 */
+/* 646 */ NdrFcShort( 0xb0 ), /* Offset= 176 (822) */
+/* 648 */ NdrFcLong( 0x24 ), /* 36 */
+/* 652 */ NdrFcShort( 0x102 ), /* Offset= 258 (910) */
+/* 654 */ NdrFcLong( 0x800d ), /* 32781 */
+/* 658 */ NdrFcShort( 0x11e ), /* Offset= 286 (944) */
+/* 660 */ NdrFcLong( 0x10 ), /* 16 */
+/* 664 */ NdrFcShort( 0x138 ), /* Offset= 312 (976) */
+/* 666 */ NdrFcLong( 0x2 ), /* 2 */
+/* 670 */ NdrFcShort( 0x14e ), /* Offset= 334 (1004) */
+/* 672 */ NdrFcLong( 0x3 ), /* 3 */
+/* 676 */ NdrFcShort( 0x164 ), /* Offset= 356 (1032) */
+/* 678 */ NdrFcLong( 0x14 ), /* 20 */
+/* 682 */ NdrFcShort( 0x17a ), /* Offset= 378 (1060) */
+/* 684 */ NdrFcShort( 0xffff ), /* Offset= -1 (683) */
+/* 686 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 688 */ NdrFcShort( 0x0 ), /* 0 */
+/* 690 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 692 */ NdrFcShort( 0x0 ), /* 0 */
+/* 694 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 696 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 700 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 702 */
+ 0x13, 0x0, /* FC_OP */
+/* 704 */ NdrFcShort( 0xfd56 ), /* Offset= -682 (22) */
+/* 706 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 708 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 710 */ NdrFcShort( 0x10 ), /* 16 */
+/* 712 */ NdrFcShort( 0x0 ), /* 0 */
+/* 714 */ NdrFcShort( 0x6 ), /* Offset= 6 (720) */
+/* 716 */ 0x8, /* FC_LONG */
+ 0x40, /* FC_STRUCTPAD4 */
+/* 718 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 720 */
+ 0x11, 0x0, /* FC_RP */
+/* 722 */ NdrFcShort( 0xffdc ), /* Offset= -36 (686) */
+/* 724 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 726 */ NdrFcShort( 0x0 ), /* 0 */
+/* 728 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 730 */ NdrFcShort( 0x0 ), /* 0 */
+/* 732 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 734 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 738 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 740 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 742 */ NdrFcShort( 0xfd4c ), /* Offset= -692 (50) */
+/* 744 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 746 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 748 */ NdrFcShort( 0x10 ), /* 16 */
+/* 750 */ NdrFcShort( 0x0 ), /* 0 */
+/* 752 */ NdrFcShort( 0x6 ), /* Offset= 6 (758) */
+/* 754 */ 0x8, /* FC_LONG */
+ 0x40, /* FC_STRUCTPAD4 */
+/* 756 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 758 */
+ 0x11, 0x0, /* FC_RP */
+/* 760 */ NdrFcShort( 0xffdc ), /* Offset= -36 (724) */
+/* 762 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 764 */ NdrFcShort( 0x0 ), /* 0 */
+/* 766 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 768 */ NdrFcShort( 0x0 ), /* 0 */
+/* 770 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 772 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 776 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 778 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 780 */ NdrFcShort( 0xff44 ), /* Offset= -188 (592) */
+/* 782 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 784 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 786 */ NdrFcShort( 0x10 ), /* 16 */
+/* 788 */ NdrFcShort( 0x0 ), /* 0 */
+/* 790 */ NdrFcShort( 0x6 ), /* Offset= 6 (796) */
+/* 792 */ 0x8, /* FC_LONG */
+ 0x40, /* FC_STRUCTPAD4 */
+/* 794 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 796 */
+ 0x11, 0x0, /* FC_RP */
+/* 798 */ NdrFcShort( 0xffdc ), /* Offset= -36 (762) */
+/* 800 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 802 */ NdrFcShort( 0x0 ), /* 0 */
+/* 804 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 806 */ NdrFcShort( 0x0 ), /* 0 */
+/* 808 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 810 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 814 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 816 */
+ 0x13, 0x0, /* FC_OP */
+/* 818 */ NdrFcShort( 0x176 ), /* Offset= 374 (1192) */
+/* 820 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 822 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 824 */ NdrFcShort( 0x10 ), /* 16 */
+/* 826 */ NdrFcShort( 0x0 ), /* 0 */
+/* 828 */ NdrFcShort( 0x6 ), /* Offset= 6 (834) */
+/* 830 */ 0x8, /* FC_LONG */
+ 0x40, /* FC_STRUCTPAD4 */
+/* 832 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 834 */
+ 0x11, 0x0, /* FC_RP */
+/* 836 */ NdrFcShort( 0xffdc ), /* Offset= -36 (800) */
+/* 838 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 840 */ NdrFcLong( 0x2f ), /* 47 */
+/* 844 */ NdrFcShort( 0x0 ), /* 0 */
+/* 846 */ NdrFcShort( 0x0 ), /* 0 */
+/* 848 */ 0xc0, /* 192 */
+ 0x0, /* 0 */
+/* 850 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 852 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 854 */ 0x0, /* 0 */
+ 0x46, /* 70 */
+/* 856 */
+ 0x1b, /* FC_CARRAY */
+ 0x0, /* 0 */
+/* 858 */ NdrFcShort( 0x1 ), /* 1 */
+/* 860 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 862 */ NdrFcShort( 0x4 ), /* 4 */
+/* 864 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 866 */ 0x1, /* FC_BYTE */
+ 0x5b, /* FC_END */
+/* 868 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 870 */ NdrFcShort( 0x18 ), /* 24 */
+/* 872 */ NdrFcShort( 0x0 ), /* 0 */
+/* 874 */ NdrFcShort( 0xa ), /* Offset= 10 (884) */
+/* 876 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 878 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 880 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (838) */
+/* 882 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 884 */
+ 0x13, 0x0, /* FC_OP */
+/* 886 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (856) */
+/* 888 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 890 */ NdrFcShort( 0x0 ), /* 0 */
+/* 892 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 894 */ NdrFcShort( 0x0 ), /* 0 */
+/* 896 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 898 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 902 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 904 */
+ 0x13, 0x0, /* FC_OP */
+/* 906 */ NdrFcShort( 0xffda ), /* Offset= -38 (868) */
+/* 908 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 910 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 912 */ NdrFcShort( 0x10 ), /* 16 */
+/* 914 */ NdrFcShort( 0x0 ), /* 0 */
+/* 916 */ NdrFcShort( 0x6 ), /* Offset= 6 (922) */
+/* 918 */ 0x8, /* FC_LONG */
+ 0x40, /* FC_STRUCTPAD4 */
+/* 920 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 922 */
+ 0x11, 0x0, /* FC_RP */
+/* 924 */ NdrFcShort( 0xffdc ), /* Offset= -36 (888) */
+/* 926 */
+ 0x1d, /* FC_SMFARRAY */
+ 0x0, /* 0 */
+/* 928 */ NdrFcShort( 0x8 ), /* 8 */
+/* 930 */ 0x1, /* FC_BYTE */
+ 0x5b, /* FC_END */
+/* 932 */
+ 0x15, /* FC_STRUCT */
+ 0x3, /* 3 */
+/* 934 */ NdrFcShort( 0x10 ), /* 16 */
+/* 936 */ 0x8, /* FC_LONG */
+ 0x6, /* FC_SHORT */
+/* 938 */ 0x6, /* FC_SHORT */
+ 0x4c, /* FC_EMBEDDED_COMPLEX */
+/* 940 */ 0x0, /* 0 */
+ NdrFcShort( 0xfff1 ), /* Offset= -15 (926) */
+ 0x5b, /* FC_END */
+/* 944 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 946 */ NdrFcShort( 0x20 ), /* 32 */
+/* 948 */ NdrFcShort( 0x0 ), /* 0 */
+/* 950 */ NdrFcShort( 0xa ), /* Offset= 10 (960) */
+/* 952 */ 0x8, /* FC_LONG */
+ 0x40, /* FC_STRUCTPAD4 */
+/* 954 */ 0x36, /* FC_POINTER */
+ 0x4c, /* FC_EMBEDDED_COMPLEX */
+/* 956 */ 0x0, /* 0 */
+ NdrFcShort( 0xffe7 ), /* Offset= -25 (932) */
+ 0x5b, /* FC_END */
+/* 960 */
+ 0x11, 0x0, /* FC_RP */
+/* 962 */ NdrFcShort( 0xff12 ), /* Offset= -238 (724) */
+/* 964 */
+ 0x1b, /* FC_CARRAY */
+ 0x0, /* 0 */
+/* 966 */ NdrFcShort( 0x1 ), /* 1 */
+/* 968 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 970 */ NdrFcShort( 0x0 ), /* 0 */
+/* 972 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 974 */ 0x1, /* FC_BYTE */
+ 0x5b, /* FC_END */
+/* 976 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 978 */ NdrFcShort( 0x10 ), /* 16 */
+/* 980 */ NdrFcShort( 0x0 ), /* 0 */
+/* 982 */ NdrFcShort( 0x6 ), /* Offset= 6 (988) */
+/* 984 */ 0x8, /* FC_LONG */
+ 0x40, /* FC_STRUCTPAD4 */
+/* 986 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 988 */
+ 0x13, 0x0, /* FC_OP */
+/* 990 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (964) */
+/* 992 */
+ 0x1b, /* FC_CARRAY */
+ 0x1, /* 1 */
+/* 994 */ NdrFcShort( 0x2 ), /* 2 */
+/* 996 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 998 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1000 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 1002 */ 0x6, /* FC_SHORT */
+ 0x5b, /* FC_END */
+/* 1004 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 1006 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1008 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1010 */ NdrFcShort( 0x6 ), /* Offset= 6 (1016) */
+/* 1012 */ 0x8, /* FC_LONG */
+ 0x40, /* FC_STRUCTPAD4 */
+/* 1014 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 1016 */
+ 0x13, 0x0, /* FC_OP */
+/* 1018 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (992) */
+/* 1020 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 1022 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1024 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 1026 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1028 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 1030 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 1032 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 1034 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1036 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1038 */ NdrFcShort( 0x6 ), /* Offset= 6 (1044) */
+/* 1040 */ 0x8, /* FC_LONG */
+ 0x40, /* FC_STRUCTPAD4 */
+/* 1042 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 1044 */
+ 0x13, 0x0, /* FC_OP */
+/* 1046 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (1020) */
+/* 1048 */
+ 0x1b, /* FC_CARRAY */
+ 0x7, /* 7 */
+/* 1050 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1052 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 1054 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1056 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 1058 */ 0xb, /* FC_HYPER */
+ 0x5b, /* FC_END */
+/* 1060 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 1062 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1064 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1066 */ NdrFcShort( 0x6 ), /* Offset= 6 (1072) */
+/* 1068 */ 0x8, /* FC_LONG */
+ 0x40, /* FC_STRUCTPAD4 */
+/* 1070 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 1072 */
+ 0x13, 0x0, /* FC_OP */
+/* 1074 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (1048) */
+/* 1076 */
+ 0x15, /* FC_STRUCT */
+ 0x3, /* 3 */
+/* 1078 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1080 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 1082 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1084 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 1086 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1088 */ 0x7, /* Corr desc: FC_USHORT */
+ 0x0, /* */
+/* 1090 */ NdrFcShort( 0xffc8 ), /* -56 */
+/* 1092 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 1094 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1096 */ NdrFcShort( 0xffec ), /* Offset= -20 (1076) */
+/* 1098 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1100 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 1102 */ NdrFcShort( 0x38 ), /* 56 */
+/* 1104 */ NdrFcShort( 0xffec ), /* Offset= -20 (1084) */
+/* 1106 */ NdrFcShort( 0x0 ), /* Offset= 0 (1106) */
+/* 1108 */ 0x6, /* FC_SHORT */
+ 0x6, /* FC_SHORT */
+/* 1110 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 1112 */ 0x40, /* FC_STRUCTPAD4 */
+ 0x4c, /* FC_EMBEDDED_COMPLEX */
+/* 1114 */ 0x0, /* 0 */
+ NdrFcShort( 0xfe0f ), /* Offset= -497 (618) */
+ 0x5b, /* FC_END */
+/* 1118 */
+ 0x13, 0x0, /* FC_OP */
+/* 1120 */ NdrFcShort( 0xff04 ), /* Offset= -252 (868) */
+/* 1122 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1124 */ 0x1, /* FC_BYTE */
+ 0x5c, /* FC_PAD */
+/* 1126 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1128 */ 0x6, /* FC_SHORT */
+ 0x5c, /* FC_PAD */
+/* 1130 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1132 */ 0x8, /* FC_LONG */
+ 0x5c, /* FC_PAD */
+/* 1134 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1136 */ 0xb, /* FC_HYPER */
+ 0x5c, /* FC_PAD */
+/* 1138 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1140 */ 0xa, /* FC_FLOAT */
+ 0x5c, /* FC_PAD */
+/* 1142 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1144 */ 0xc, /* FC_DOUBLE */
+ 0x5c, /* FC_PAD */
+/* 1146 */
+ 0x13, 0x0, /* FC_OP */
+/* 1148 */ NdrFcShort( 0xfdce ), /* Offset= -562 (586) */
+/* 1150 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 1152 */ NdrFcShort( 0xfb86 ), /* Offset= -1146 (6) */
+/* 1154 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 1156 */ NdrFcShort( 0xfbae ), /* Offset= -1106 (50) */
+/* 1158 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 1160 */ NdrFcShort( 0xfdc8 ), /* Offset= -568 (592) */
+/* 1162 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 1164 */ NdrFcShort( 0xfdd6 ), /* Offset= -554 (610) */
+/* 1166 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 1168 */ NdrFcShort( 0x2 ), /* Offset= 2 (1170) */
+/* 1170 */
+ 0x13, 0x0, /* FC_OP */
+/* 1172 */ NdrFcShort( 0x14 ), /* Offset= 20 (1192) */
+/* 1174 */
+ 0x15, /* FC_STRUCT */
+ 0x7, /* 7 */
+/* 1176 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1178 */ 0x6, /* FC_SHORT */
+ 0x1, /* FC_BYTE */
+/* 1180 */ 0x1, /* FC_BYTE */
+ 0x8, /* FC_LONG */
+/* 1182 */ 0xb, /* FC_HYPER */
+ 0x5b, /* FC_END */
+/* 1184 */
+ 0x13, 0x0, /* FC_OP */
+/* 1186 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1174) */
+/* 1188 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1190 */ 0x2, /* FC_CHAR */
+ 0x5c, /* FC_PAD */
+/* 1192 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x7, /* 7 */
+/* 1194 */ NdrFcShort( 0x20 ), /* 32 */
+/* 1196 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1198 */ NdrFcShort( 0x0 ), /* Offset= 0 (1198) */
+/* 1200 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 1202 */ 0x6, /* FC_SHORT */
+ 0x6, /* FC_SHORT */
+/* 1204 */ 0x6, /* FC_SHORT */
+ 0x6, /* FC_SHORT */
+/* 1206 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1208 */ NdrFcShort( 0xfc68 ), /* Offset= -920 (288) */
+/* 1210 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1212 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 1214 */ NdrFcShort( 0x2 ), /* 2 */
+/* 1216 */ NdrFcShort( 0x18 ), /* 24 */
+/* 1218 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1220 */ NdrFcShort( 0xfc58 ), /* Offset= -936 (284) */
+/* 1222 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1224 */ NdrFcShort( 0x2 ), /* Offset= 2 (1226) */
+/* 1226 */
+ 0x13, 0x0, /* FC_OP */
+/* 1228 */ NdrFcShort( 0x2 ), /* Offset= 2 (1230) */
+/* 1230 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 1232 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1234 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 1236 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */
+/* 1238 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1240 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 1244 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1246 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1248 */ NdrFcShort( 0xfb52 ), /* Offset= -1198 (50) */
+/* 1250 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1252 */
+ 0x11, 0x0, /* FC_RP */
+/* 1254 */ NdrFcShort( 0x6 ), /* Offset= 6 (1260) */
+/* 1256 */
+ 0x12, 0x0, /* FC_UP */
+/* 1258 */ NdrFcShort( 0xffbe ), /* Offset= -66 (1192) */
+/* 1260 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 1262 */ NdrFcShort( 0x2 ), /* 2 */
+/* 1264 */ NdrFcShort( 0x18 ), /* 24 */
+/* 1266 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1268 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1256) */
+/* 1270 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 1272 */ NdrFcShort( 0x2 ), /* Offset= 2 (1274) */
+/* 1274 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 1276 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1278 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1280 */ NdrFcShort( 0x0 ), /* Offset= 0 (1280) */
+/* 1282 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1284 */ NdrFcShort( 0xfb1c ), /* Offset= -1252 (32) */
+/* 1286 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 1288 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1290 */
+ 0x11, 0x0, /* FC_RP */
+/* 1292 */ NdrFcShort( 0xfc02 ), /* Offset= -1022 (270) */
+/* 1294 */
+ 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
+/* 1296 */ 0x3, /* FC_SMALL */
+ 0x5c, /* FC_PAD */
+/* 1298 */
+ 0x11, 0x10, /* FC_RP [pointer_deref] */
+/* 1300 */ NdrFcShort( 0x2 ), /* Offset= 2 (1302) */
+/* 1302 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 1304 */ NdrFcLong( 0x1c20f2b ), /* 29495083 */
+/* 1308 */ NdrFcShort( 0x3dd2 ), /* 15826 */
+/* 1310 */ NdrFcShort( 0x400f ), /* 16399 */
+/* 1312 */ 0x94, /* 148 */
+ 0x9f, /* 159 */
+/* 1314 */ 0xad, /* 173 */
+ 0x0, /* 0 */
+/* 1316 */ 0xbd, /* 189 */
+ 0xab, /* 171 */
+/* 1318 */ 0x1d, /* 29 */
+ 0x41, /* 65 */
+/* 1320 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1322 */ NdrFcShort( 0x2 ), /* Offset= 2 (1324) */
+/* 1324 */
+ 0x13, 0x0, /* FC_OP */
+/* 1326 */ NdrFcShort( 0x2 ), /* Offset= 2 (1328) */
+/* 1328 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 1330 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1332 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 1334 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1336 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1338 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 1342 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1344 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1346 */ NdrFcShort( 0xffd4 ), /* Offset= -44 (1302) */
+/* 1348 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1350 */
+ 0x11, 0x10, /* FC_RP [pointer_deref] */
+/* 1352 */ NdrFcShort( 0x2 ), /* Offset= 2 (1354) */
+/* 1354 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 1356 */ NdrFcLong( 0x35ad8070 ), /* 900563056 */
+/* 1360 */ NdrFcShort( 0xc20c ), /* -15860 */
+/* 1362 */ NdrFcShort( 0x4fb4 ), /* 20404 */
+/* 1364 */ 0xb0, /* 176 */
+ 0x94, /* 148 */
+/* 1366 */ 0xf4, /* 244 */
+ 0xf7, /* 247 */
+/* 1368 */ 0x27, /* 39 */
+ 0x5d, /* 93 */
+/* 1370 */ 0xd4, /* 212 */
+ 0x69, /* 105 */
+/* 1372 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1374 */ NdrFcShort( 0x2 ), /* Offset= 2 (1376) */
+/* 1376 */
+ 0x13, 0x0, /* FC_OP */
+/* 1378 */ NdrFcShort( 0x2 ), /* Offset= 2 (1380) */
+/* 1380 */
+ 0x1c, /* FC_CVARRAY */
+ 0x3, /* 3 */
+/* 1382 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1384 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x0, /* */
+/* 1386 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */
+/* 1388 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 1390 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 1392 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */
+/* 1394 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1396 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 1398 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 1400 */ NdrFcShort( 0x2 ), /* Offset= 2 (1402) */
+/* 1402 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 1404 */ NdrFcShort( 0x14 ), /* 20 */
+/* 1406 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1408 */ NdrFcShort( 0x0 ), /* Offset= 0 (1408) */
+/* 1410 */ 0xd, /* FC_ENUM16 */
+ 0x8, /* FC_LONG */
+/* 1412 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 1414 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 1416 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1418 */ NdrFcShort( 0x2 ), /* Offset= 2 (1420) */
+/* 1420 */
+ 0x13, 0x0, /* FC_OP */
+/* 1422 */ NdrFcShort( 0x2 ), /* Offset= 2 (1424) */
+/* 1424 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 1426 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1428 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 1430 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1432 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1434 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 1438 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1440 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1442 */ NdrFcShort( 0xfa90 ), /* Offset= -1392 (50) */
+/* 1444 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1446 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1448 */ NdrFcShort( 0x2 ), /* Offset= 2 (1450) */
+/* 1450 */
+ 0x13, 0x0, /* FC_OP */
+/* 1452 */ NdrFcShort( 0x2 ), /* Offset= 2 (1454) */
+/* 1454 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 1456 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1458 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 1460 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */
+/* 1462 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1464 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+
+ 0x0
+ }
+ };
+
+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
+ {
+
+ {
+ BSTR_UserSize
+ ,BSTR_UserMarshal
+ ,BSTR_UserUnmarshal
+ ,BSTR_UserFree
+ },
+ {
+ HWND_UserSize
+ ,HWND_UserMarshal
+ ,HWND_UserUnmarshal
+ ,HWND_UserFree
+ },
+ {
+ VARIANT_UserSize
+ ,VARIANT_UserMarshal
+ ,VARIANT_UserUnmarshal
+ ,VARIANT_UserFree
+ }
+
+ };
+
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0000, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IUnknown, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IAccessibleRelation, ver. 0.0,
+ GUID={0x7CDF86EE,0xC3DA,0x496a,{0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleRelation_FormatStringOffsetTable[] =
+ {
+ 0,
+ 38,
+ 76,
+ 114,
+ 158
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleRelation_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleRelation_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(8) _IAccessibleRelationProxyVtbl =
+{
+ &IAccessibleRelation_ProxyInfo,
+ &IID_IAccessibleRelation,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleRelation::get_relationType */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleRelation::get_localizedRelationType */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleRelation::get_nTargets */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleRelation::get_target */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleRelation::get_targets */
+};
+
+const CInterfaceStubVtbl _IAccessibleRelationStubVtbl =
+{
+ &IID_IAccessibleRelation,
+ &IAccessibleRelation_ServerInfo,
+ 8,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0001, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IAccessibleAction, ver. 0.0,
+ GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleAction_FormatStringOffsetTable[] =
+ {
+ 208,
+ 246,
+ 284,
+ 328,
+ 384,
+ 428
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleAction_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleAction_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleAction_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(9) _IAccessibleActionProxyVtbl =
+{
+ &IAccessibleAction_ProxyInfo,
+ &IID_IAccessibleAction,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */
+};
+
+const CInterfaceStubVtbl _IAccessibleActionStubVtbl =
+{
+ &IID_IAccessibleAction,
+ &IAccessibleAction_ServerInfo,
+ 9,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0002, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IDispatch, ver. 0.0,
+ GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IAccessible, ver. 0.0,
+ GUID={0x618736e0,0x3c3d,0x11cf,{0x81,0x0c,0x00,0xaa,0x00,0x38,0x9b,0x71}} */
+
+
+/* Object interface: IAccessible2, ver. 0.0,
+ GUID={0xE89F726E,0xC4F4,0x4c19,{0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessible2_FormatStringOffsetTable[] =
+ {
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ 472,
+ 510,
+ 554,
+ 604,
+ 642,
+ 680,
+ 730,
+ 780,
+ 818,
+ 856,
+ 894,
+ 932,
+ 982,
+ 1032,
+ 1070,
+ 1108,
+ 1146,
+ 1184
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessible2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessible2_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessible2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(46) _IAccessible2ProxyVtbl =
+{
+ &IAccessible2_ProxyInfo,
+ &IID_IAccessible2,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ 0 /* IDispatch::GetTypeInfoCount */ ,
+ 0 /* IDispatch::GetTypeInfo */ ,
+ 0 /* IDispatch::GetIDsOfNames */ ,
+ 0 /* IDispatch_Invoke_Proxy */ ,
+ 0 /* IAccessible::get_accParent */ ,
+ 0 /* IAccessible::get_accChildCount */ ,
+ 0 /* IAccessible::get_accChild */ ,
+ 0 /* IAccessible::get_accName */ ,
+ 0 /* IAccessible::get_accValue */ ,
+ 0 /* IAccessible::get_accDescription */ ,
+ 0 /* IAccessible::get_accRole */ ,
+ 0 /* IAccessible::get_accState */ ,
+ 0 /* IAccessible::get_accHelp */ ,
+ 0 /* IAccessible::get_accHelpTopic */ ,
+ 0 /* IAccessible::get_accKeyboardShortcut */ ,
+ 0 /* IAccessible::get_accFocus */ ,
+ 0 /* IAccessible::get_accSelection */ ,
+ 0 /* IAccessible::get_accDefaultAction */ ,
+ 0 /* IAccessible::accSelect */ ,
+ 0 /* IAccessible::accLocation */ ,
+ 0 /* IAccessible::accNavigate */ ,
+ 0 /* IAccessible::accHitTest */ ,
+ 0 /* IAccessible::accDoDefaultAction */ ,
+ 0 /* IAccessible::put_accName */ ,
+ 0 /* IAccessible::put_accValue */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::role */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_states */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */
+};
+
+
+static const PRPC_STUB_FUNCTION IAccessible2_table[] =
+{
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2
+};
+
+CInterfaceStubVtbl _IAccessible2StubVtbl =
+{
+ &IID_IAccessible2,
+ &IAccessible2_ServerInfo,
+ 46,
+ &IAccessible2_table[-3],
+ CStdStubBuffer_DELEGATING_METHODS
+};
+
+
+/* Object interface: IAccessible2_2, ver. 0.0,
+ GUID={0x6C9430E9,0x299D,0x4E6F,{0xBD,0x01,0xA8,0x2A,0x1E,0x88,0xD3,0xFF}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessible2_2_FormatStringOffsetTable[] =
+ {
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ 472,
+ 510,
+ 554,
+ 604,
+ 642,
+ 680,
+ 730,
+ 780,
+ 818,
+ 856,
+ 894,
+ 932,
+ 982,
+ 1032,
+ 1070,
+ 1108,
+ 1146,
+ 1184,
+ 1222,
+ 1266,
+ 1310
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessible2_2_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessible2_2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessible2_2_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessible2_2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(49) _IAccessible2_2ProxyVtbl =
+{
+ &IAccessible2_2_ProxyInfo,
+ &IID_IAccessible2_2,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ 0 /* IDispatch::GetTypeInfoCount */ ,
+ 0 /* IDispatch::GetTypeInfo */ ,
+ 0 /* IDispatch::GetIDsOfNames */ ,
+ 0 /* IDispatch_Invoke_Proxy */ ,
+ 0 /* IAccessible::get_accParent */ ,
+ 0 /* IAccessible::get_accChildCount */ ,
+ 0 /* IAccessible::get_accChild */ ,
+ 0 /* IAccessible::get_accName */ ,
+ 0 /* IAccessible::get_accValue */ ,
+ 0 /* IAccessible::get_accDescription */ ,
+ 0 /* IAccessible::get_accRole */ ,
+ 0 /* IAccessible::get_accState */ ,
+ 0 /* IAccessible::get_accHelp */ ,
+ 0 /* IAccessible::get_accHelpTopic */ ,
+ 0 /* IAccessible::get_accKeyboardShortcut */ ,
+ 0 /* IAccessible::get_accFocus */ ,
+ 0 /* IAccessible::get_accSelection */ ,
+ 0 /* IAccessible::get_accDefaultAction */ ,
+ 0 /* IAccessible::accSelect */ ,
+ 0 /* IAccessible::accLocation */ ,
+ 0 /* IAccessible::accNavigate */ ,
+ 0 /* IAccessible::accHitTest */ ,
+ 0 /* IAccessible::accDoDefaultAction */ ,
+ 0 /* IAccessible::put_accName */ ,
+ 0 /* IAccessible::put_accValue */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::role */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_states */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2_2::get_attribute */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2_2::get_accessibleWithCaret */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2_2::get_relationTargetsOfType */
+};
+
+
+static const PRPC_STUB_FUNCTION IAccessible2_2_table[] =
+{
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2
+};
+
+CInterfaceStubVtbl _IAccessible2_2StubVtbl =
+{
+ &IID_IAccessible2_2,
+ &IAccessible2_2_ServerInfo,
+ 49,
+ &IAccessible2_2_table[-3],
+ CStdStubBuffer_DELEGATING_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0004, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IAccessibleComponent, ver. 0.0,
+ GUID={0x1546D4B0,0x4C98,0x4bda,{0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleComponent_FormatStringOffsetTable[] =
+ {
+ 1366,
+ 1410,
+ 76
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleComponent_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleComponent_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(6) _IAccessibleComponentProxyVtbl =
+{
+ &IAccessibleComponent_ProxyInfo,
+ &IID_IAccessibleComponent,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleComponent::get_locationInParent */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleComponent::get_foreground */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleComponent::get_background */
+};
+
+const CInterfaceStubVtbl _IAccessibleComponentStubVtbl =
+{
+ &IID_IAccessibleComponent,
+ &IAccessibleComponent_ServerInfo,
+ 6,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleValue, ver. 0.0,
+ GUID={0x35855B5B,0xC566,0x4fd0,{0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleValue_FormatStringOffsetTable[] =
+ {
+ 1448,
+ 1486,
+ 1524,
+ 1562
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleValue_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleValue_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleValue_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(7) _IAccessibleValueProxyVtbl =
+{
+ &IAccessibleValue_ProxyInfo,
+ &IID_IAccessibleValue,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleValue::get_currentValue */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleValue::setCurrentValue */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleValue::get_maximumValue */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleValue::get_minimumValue */
+};
+
+const CInterfaceStubVtbl _IAccessibleValueStubVtbl =
+{
+ &IID_IAccessibleValue,
+ &IAccessibleValue_ServerInfo,
+ 7,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0006, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IAccessibleText, ver. 0.0,
+ GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleText_FormatStringOffsetTable[] =
+ {
+ 1600,
+ 1644,
+ 76,
+ 1700,
+ 1768,
+ 1806,
+ 1862,
+ 1912,
+ 1962,
+ 2024,
+ 2086,
+ 2148,
+ 2186,
+ 2224,
+ 2274,
+ 2312,
+ 2362,
+ 2424,
+ 2462
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleText_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleText_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleText_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(22) _IAccessibleTextProxyVtbl =
+{
+ &IAccessibleText_ProxyInfo,
+ &IID_IAccessibleText,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */
+};
+
+const CInterfaceStubVtbl _IAccessibleTextStubVtbl =
+{
+ &IID_IAccessibleText,
+ &IAccessibleText_ServerInfo,
+ 22,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleText2, ver. 0.0,
+ GUID={0x9690A9CC,0x5C80,0x4DF5,{0x85,0x2E,0x2D,0x5A,0xE4,0x18,0x9A,0x54}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleText2_FormatStringOffsetTable[] =
+ {
+ 1600,
+ 1644,
+ 76,
+ 1700,
+ 1768,
+ 1806,
+ 1862,
+ 1912,
+ 1962,
+ 2024,
+ 2086,
+ 2148,
+ 2186,
+ 2224,
+ 2274,
+ 2312,
+ 2362,
+ 2424,
+ 2462,
+ 2500
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleText2_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleText2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleText2_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleText2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(23) _IAccessibleText2ProxyVtbl =
+{
+ &IAccessibleText2_ProxyInfo,
+ &IID_IAccessibleText2,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText2::get_attributeRange */
+};
+
+const CInterfaceStubVtbl _IAccessibleText2StubVtbl =
+{
+ &IID_IAccessibleText2,
+ &IAccessibleText2_ServerInfo,
+ 23,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleEditableText, ver. 0.0,
+ GUID={0xA59AA09A,0x7011,0x4b65,{0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleEditableText_FormatStringOffsetTable[] =
+ {
+ 1600,
+ 2562,
+ 2606,
+ 2650,
+ 2694,
+ 2732,
+ 2782
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleEditableText_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleEditableText_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(10) _IAccessibleEditableTextProxyVtbl =
+{
+ &IAccessibleEditableText_ProxyInfo,
+ &IID_IAccessibleEditableText,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::copyText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::deleteText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::insertText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::cutText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::pasteText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::replaceText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::setAttributes */
+};
+
+const CInterfaceStubVtbl _IAccessibleEditableTextStubVtbl =
+{
+ &IID_IAccessibleEditableText,
+ &IAccessibleEditableText_ServerInfo,
+ 10,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleHyperlink, ver. 0.0,
+ GUID={0x01C20F2B,0x3DD2,0x400f,{0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleHyperlink_FormatStringOffsetTable[] =
+ {
+ 208,
+ 246,
+ 284,
+ 328,
+ 384,
+ 428,
+ 2832,
+ 2876,
+ 2920,
+ 2958,
+ 2996
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHyperlink_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHyperlink_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(14) _IAccessibleHyperlinkProxyVtbl =
+{
+ &IAccessibleHyperlink_ProxyInfo,
+ &IID_IAccessibleHyperlink,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchor */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchorTarget */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_startIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_endIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_valid */
+};
+
+const CInterfaceStubVtbl _IAccessibleHyperlinkStubVtbl =
+{
+ &IID_IAccessibleHyperlink,
+ &IAccessibleHyperlink_ServerInfo,
+ 14,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleHypertext, ver. 0.0,
+ GUID={0x6B4F8BBF,0xF1F2,0x418a,{0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleHypertext_FormatStringOffsetTable[] =
+ {
+ 1600,
+ 1644,
+ 76,
+ 1700,
+ 1768,
+ 1806,
+ 1862,
+ 1912,
+ 1962,
+ 2024,
+ 2086,
+ 2148,
+ 2186,
+ 2224,
+ 2274,
+ 2312,
+ 2362,
+ 2424,
+ 2462,
+ 3034,
+ 3072,
+ 3116
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHypertext_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHypertext_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(25) _IAccessibleHypertextProxyVtbl =
+{
+ &IAccessibleHypertext_ProxyInfo,
+ &IID_IAccessibleHypertext,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */
+};
+
+const CInterfaceStubVtbl _IAccessibleHypertextStubVtbl =
+{
+ &IID_IAccessibleHypertext,
+ &IAccessibleHypertext_ServerInfo,
+ 25,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleHypertext2, ver. 0.0,
+ GUID={0xCF64D89F,0x8287,0x4B44,{0x85,0x01,0xA8,0x27,0x45,0x3A,0x60,0x77}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleHypertext2_FormatStringOffsetTable[] =
+ {
+ 1600,
+ 1644,
+ 76,
+ 1700,
+ 1768,
+ 1806,
+ 1862,
+ 1912,
+ 1962,
+ 2024,
+ 2086,
+ 2148,
+ 2186,
+ 2224,
+ 2274,
+ 2312,
+ 2362,
+ 2424,
+ 2462,
+ 3034,
+ 3072,
+ 3116,
+ 3160
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext2_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHypertext2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleHypertext2_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHypertext2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(26) _IAccessibleHypertext2ProxyVtbl =
+{
+ &IAccessibleHypertext2_ProxyInfo,
+ &IID_IAccessibleHypertext2,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext2::get_hyperlinks */
+};
+
+const CInterfaceStubVtbl _IAccessibleHypertext2StubVtbl =
+{
+ &IID_IAccessibleHypertext2,
+ &IAccessibleHypertext2_ServerInfo,
+ 26,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleTable, ver. 0.0,
+ GUID={0x35AD8070,0xC20C,0x4fb4,{0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleTable_FormatStringOffsetTable[] =
+ {
+ 3204,
+ 3254,
+ 3292,
+ 3342,
+ 3386,
+ 3436,
+ 3480,
+ 3524,
+ 2920,
+ 2958,
+ 3562,
+ 3600,
+ 3638,
+ 3682,
+ 3732,
+ 3776,
+ 3820,
+ 3870,
+ 3920,
+ 3970,
+ 4008,
+ 4052,
+ 4096,
+ 4146,
+ 4184,
+ 4222,
+ 4260,
+ 4298,
+ 4366
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTable_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleTable_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTable_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(32) _IAccessibleTableProxyVtbl =
+{
+ &IAccessibleTable_ProxyInfo,
+ &IID_IAccessibleTable,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_accessibleAt */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_caption */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_childIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnDescription */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnExtentAt */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnHeader */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_nColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_nRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedChildren */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowDescription */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowExtentAt */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowHeader */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedChildren */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_summary */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_isColumnSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_isRowSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_isSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::selectRow */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::selectColumn */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::unselectRow */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::unselectColumn */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowColumnExtentsAtIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_modelChange */
+};
+
+const CInterfaceStubVtbl _IAccessibleTableStubVtbl =
+{
+ &IID_IAccessibleTable,
+ &IAccessibleTable_ServerInfo,
+ 32,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleTable2, ver. 0.0,
+ GUID={0x6167f295,0x06f0,0x4cdd,{0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleTable2_FormatStringOffsetTable[] =
+ {
+ 3204,
+ 3254,
+ 284,
+ 4404,
+ 1768,
+ 4442,
+ 4480,
+ 3524,
+ 4518,
+ 4562,
+ 4606,
+ 4650,
+ 4694,
+ 4732,
+ 4776,
+ 4820,
+ 4858,
+ 4896,
+ 4934,
+ 4972
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTable2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTable2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(23) _IAccessibleTable2ProxyVtbl =
+{
+ &IAccessibleTable2_ProxyInfo,
+ &IID_IAccessibleTable2,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_cellAt */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_caption */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_columnDescription */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedCells */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_rowDescription */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedCells */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_summary */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isColumnSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isRowSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::selectRow */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::selectColumn */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectRow */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectColumn */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_modelChange */
+};
+
+const CInterfaceStubVtbl _IAccessibleTable2StubVtbl =
+{
+ &IID_IAccessibleTable2,
+ &IAccessibleTable2_ServerInfo,
+ 23,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleTableCell, ver. 0.0,
+ GUID={0x594116B1,0xC99F,0x4847,{0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleTableCell_FormatStringOffsetTable[] =
+ {
+ 208,
+ 5010,
+ 76,
+ 4404,
+ 5054,
+ 4442,
+ 5098,
+ 5136,
+ 5198
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTableCell_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTableCell_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(12) _IAccessibleTableCellProxyVtbl =
+{
+ &IAccessibleTableCell_ProxyInfo,
+ &IID_IAccessibleTableCell,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnExtent */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnHeaderCells */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowExtent */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowHeaderCells */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_isSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowColumnExtents */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_table */
+};
+
+const CInterfaceStubVtbl _IAccessibleTableCellStubVtbl =
+{
+ &IID_IAccessibleTableCell,
+ &IAccessibleTableCell_ServerInfo,
+ 12,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleImage, ver. 0.0,
+ GUID={0xFE5ABB3D,0x615E,0x4f7b,{0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleImage_FormatStringOffsetTable[] =
+ {
+ 0,
+ 5236,
+ 5286
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleImage_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleImage_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleImage_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(6) _IAccessibleImageProxyVtbl =
+{
+ &IAccessibleImage_ProxyInfo,
+ &IID_IAccessibleImage,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleImage::get_description */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleImage::get_imagePosition */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleImage::get_imageSize */
+};
+
+const CInterfaceStubVtbl _IAccessibleImageStubVtbl =
+{
+ &IID_IAccessibleImage,
+ &IAccessibleImage_ServerInfo,
+ 6,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0016, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IAccessibleApplication, ver. 0.0,
+ GUID={0xD49DED83,0x5B25,0x43F4,{0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleApplication_FormatStringOffsetTable[] =
+ {
+ 0,
+ 38,
+ 5330,
+ 5368
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleApplication_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleApplication_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(7) _IAccessibleApplicationProxyVtbl =
+{
+ &IAccessibleApplication_ProxyInfo,
+ &IID_IAccessibleApplication,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appName */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appVersion */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitName */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitVersion */
+};
+
+const CInterfaceStubVtbl _IAccessibleApplicationStubVtbl =
+{
+ &IID_IAccessibleApplication,
+ &IAccessibleApplication_ServerInfo,
+ 7,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleDocument, ver. 0.0,
+ GUID={0xC48C7FCF,0x4AB5,0x4056,{0xAF,0xA6,0x90,0x2D,0x6E,0x1D,0x11,0x49}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleDocument_FormatStringOffsetTable[] =
+ {
+ 5406
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleDocument_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleDocument_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleDocument_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleDocument_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(4) _IAccessibleDocumentProxyVtbl =
+{
+ &IAccessibleDocument_ProxyInfo,
+ &IID_IAccessibleDocument,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleDocument::get_anchorTarget */
+};
+
+const CInterfaceStubVtbl _IAccessibleDocumentStubVtbl =
+{
+ &IID_IAccessibleDocument,
+ &IAccessibleDocument_ServerInfo,
+ 4,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0018, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+static const MIDL_STUB_DESC Object_StubDesc =
+ {
+ 0,
+ NdrOleAllocate,
+ NdrOleFree,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ ia2_api_all__MIDL_TypeFormatString.Format,
+ 1, /* -error bounds_check flag */
+ 0x50002, /* Ndr library version */
+ 0,
+ 0x700022b, /* MIDL Version 7.0.555 */
+ 0,
+ UserMarshalRoutines,
+ 0, /* notify & notify_flag routine table */
+ 0x1, /* MIDL flag */
+ 0, /* cs routines */
+ 0, /* proxy/server info */
+ 0
+ };
+
+const CInterfaceProxyVtbl * const _ia2_api_all_ProxyVtblList[] =
+{
+ ( CInterfaceProxyVtbl *) &_IAccessibleHyperlinkProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleImageProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleActionProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleValueProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessible2ProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleTableProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleApplicationProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleTable2ProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleEditableTextProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleHypertext2ProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleComponentProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleTableCellProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleHypertextProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleText2ProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleDocumentProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessible2_2ProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleRelationProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleTextProxyVtbl,
+ 0
+};
+
+const CInterfaceStubVtbl * const _ia2_api_all_StubVtblList[] =
+{
+ ( CInterfaceStubVtbl *) &_IAccessibleHyperlinkStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleImageStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleActionStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleValueStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessible2StubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleTableStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleApplicationStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleTable2StubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleEditableTextStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleHypertext2StubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleComponentStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleTableCellStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleHypertextStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleText2StubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleDocumentStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessible2_2StubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleRelationStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleTextStubVtbl,
+ 0
+};
+
+PCInterfaceName const _ia2_api_all_InterfaceNamesList[] =
+{
+ "IAccessibleHyperlink",
+ "IAccessibleImage",
+ "IAccessibleAction",
+ "IAccessibleValue",
+ "IAccessible2",
+ "IAccessibleTable",
+ "IAccessibleApplication",
+ "IAccessibleTable2",
+ "IAccessibleEditableText",
+ "IAccessibleHypertext2",
+ "IAccessibleComponent",
+ "IAccessibleTableCell",
+ "IAccessibleHypertext",
+ "IAccessibleText2",
+ "IAccessibleDocument",
+ "IAccessible2_2",
+ "IAccessibleRelation",
+ "IAccessibleText",
+ 0
+};
+
+const IID * const _ia2_api_all_BaseIIDList[] =
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ &IID_IAccessible,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ &IID_IAccessible,
+ 0,
+ 0,
+ 0
+};
+
+
+#define _ia2_api_all_CHECK_IID(n) IID_GENERIC_CHECK_IID( _ia2_api_all, pIID, n)
+
+int __stdcall _ia2_api_all_IID_Lookup( const IID * pIID, int * pIndex )
+{
+ IID_BS_LOOKUP_SETUP
+
+ IID_BS_LOOKUP_INITIAL_TEST( _ia2_api_all, 18, 16 )
+ IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 8 )
+ IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 4 )
+ IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 2 )
+ IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 1 )
+ IID_BS_LOOKUP_RETURN_RESULT( _ia2_api_all, 18, *pIndex )
+
+}
+
+const ExtendedProxyFileInfo ia2_api_all_ProxyFileInfo =
+{
+ (PCInterfaceProxyVtblList *) & _ia2_api_all_ProxyVtblList,
+ (PCInterfaceStubVtblList *) & _ia2_api_all_StubVtblList,
+ (const PCInterfaceName * ) & _ia2_api_all_InterfaceNamesList,
+ (const IID ** ) & _ia2_api_all_BaseIIDList,
+ & _ia2_api_all_IID_Lookup,
+ 18,
+ 2,
+ 0, /* table of [async_uuid] interfaces */
+ 0, /* Filler1 */
+ 0, /* Filler2 */
+ 0 /* Filler3 */
+};
+#if _MSC_VER >= 1200
+#pragma warning(pop)
+#endif
+
+
+#endif /* defined(_M_AMD64)*/
+
diff --git a/src/3rdparty/iaccessible2/generated/x86/Accessible2.h b/src/3rdparty/iaccessible2/generated/x86/Accessible2.h
deleted file mode 100644
index dcf13c0d32..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/Accessible2.h
+++ /dev/null
@@ -1,585 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:51 2012
- */
-/* Compiler settings for Accessible2.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __Accessible2_h__
-#define __Accessible2_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessible2_FWD_DEFINED__
-#define __IAccessible2_FWD_DEFINED__
-typedef interface IAccessible2 IAccessible2;
-#endif /* __IAccessible2_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "AccessibleRelation.h"
-#include "AccessibleStates.h"
-#include "IA2CommonTypes.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_Accessible2_0000_0000 */
-/* [local] */
-
-typedef struct IA2Locale
- {
- BSTR language;
- BSTR country;
- BSTR variant;
- } IA2Locale;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_Accessible2_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_Accessible2_0000_0000_v0_0_s_ifspec;
-
-#ifndef __IAccessible2_INTERFACE_DEFINED__
-#define __IAccessible2_INTERFACE_DEFINED__
-
-/* interface IAccessible2 */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessible2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("E89F726E-C4F4-4c19-BB19-B647D7FA8478")
- IAccessible2 : public IAccessible
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRelations(
- /* [retval][out] */ long *nRelations) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relation(
- /* [in] */ long relationIndex,
- /* [retval][out] */ IAccessibleRelation **relation) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relations(
- /* [in] */ long maxRelations,
- /* [length_is][size_is][out] */ IAccessibleRelation **relations,
- /* [retval][out] */ long *nRelations) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE role(
- /* [retval][out] */ long *role) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE scrollTo(
- /* [in] */ enum IA2ScrollType scrollType) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE scrollToPoint(
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [in] */ long x,
- /* [in] */ long y) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_groupPosition(
- /* [out] */ long *groupLevel,
- /* [out] */ long *similarItemsInGroup,
- /* [retval][out] */ long *positionInGroup) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_states(
- /* [retval][out] */ AccessibleStates *states) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedRole(
- /* [retval][out] */ BSTR *extendedRole) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedRole(
- /* [retval][out] */ BSTR *localizedExtendedRole) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nExtendedStates(
- /* [retval][out] */ long *nExtendedStates) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedStates(
- /* [in] */ long maxExtendedStates,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
- /* [retval][out] */ long *nExtendedStates) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedStates(
- /* [in] */ long maxLocalizedExtendedStates,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
- /* [retval][out] */ long *nLocalizedExtendedStates) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID(
- /* [retval][out] */ long *uniqueID) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_windowHandle(
- /* [retval][out] */ HWND *windowHandle) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_indexInParent(
- /* [retval][out] */ long *indexInParent) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locale(
- /* [retval][out] */ IA2Locale *locale) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes(
- /* [retval][out] */ BSTR *attributes) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessible2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessible2 * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessible2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessible2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
- IAccessible2 * This,
- /* [out] */ UINT *pctinfo);
-
- HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
- IAccessible2 * This,
- /* [in] */ UINT iTInfo,
- /* [in] */ LCID lcid,
- /* [out] */ ITypeInfo **ppTInfo);
-
- HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
- IAccessible2 * This,
- /* [in] */ REFIID riid,
- /* [size_is][in] */ LPOLESTR *rgszNames,
- /* [range][in] */ UINT cNames,
- /* [in] */ LCID lcid,
- /* [size_is][out] */ DISPID *rgDispId);
-
- /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
- IAccessible2 * This,
- /* [in] */ DISPID dispIdMember,
- /* [in] */ REFIID riid,
- /* [in] */ LCID lcid,
- /* [in] */ WORD wFlags,
- /* [out][in] */ DISPPARAMS *pDispParams,
- /* [out] */ VARIANT *pVarResult,
- /* [out] */ EXCEPINFO *pExcepInfo,
- /* [out] */ UINT *puArgErr);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )(
- IAccessible2 * This,
- /* [retval][out] */ IDispatch **ppdispParent);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )(
- IAccessible2 * This,
- /* [retval][out] */ long *pcountChildren);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )(
- IAccessible2 * This,
- /* [in] */ VARIANT varChild,
- /* [retval][out] */ IDispatch **ppdispChild);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszName);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszValue);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszDescription);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ VARIANT *pvarRole);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ VARIANT *pvarState);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszHelp);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )(
- IAccessible2 * This,
- /* [out] */ BSTR *pszHelpFile,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ long *pidTopic);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszKeyboardShortcut);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )(
- IAccessible2 * This,
- /* [retval][out] */ VARIANT *pvarChild);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )(
- IAccessible2 * This,
- /* [retval][out] */ VARIANT *pvarChildren);
-
- /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [retval][out] */ BSTR *pszDefaultAction);
-
- /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )(
- IAccessible2 * This,
- /* [in] */ long flagsSelect,
- /* [optional][in] */ VARIANT varChild);
-
- /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )(
- IAccessible2 * This,
- /* [out] */ long *pxLeft,
- /* [out] */ long *pyTop,
- /* [out] */ long *pcxWidth,
- /* [out] */ long *pcyHeight,
- /* [optional][in] */ VARIANT varChild);
-
- /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )(
- IAccessible2 * This,
- /* [in] */ long navDir,
- /* [optional][in] */ VARIANT varStart,
- /* [retval][out] */ VARIANT *pvarEndUpAt);
-
- /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )(
- IAccessible2 * This,
- /* [in] */ long xLeft,
- /* [in] */ long yTop,
- /* [retval][out] */ VARIANT *pvarChild);
-
- /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild);
-
- /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [in] */ BSTR szName);
-
- /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )(
- IAccessible2 * This,
- /* [optional][in] */ VARIANT varChild,
- /* [in] */ BSTR szValue);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )(
- IAccessible2 * This,
- /* [retval][out] */ long *nRelations);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )(
- IAccessible2 * This,
- /* [in] */ long relationIndex,
- /* [retval][out] */ IAccessibleRelation **relation);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )(
- IAccessible2 * This,
- /* [in] */ long maxRelations,
- /* [length_is][size_is][out] */ IAccessibleRelation **relations,
- /* [retval][out] */ long *nRelations);
-
- HRESULT ( STDMETHODCALLTYPE *role )(
- IAccessible2 * This,
- /* [retval][out] */ long *role);
-
- HRESULT ( STDMETHODCALLTYPE *scrollTo )(
- IAccessible2 * This,
- /* [in] */ enum IA2ScrollType scrollType);
-
- HRESULT ( STDMETHODCALLTYPE *scrollToPoint )(
- IAccessible2 * This,
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [in] */ long x,
- /* [in] */ long y);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )(
- IAccessible2 * This,
- /* [out] */ long *groupLevel,
- /* [out] */ long *similarItemsInGroup,
- /* [retval][out] */ long *positionInGroup);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )(
- IAccessible2 * This,
- /* [retval][out] */ AccessibleStates *states);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )(
- IAccessible2 * This,
- /* [retval][out] */ BSTR *extendedRole);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )(
- IAccessible2 * This,
- /* [retval][out] */ BSTR *localizedExtendedRole);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )(
- IAccessible2 * This,
- /* [retval][out] */ long *nExtendedStates);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )(
- IAccessible2 * This,
- /* [in] */ long maxExtendedStates,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
- /* [retval][out] */ long *nExtendedStates);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )(
- IAccessible2 * This,
- /* [in] */ long maxLocalizedExtendedStates,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
- /* [retval][out] */ long *nLocalizedExtendedStates);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )(
- IAccessible2 * This,
- /* [retval][out] */ long *uniqueID);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )(
- IAccessible2 * This,
- /* [retval][out] */ HWND *windowHandle);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )(
- IAccessible2 * This,
- /* [retval][out] */ long *indexInParent);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )(
- IAccessible2 * This,
- /* [retval][out] */ IA2Locale *locale);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
- IAccessible2 * This,
- /* [retval][out] */ BSTR *attributes);
-
- END_INTERFACE
- } IAccessible2Vtbl;
-
- interface IAccessible2
- {
- CONST_VTBL struct IAccessible2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessible2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessible2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessible2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessible2_GetTypeInfoCount(This,pctinfo) \
- ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
-
-#define IAccessible2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
- ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
-
-#define IAccessible2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
- ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
-
-#define IAccessible2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
- ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
-
-
-#define IAccessible2_get_accParent(This,ppdispParent) \
- ( (This)->lpVtbl -> get_accParent(This,ppdispParent) )
-
-#define IAccessible2_get_accChildCount(This,pcountChildren) \
- ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) )
-
-#define IAccessible2_get_accChild(This,varChild,ppdispChild) \
- ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) )
-
-#define IAccessible2_get_accName(This,varChild,pszName) \
- ( (This)->lpVtbl -> get_accName(This,varChild,pszName) )
-
-#define IAccessible2_get_accValue(This,varChild,pszValue) \
- ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) )
-
-#define IAccessible2_get_accDescription(This,varChild,pszDescription) \
- ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) )
-
-#define IAccessible2_get_accRole(This,varChild,pvarRole) \
- ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) )
-
-#define IAccessible2_get_accState(This,varChild,pvarState) \
- ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) )
-
-#define IAccessible2_get_accHelp(This,varChild,pszHelp) \
- ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) )
-
-#define IAccessible2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \
- ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) )
-
-#define IAccessible2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \
- ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) )
-
-#define IAccessible2_get_accFocus(This,pvarChild) \
- ( (This)->lpVtbl -> get_accFocus(This,pvarChild) )
-
-#define IAccessible2_get_accSelection(This,pvarChildren) \
- ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) )
-
-#define IAccessible2_get_accDefaultAction(This,varChild,pszDefaultAction) \
- ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) )
-
-#define IAccessible2_accSelect(This,flagsSelect,varChild) \
- ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) )
-
-#define IAccessible2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \
- ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) )
-
-#define IAccessible2_accNavigate(This,navDir,varStart,pvarEndUpAt) \
- ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) )
-
-#define IAccessible2_accHitTest(This,xLeft,yTop,pvarChild) \
- ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) )
-
-#define IAccessible2_accDoDefaultAction(This,varChild) \
- ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) )
-
-#define IAccessible2_put_accName(This,varChild,szName) \
- ( (This)->lpVtbl -> put_accName(This,varChild,szName) )
-
-#define IAccessible2_put_accValue(This,varChild,szValue) \
- ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) )
-
-
-#define IAccessible2_get_nRelations(This,nRelations) \
- ( (This)->lpVtbl -> get_nRelations(This,nRelations) )
-
-#define IAccessible2_get_relation(This,relationIndex,relation) \
- ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) )
-
-#define IAccessible2_get_relations(This,maxRelations,relations,nRelations) \
- ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) )
-
-#define IAccessible2_role(This,role) \
- ( (This)->lpVtbl -> role(This,role) )
-
-#define IAccessible2_scrollTo(This,scrollType) \
- ( (This)->lpVtbl -> scrollTo(This,scrollType) )
-
-#define IAccessible2_scrollToPoint(This,coordinateType,x,y) \
- ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) )
-
-#define IAccessible2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \
- ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) )
-
-#define IAccessible2_get_states(This,states) \
- ( (This)->lpVtbl -> get_states(This,states) )
-
-#define IAccessible2_get_extendedRole(This,extendedRole) \
- ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) )
-
-#define IAccessible2_get_localizedExtendedRole(This,localizedExtendedRole) \
- ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) )
-
-#define IAccessible2_get_nExtendedStates(This,nExtendedStates) \
- ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) )
-
-#define IAccessible2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \
- ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) )
-
-#define IAccessible2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \
- ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) )
-
-#define IAccessible2_get_uniqueID(This,uniqueID) \
- ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) )
-
-#define IAccessible2_get_windowHandle(This,windowHandle) \
- ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) )
-
-#define IAccessible2_get_indexInParent(This,indexInParent) \
- ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) )
-
-#define IAccessible2_get_locale(This,locale) \
- ( (This)->lpVtbl -> get_locale(This,locale) )
-
-#define IAccessible2_get_attributes(This,attributes) \
- ( (This)->lpVtbl -> get_attributes(This,attributes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessible2_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * );
-unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * );
-unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
-void __RPC_USER HWND_UserFree( unsigned long *, HWND * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/Accessible2_i.c b/src/3rdparty/iaccessible2/generated/x86/Accessible2_i.c
deleted file mode 100644
index df0f94063e..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/Accessible2_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:51 2012
- */
-/* Compiler settings for Accessible2.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessible2,0xE89F726E,0xC4F4,0x4c19,0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/Accessible2_p.c b/src/3rdparty/iaccessible2/generated/x86/Accessible2_p.c
deleted file mode 100644
index abb5883868..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/Accessible2_p.c
+++ /dev/null
@@ -1,1190 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:51 2012
- */
-/* Compiler settings for Accessible2.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "Accessible2.h"
-
-#define TYPE_FORMAT_STRING_SIZE 189
-#define PROC_FORMAT_STRING_SIZE 715
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 2
-
-typedef struct _Accessible2_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } Accessible2_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _Accessible2_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } Accessible2_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _Accessible2_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } Accessible2_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const Accessible2_MIDL_TYPE_FORMAT_STRING Accessible2__MIDL_TypeFormatString;
-extern const Accessible2_MIDL_PROC_FORMAT_STRING Accessible2__MIDL_ProcFormatString;
-extern const Accessible2_MIDL_EXPR_FORMAT_STRING Accessible2__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessible2_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const Accessible2_MIDL_PROC_FORMAT_STRING Accessible2__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_nRelations */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x1c ), /* 28 */
-/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x24 ), /* 36 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nRelations */
-
-/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_relation */
-
-/* 36 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 38 */ NdrFcLong( 0x0 ), /* 0 */
-/* 42 */ NdrFcShort( 0x1d ), /* 29 */
-/* 44 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 46 */ NdrFcShort( 0x8 ), /* 8 */
-/* 48 */ NdrFcShort( 0x8 ), /* 8 */
-/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 52 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 54 */ NdrFcShort( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter relationIndex */
-
-/* 60 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 64 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter relation */
-
-/* 66 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 70 */ NdrFcShort( 0x6 ), /* Type Offset=6 */
-
- /* Return value */
-
-/* 72 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 74 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 76 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_relations */
-
-/* 78 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 80 */ NdrFcLong( 0x0 ), /* 0 */
-/* 84 */ NdrFcShort( 0x1e ), /* 30 */
-/* 86 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 88 */ NdrFcShort( 0x8 ), /* 8 */
-/* 90 */ NdrFcShort( 0x24 ), /* 36 */
-/* 92 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 94 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 96 */ NdrFcShort( 0x1 ), /* 1 */
-/* 98 */ NdrFcShort( 0x0 ), /* 0 */
-/* 100 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxRelations */
-
-/* 102 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 104 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 106 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter relations */
-
-/* 108 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */
-/* 110 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 112 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Parameter nRelations */
-
-/* 114 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 116 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 122 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure role */
-
-/* 126 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 128 */ NdrFcLong( 0x0 ), /* 0 */
-/* 132 */ NdrFcShort( 0x1f ), /* 31 */
-/* 134 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 136 */ NdrFcShort( 0x0 ), /* 0 */
-/* 138 */ NdrFcShort( 0x24 ), /* 36 */
-/* 140 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 142 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 144 */ NdrFcShort( 0x0 ), /* 0 */
-/* 146 */ NdrFcShort( 0x0 ), /* 0 */
-/* 148 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter role */
-
-/* 150 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 152 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 154 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 156 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 158 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 160 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure scrollTo */
-
-/* 162 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 164 */ NdrFcLong( 0x0 ), /* 0 */
-/* 168 */ NdrFcShort( 0x20 ), /* 32 */
-/* 170 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 172 */ NdrFcShort( 0x6 ), /* 6 */
-/* 174 */ NdrFcShort( 0x8 ), /* 8 */
-/* 176 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 178 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 180 */ NdrFcShort( 0x0 ), /* 0 */
-/* 182 */ NdrFcShort( 0x0 ), /* 0 */
-/* 184 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter scrollType */
-
-/* 186 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 188 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 190 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 194 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 196 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure scrollToPoint */
-
-/* 198 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 200 */ NdrFcLong( 0x0 ), /* 0 */
-/* 204 */ NdrFcShort( 0x21 ), /* 33 */
-/* 206 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 208 */ NdrFcShort( 0x16 ), /* 22 */
-/* 210 */ NdrFcShort( 0x8 ), /* 8 */
-/* 212 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 214 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 216 */ NdrFcShort( 0x0 ), /* 0 */
-/* 218 */ NdrFcShort( 0x0 ), /* 0 */
-/* 220 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter coordinateType */
-
-/* 222 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 224 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 226 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter x */
-
-/* 228 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 230 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 232 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 234 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 236 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 238 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 240 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 242 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 244 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_groupPosition */
-
-/* 246 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 248 */ NdrFcLong( 0x0 ), /* 0 */
-/* 252 */ NdrFcShort( 0x22 ), /* 34 */
-/* 254 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 256 */ NdrFcShort( 0x0 ), /* 0 */
-/* 258 */ NdrFcShort( 0x5c ), /* 92 */
-/* 260 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 262 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 264 */ NdrFcShort( 0x0 ), /* 0 */
-/* 266 */ NdrFcShort( 0x0 ), /* 0 */
-/* 268 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter groupLevel */
-
-/* 270 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 272 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 274 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter similarItemsInGroup */
-
-/* 276 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 278 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 280 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter positionInGroup */
-
-/* 282 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 284 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 286 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 288 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 290 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 292 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_states */
-
-/* 294 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 296 */ NdrFcLong( 0x0 ), /* 0 */
-/* 300 */ NdrFcShort( 0x23 ), /* 35 */
-/* 302 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 304 */ NdrFcShort( 0x0 ), /* 0 */
-/* 306 */ NdrFcShort( 0x24 ), /* 36 */
-/* 308 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 310 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 312 */ NdrFcShort( 0x0 ), /* 0 */
-/* 314 */ NdrFcShort( 0x0 ), /* 0 */
-/* 316 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter states */
-
-/* 318 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 320 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 322 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 324 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 326 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 328 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_extendedRole */
-
-/* 330 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 332 */ NdrFcLong( 0x0 ), /* 0 */
-/* 336 */ NdrFcShort( 0x24 ), /* 36 */
-/* 338 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 340 */ NdrFcShort( 0x0 ), /* 0 */
-/* 342 */ NdrFcShort( 0x8 ), /* 8 */
-/* 344 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 346 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 348 */ NdrFcShort( 0x1 ), /* 1 */
-/* 350 */ NdrFcShort( 0x0 ), /* 0 */
-/* 352 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter extendedRole */
-
-/* 354 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 356 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 358 */ NdrFcShort( 0x54 ), /* Type Offset=84 */
-
- /* Return value */
-
-/* 360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 362 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 364 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_localizedExtendedRole */
-
-/* 366 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 368 */ NdrFcLong( 0x0 ), /* 0 */
-/* 372 */ NdrFcShort( 0x25 ), /* 37 */
-/* 374 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 376 */ NdrFcShort( 0x0 ), /* 0 */
-/* 378 */ NdrFcShort( 0x8 ), /* 8 */
-/* 380 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 382 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 384 */ NdrFcShort( 0x1 ), /* 1 */
-/* 386 */ NdrFcShort( 0x0 ), /* 0 */
-/* 388 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter localizedExtendedRole */
-
-/* 390 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 392 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 394 */ NdrFcShort( 0x54 ), /* Type Offset=84 */
-
- /* Return value */
-
-/* 396 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 398 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 400 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nExtendedStates */
-
-/* 402 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 404 */ NdrFcLong( 0x0 ), /* 0 */
-/* 408 */ NdrFcShort( 0x26 ), /* 38 */
-/* 410 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 412 */ NdrFcShort( 0x0 ), /* 0 */
-/* 414 */ NdrFcShort( 0x24 ), /* 36 */
-/* 416 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 418 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 420 */ NdrFcShort( 0x0 ), /* 0 */
-/* 422 */ NdrFcShort( 0x0 ), /* 0 */
-/* 424 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nExtendedStates */
-
-/* 426 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 428 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 430 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 432 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 434 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 436 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_extendedStates */
-
-/* 438 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 440 */ NdrFcLong( 0x0 ), /* 0 */
-/* 444 */ NdrFcShort( 0x27 ), /* 39 */
-/* 446 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 448 */ NdrFcShort( 0x8 ), /* 8 */
-/* 450 */ NdrFcShort( 0x24 ), /* 36 */
-/* 452 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 454 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 456 */ NdrFcShort( 0x1 ), /* 1 */
-/* 458 */ NdrFcShort( 0x0 ), /* 0 */
-/* 460 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxExtendedStates */
-
-/* 462 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 464 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 466 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter extendedStates */
-
-/* 468 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 470 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 472 */ NdrFcShort( 0x5e ), /* Type Offset=94 */
-
- /* Parameter nExtendedStates */
-
-/* 474 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 476 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 478 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 480 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 482 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 484 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_localizedExtendedStates */
-
-/* 486 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 488 */ NdrFcLong( 0x0 ), /* 0 */
-/* 492 */ NdrFcShort( 0x28 ), /* 40 */
-/* 494 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 496 */ NdrFcShort( 0x8 ), /* 8 */
-/* 498 */ NdrFcShort( 0x24 ), /* 36 */
-/* 500 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 502 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 504 */ NdrFcShort( 0x1 ), /* 1 */
-/* 506 */ NdrFcShort( 0x0 ), /* 0 */
-/* 508 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxLocalizedExtendedStates */
-
-/* 510 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 512 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 514 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter localizedExtendedStates */
-
-/* 516 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 518 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 520 */ NdrFcShort( 0x5e ), /* Type Offset=94 */
-
- /* Parameter nLocalizedExtendedStates */
-
-/* 522 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 524 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 526 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 528 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 530 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 532 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_uniqueID */
-
-/* 534 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 536 */ NdrFcLong( 0x0 ), /* 0 */
-/* 540 */ NdrFcShort( 0x29 ), /* 41 */
-/* 542 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 544 */ NdrFcShort( 0x0 ), /* 0 */
-/* 546 */ NdrFcShort( 0x24 ), /* 36 */
-/* 548 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 550 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 552 */ NdrFcShort( 0x0 ), /* 0 */
-/* 554 */ NdrFcShort( 0x0 ), /* 0 */
-/* 556 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter uniqueID */
-
-/* 558 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 560 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 562 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 564 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 566 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 568 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_windowHandle */
-
-/* 570 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 572 */ NdrFcLong( 0x0 ), /* 0 */
-/* 576 */ NdrFcShort( 0x2a ), /* 42 */
-/* 578 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 580 */ NdrFcShort( 0x0 ), /* 0 */
-/* 582 */ NdrFcShort( 0x8 ), /* 8 */
-/* 584 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 586 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 588 */ NdrFcShort( 0x1 ), /* 1 */
-/* 590 */ NdrFcShort( 0x0 ), /* 0 */
-/* 592 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter windowHandle */
-
-/* 594 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 596 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 598 */ NdrFcShort( 0x98 ), /* Type Offset=152 */
-
- /* Return value */
-
-/* 600 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 602 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 604 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_indexInParent */
-
-/* 606 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 608 */ NdrFcLong( 0x0 ), /* 0 */
-/* 612 */ NdrFcShort( 0x2b ), /* 43 */
-/* 614 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 616 */ NdrFcShort( 0x0 ), /* 0 */
-/* 618 */ NdrFcShort( 0x24 ), /* 36 */
-/* 620 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 622 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 624 */ NdrFcShort( 0x0 ), /* 0 */
-/* 626 */ NdrFcShort( 0x0 ), /* 0 */
-/* 628 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter indexInParent */
-
-/* 630 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 632 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 634 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 636 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 638 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 640 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_locale */
-
-/* 642 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 644 */ NdrFcLong( 0x0 ), /* 0 */
-/* 648 */ NdrFcShort( 0x2c ), /* 44 */
-/* 650 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 652 */ NdrFcShort( 0x0 ), /* 0 */
-/* 654 */ NdrFcShort( 0x8 ), /* 8 */
-/* 656 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 658 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 660 */ NdrFcShort( 0x1 ), /* 1 */
-/* 662 */ NdrFcShort( 0x0 ), /* 0 */
-/* 664 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter locale */
-
-/* 666 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
-/* 668 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 670 */ NdrFcShort( 0xa6 ), /* Type Offset=166 */
-
- /* Return value */
-
-/* 672 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 674 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 676 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_attributes */
-
-/* 678 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 680 */ NdrFcLong( 0x0 ), /* 0 */
-/* 684 */ NdrFcShort( 0x2d ), /* 45 */
-/* 686 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 688 */ NdrFcShort( 0x0 ), /* 0 */
-/* 690 */ NdrFcShort( 0x8 ), /* 8 */
-/* 692 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 694 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 696 */ NdrFcShort( 0x1 ), /* 1 */
-/* 698 */ NdrFcShort( 0x0 ), /* 0 */
-/* 700 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter attributes */
-
-/* 702 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 704 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 706 */ NdrFcShort( 0x54 ), /* Type Offset=84 */
-
- /* Return value */
-
-/* 708 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 710 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 712 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const Accessible2_MIDL_TYPE_FORMAT_STRING Accessible2__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 6 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */
-/* 10 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 12 */ NdrFcLong( 0x7cdf86ee ), /* 2095023854 */
-/* 16 */ NdrFcShort( 0xc3da ), /* -15398 */
-/* 18 */ NdrFcShort( 0x496a ), /* 18794 */
-/* 20 */ 0xbd, /* 189 */
- 0xa4, /* 164 */
-/* 22 */ 0x28, /* 40 */
- 0x1b, /* 27 */
-/* 24 */ 0x33, /* 51 */
- 0x6e, /* 110 */
-/* 26 */ 0x1f, /* 31 */
- 0xdc, /* 220 */
-/* 28 */
- 0x11, 0x0, /* FC_RP */
-/* 30 */ NdrFcShort( 0x2 ), /* Offset= 2 (32) */
-/* 32 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x0, /* */
-/* 38 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 40 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 42 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 46 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 48 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 50 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (10) */
-/* 52 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 54 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 56 */ NdrFcShort( 0x1c ), /* Offset= 28 (84) */
-/* 58 */
- 0x13, 0x0, /* FC_OP */
-/* 60 */ NdrFcShort( 0xe ), /* Offset= 14 (74) */
-/* 62 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 64 */ NdrFcShort( 0x2 ), /* 2 */
-/* 66 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 68 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 70 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 72 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 74 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 76 */ NdrFcShort( 0x8 ), /* 8 */
-/* 78 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (62) */
-/* 80 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 82 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 84 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 86 */ NdrFcShort( 0x0 ), /* 0 */
-/* 88 */ NdrFcShort( 0x4 ), /* 4 */
-/* 90 */ NdrFcShort( 0x0 ), /* 0 */
-/* 92 */ NdrFcShort( 0xffde ), /* Offset= -34 (58) */
-/* 94 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */
-/* 98 */
- 0x13, 0x0, /* FC_OP */
-/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */
-/* 102 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 104 */ NdrFcShort( 0x0 ), /* 0 */
-/* 106 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x0, /* */
-/* 108 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 110 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 112 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 114 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 116 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 118 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 120 */ NdrFcShort( 0xffdc ), /* Offset= -36 (84) */
-/* 122 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 124 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 126 */ NdrFcShort( 0x1a ), /* Offset= 26 (152) */
-/* 128 */
- 0x13, 0x0, /* FC_OP */
-/* 130 */ NdrFcShort( 0x2 ), /* Offset= 2 (132) */
-/* 132 */
- 0x2a, /* FC_ENCAPSULATED_UNION */
- 0x48, /* 72 */
-/* 134 */ NdrFcShort( 0x4 ), /* 4 */
-/* 136 */ NdrFcShort( 0x2 ), /* 2 */
-/* 138 */ NdrFcLong( 0x48746457 ), /* 1215587415 */
-/* 142 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 144 */ NdrFcLong( 0x52746457 ), /* 1383359575 */
-/* 148 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 150 */ NdrFcShort( 0xffff ), /* Offset= -1 (149) */
-/* 152 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 154 */ NdrFcShort( 0x1 ), /* 1 */
-/* 156 */ NdrFcShort( 0x4 ), /* 4 */
-/* 158 */ NdrFcShort( 0x0 ), /* 0 */
-/* 160 */ NdrFcShort( 0xffe0 ), /* Offset= -32 (128) */
-/* 162 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 164 */ NdrFcShort( 0x2 ), /* Offset= 2 (166) */
-/* 166 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 168 */ NdrFcShort( 0xc ), /* 12 */
-/* 170 */ NdrFcShort( 0x0 ), /* 0 */
-/* 172 */ NdrFcShort( 0x0 ), /* Offset= 0 (172) */
-/* 174 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 176 */ NdrFcShort( 0xffa4 ), /* Offset= -92 (84) */
-/* 178 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 180 */ NdrFcShort( 0xffa0 ), /* Offset= -96 (84) */
-/* 182 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 184 */ NdrFcShort( 0xff9c ), /* Offset= -100 (84) */
-/* 186 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- },
- {
- HWND_UserSize
- ,HWND_UserMarshal
- ,HWND_UserUnmarshal
- ,HWND_UserFree
- }
-
- };
-
-
-
-/* Standard interface: __MIDL_itf_Accessible2_0000_0000, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IDispatch, ver. 0.0,
- GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessible, ver. 0.0,
- GUID={0x618736e0,0x3c3d,0x11cf,{0x81,0x0c,0x00,0xaa,0x00,0x38,0x9b,0x71}} */
-
-
-/* Object interface: IAccessible2, ver. 0.0,
- GUID={0xE89F726E,0xC4F4,0x4c19,{0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessible2_FormatStringOffsetTable[] =
- {
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- 0,
- 36,
- 78,
- 126,
- 162,
- 198,
- 246,
- 294,
- 330,
- 366,
- 402,
- 438,
- 486,
- 534,
- 570,
- 606,
- 642,
- 678
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo =
- {
- &Object_StubDesc,
- Accessible2__MIDL_ProcFormatString.Format,
- &IAccessible2_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessible2_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- Accessible2__MIDL_ProcFormatString.Format,
- &IAccessible2_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(46) _IAccessible2ProxyVtbl =
-{
- &IAccessible2_ProxyInfo,
- &IID_IAccessible2,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- 0 /* IDispatch::GetTypeInfoCount */ ,
- 0 /* IDispatch::GetTypeInfo */ ,
- 0 /* IDispatch::GetIDsOfNames */ ,
- 0 /* IDispatch_Invoke_Proxy */ ,
- 0 /* IAccessible::get_accParent */ ,
- 0 /* IAccessible::get_accChildCount */ ,
- 0 /* IAccessible::get_accChild */ ,
- 0 /* IAccessible::get_accName */ ,
- 0 /* IAccessible::get_accValue */ ,
- 0 /* IAccessible::get_accDescription */ ,
- 0 /* IAccessible::get_accRole */ ,
- 0 /* IAccessible::get_accState */ ,
- 0 /* IAccessible::get_accHelp */ ,
- 0 /* IAccessible::get_accHelpTopic */ ,
- 0 /* IAccessible::get_accKeyboardShortcut */ ,
- 0 /* IAccessible::get_accFocus */ ,
- 0 /* IAccessible::get_accSelection */ ,
- 0 /* IAccessible::get_accDefaultAction */ ,
- 0 /* IAccessible::accSelect */ ,
- 0 /* IAccessible::accLocation */ ,
- 0 /* IAccessible::accNavigate */ ,
- 0 /* IAccessible::accHitTest */ ,
- 0 /* IAccessible::accDoDefaultAction */ ,
- 0 /* IAccessible::put_accName */ ,
- 0 /* IAccessible::put_accValue */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::role */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_states */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ ,
- (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */
-};
-
-
-static const PRPC_STUB_FUNCTION IAccessible2_table[] =
-{
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2
-};
-
-CInterfaceStubVtbl _IAccessible2StubVtbl =
-{
- &IID_IAccessible2,
- &IAccessible2_ServerInfo,
- 46,
- &IAccessible2_table[-3],
- CStdStubBuffer_DELEGATING_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- Accessible2__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _Accessible2_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessible2ProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _Accessible2_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessible2StubVtbl,
- 0
-};
-
-PCInterfaceName const _Accessible2_InterfaceNamesList[] =
-{
- "IAccessible2",
- 0
-};
-
-const IID * const _Accessible2_BaseIIDList[] =
-{
- &IID_IAccessible,
- 0
-};
-
-
-#define _Accessible2_CHECK_IID(n) IID_GENERIC_CHECK_IID( _Accessible2, pIID, n)
-
-int __stdcall _Accessible2_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_Accessible2_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo Accessible2_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _Accessible2_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _Accessible2_StubVtblList,
- (const PCInterfaceName * ) & _Accessible2_InterfaceNamesList,
- (const IID ** ) & _Accessible2_BaseIIDList,
- & _Accessible2_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleAction.h
deleted file mode 100644
index c1ebabb899..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction.h
+++ /dev/null
@@ -1,220 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:51 2012
- */
-/* Compiler settings for AccessibleAction.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleAction_h__
-#define __AccessibleAction_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleAction_FWD_DEFINED__
-#define __IAccessibleAction_FWD_DEFINED__
-typedef interface IAccessibleAction IAccessibleAction;
-#endif /* __IAccessibleAction_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleAction_INTERFACE_DEFINED__
-#define __IAccessibleAction_INTERFACE_DEFINED__
-
-/* interface IAccessibleAction */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleAction;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("B70D9F59-3B5A-4dba-AB9E-22012F607DF5")
- IAccessibleAction : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE nActions(
- /* [retval][out] */ long *nActions) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE doAction(
- /* [in] */ long actionIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description(
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_keyBinding(
- /* [in] */ long actionIndex,
- /* [in] */ long nMaxBindings,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
- /* [retval][out] */ long *nBindings) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_name(
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *name) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedName(
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *localizedName) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleActionVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleAction * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleAction * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleAction * This);
-
- HRESULT ( STDMETHODCALLTYPE *nActions )(
- IAccessibleAction * This,
- /* [retval][out] */ long *nActions);
-
- HRESULT ( STDMETHODCALLTYPE *doAction )(
- IAccessibleAction * This,
- /* [in] */ long actionIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
- IAccessibleAction * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )(
- IAccessibleAction * This,
- /* [in] */ long actionIndex,
- /* [in] */ long nMaxBindings,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
- /* [retval][out] */ long *nBindings);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
- IAccessibleAction * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *name);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )(
- IAccessibleAction * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *localizedName);
-
- END_INTERFACE
- } IAccessibleActionVtbl;
-
- interface IAccessibleAction
- {
- CONST_VTBL struct IAccessibleActionVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleAction_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleAction_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleAction_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleAction_nActions(This,nActions) \
- ( (This)->lpVtbl -> nActions(This,nActions) )
-
-#define IAccessibleAction_doAction(This,actionIndex) \
- ( (This)->lpVtbl -> doAction(This,actionIndex) )
-
-#define IAccessibleAction_get_description(This,actionIndex,description) \
- ( (This)->lpVtbl -> get_description(This,actionIndex,description) )
-
-#define IAccessibleAction_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \
- ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) )
-
-#define IAccessibleAction_get_name(This,actionIndex,name) \
- ( (This)->lpVtbl -> get_name(This,actionIndex,name) )
-
-#define IAccessibleAction_get_localizedName(This,actionIndex,localizedName) \
- ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleAction_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_i.c
deleted file mode 100644
index ea097ef5d6..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:51 2012
- */
-/* Compiler settings for AccessibleAction.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleAction,0xB70D9F59,0x3B5A,0x4dba,0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_p.c
deleted file mode 100644
index 41854575bd..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_p.c
+++ /dev/null
@@ -1,563 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:51 2012
- */
-/* Compiler settings for AccessibleAction.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleAction.h"
-
-#define TYPE_FORMAT_STRING_SIZE 77
-#define PROC_FORMAT_STRING_SIZE 253
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleAction_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleAction_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleAction_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleAction_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleAction_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleAction_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleAction_MIDL_TYPE_FORMAT_STRING AccessibleAction__MIDL_TypeFormatString;
-extern const AccessibleAction_MIDL_PROC_FORMAT_STRING AccessibleAction__MIDL_ProcFormatString;
-extern const AccessibleAction_MIDL_EXPR_FORMAT_STRING AccessibleAction__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleAction_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleAction_MIDL_PROC_FORMAT_STRING AccessibleAction__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure nActions */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x24 ), /* 36 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nActions */
-
-/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure doAction */
-
-/* 36 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 38 */ NdrFcLong( 0x0 ), /* 0 */
-/* 42 */ NdrFcShort( 0x4 ), /* 4 */
-/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 46 */ NdrFcShort( 0x8 ), /* 8 */
-/* 48 */ NdrFcShort( 0x8 ), /* 8 */
-/* 50 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 52 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 54 */ NdrFcShort( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter actionIndex */
-
-/* 60 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 64 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 70 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_description */
-
-/* 72 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 74 */ NdrFcLong( 0x0 ), /* 0 */
-/* 78 */ NdrFcShort( 0x5 ), /* 5 */
-/* 80 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 82 */ NdrFcShort( 0x8 ), /* 8 */
-/* 84 */ NdrFcShort( 0x8 ), /* 8 */
-/* 86 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 88 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 90 */ NdrFcShort( 0x1 ), /* 1 */
-/* 92 */ NdrFcShort( 0x0 ), /* 0 */
-/* 94 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter actionIndex */
-
-/* 96 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 100 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter description */
-
-/* 102 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 106 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 110 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_keyBinding */
-
-/* 114 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 116 */ NdrFcLong( 0x0 ), /* 0 */
-/* 120 */ NdrFcShort( 0x6 ), /* 6 */
-/* 122 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
-/* 124 */ NdrFcShort( 0x10 ), /* 16 */
-/* 126 */ NdrFcShort( 0x24 ), /* 36 */
-/* 128 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x5, /* 5 */
-/* 130 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 132 */ NdrFcShort( 0x1 ), /* 1 */
-/* 134 */ NdrFcShort( 0x0 ), /* 0 */
-/* 136 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter actionIndex */
-
-/* 138 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 140 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 142 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter nMaxBindings */
-
-/* 144 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 146 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 148 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter keyBindings */
-
-/* 150 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 152 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 154 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
-
- /* Parameter nBindings */
-
-/* 156 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 158 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 160 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 162 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 164 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 166 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_name */
-
-/* 168 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 170 */ NdrFcLong( 0x0 ), /* 0 */
-/* 174 */ NdrFcShort( 0x7 ), /* 7 */
-/* 176 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 178 */ NdrFcShort( 0x8 ), /* 8 */
-/* 180 */ NdrFcShort( 0x8 ), /* 8 */
-/* 182 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 184 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 186 */ NdrFcShort( 0x1 ), /* 1 */
-/* 188 */ NdrFcShort( 0x0 ), /* 0 */
-/* 190 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter actionIndex */
-
-/* 192 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 194 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 196 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter name */
-
-/* 198 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 200 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 202 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 204 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 206 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 208 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_localizedName */
-
-/* 210 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 212 */ NdrFcLong( 0x0 ), /* 0 */
-/* 216 */ NdrFcShort( 0x8 ), /* 8 */
-/* 218 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 220 */ NdrFcShort( 0x8 ), /* 8 */
-/* 222 */ NdrFcShort( 0x8 ), /* 8 */
-/* 224 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 226 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 228 */ NdrFcShort( 0x1 ), /* 1 */
-/* 230 */ NdrFcShort( 0x0 ), /* 0 */
-/* 232 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter actionIndex */
-
-/* 234 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 236 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 238 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter localizedName */
-
-/* 240 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 242 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 244 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 246 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 248 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 250 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleAction_MIDL_TYPE_FORMAT_STRING AccessibleAction__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 6 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 8 */ NdrFcShort( 0x1c ), /* Offset= 28 (36) */
-/* 10 */
- 0x13, 0x0, /* FC_OP */
-/* 12 */ NdrFcShort( 0xe ), /* Offset= 14 (26) */
-/* 14 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 16 */ NdrFcShort( 0x2 ), /* 2 */
-/* 18 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 20 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 22 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 24 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 26 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 28 */ NdrFcShort( 0x8 ), /* 8 */
-/* 30 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (14) */
-/* 32 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 34 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 36 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0x4 ), /* 4 */
-/* 42 */ NdrFcShort( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0xffde ), /* Offset= -34 (10) */
-/* 46 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */
-/* 50 */
- 0x13, 0x0, /* FC_OP */
-/* 52 */ NdrFcShort( 0x2 ), /* Offset= 2 (54) */
-/* 54 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x0, /* */
-/* 60 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 62 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 64 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 66 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 68 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 70 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 72 */ NdrFcShort( 0xffdc ), /* Offset= -36 (36) */
-/* 74 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleAction, ver. 0.0,
- GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleAction_FormatStringOffsetTable[] =
- {
- 0,
- 36,
- 72,
- 114,
- 168,
- 210
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleAction__MIDL_ProcFormatString.Format,
- &IAccessibleAction_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleAction_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleAction__MIDL_ProcFormatString.Format,
- &IAccessibleAction_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(9) _IAccessibleActionProxyVtbl =
-{
- &IAccessibleAction_ProxyInfo,
- &IID_IAccessibleAction,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ ,
- (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */
-};
-
-const CInterfaceStubVtbl _IAccessibleActionStubVtbl =
-{
- &IID_IAccessibleAction,
- &IAccessibleAction_ServerInfo,
- 9,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleAction__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleAction_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleActionProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleAction_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleActionStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleAction_InterfaceNamesList[] =
-{
- "IAccessibleAction",
- 0
-};
-
-
-#define _AccessibleAction_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleAction, pIID, n)
-
-int __stdcall _AccessibleAction_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleAction_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleAction_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleAction_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleAction_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleAction_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleAction_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication.h
deleted file mode 100644
index e14096869c..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication.h
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:52 2012
- */
-/* Compiler settings for AccessibleApplication.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleApplication_h__
-#define __AccessibleApplication_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleApplication_FWD_DEFINED__
-#define __IAccessibleApplication_FWD_DEFINED__
-typedef interface IAccessibleApplication IAccessibleApplication;
-#endif /* __IAccessibleApplication_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleApplication_INTERFACE_DEFINED__
-#define __IAccessibleApplication_INTERFACE_DEFINED__
-
-/* interface IAccessibleApplication */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleApplication;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("D49DED83-5B25-43F4-9B95-93B44595979E")
- IAccessibleApplication : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appName(
- /* [retval][out] */ BSTR *name) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appVersion(
- /* [retval][out] */ BSTR *version) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitName(
- /* [retval][out] */ BSTR *name) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitVersion(
- /* [retval][out] */ BSTR *version) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleApplicationVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleApplication * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleApplication * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleApplication * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appName )(
- IAccessibleApplication * This,
- /* [retval][out] */ BSTR *name);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appVersion )(
- IAccessibleApplication * This,
- /* [retval][out] */ BSTR *version);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitName )(
- IAccessibleApplication * This,
- /* [retval][out] */ BSTR *name);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitVersion )(
- IAccessibleApplication * This,
- /* [retval][out] */ BSTR *version);
-
- END_INTERFACE
- } IAccessibleApplicationVtbl;
-
- interface IAccessibleApplication
- {
- CONST_VTBL struct IAccessibleApplicationVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleApplication_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleApplication_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleApplication_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleApplication_get_appName(This,name) \
- ( (This)->lpVtbl -> get_appName(This,name) )
-
-#define IAccessibleApplication_get_appVersion(This,version) \
- ( (This)->lpVtbl -> get_appVersion(This,version) )
-
-#define IAccessibleApplication_get_toolkitName(This,name) \
- ( (This)->lpVtbl -> get_toolkitName(This,name) )
-
-#define IAccessibleApplication_get_toolkitVersion(This,version) \
- ( (This)->lpVtbl -> get_toolkitVersion(This,version) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleApplication_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_i.c
deleted file mode 100644
index daa0c1f7d3..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:52 2012
- */
-/* Compiler settings for AccessibleApplication.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleApplication,0xD49DED83,0x5B25,0x43F4,0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_p.c
deleted file mode 100644
index 4e51a63fff..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_p.c
+++ /dev/null
@@ -1,428 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:52 2012
- */
-/* Compiler settings for AccessibleApplication.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleApplication.h"
-
-#define TYPE_FORMAT_STRING_SIZE 43
-#define PROC_FORMAT_STRING_SIZE 145
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleApplication_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleApplication_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleApplication_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleApplication_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleApplication_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleApplication_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleApplication_MIDL_TYPE_FORMAT_STRING AccessibleApplication__MIDL_TypeFormatString;
-extern const AccessibleApplication_MIDL_PROC_FORMAT_STRING AccessibleApplication__MIDL_ProcFormatString;
-extern const AccessibleApplication_MIDL_EXPR_FORMAT_STRING AccessibleApplication__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleApplication_MIDL_PROC_FORMAT_STRING AccessibleApplication__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_appName */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 18 */ NdrFcShort( 0x1 ), /* 1 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter name */
-
-/* 24 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_appVersion */
-
-/* 36 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 38 */ NdrFcLong( 0x0 ), /* 0 */
-/* 42 */ NdrFcShort( 0x4 ), /* 4 */
-/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 46 */ NdrFcShort( 0x0 ), /* 0 */
-/* 48 */ NdrFcShort( 0x8 ), /* 8 */
-/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 52 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 54 */ NdrFcShort( 0x1 ), /* 1 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter version */
-
-/* 60 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 64 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 70 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_toolkitName */
-
-/* 72 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 74 */ NdrFcLong( 0x0 ), /* 0 */
-/* 78 */ NdrFcShort( 0x5 ), /* 5 */
-/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 82 */ NdrFcShort( 0x0 ), /* 0 */
-/* 84 */ NdrFcShort( 0x8 ), /* 8 */
-/* 86 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 88 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 90 */ NdrFcShort( 0x1 ), /* 1 */
-/* 92 */ NdrFcShort( 0x0 ), /* 0 */
-/* 94 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter name */
-
-/* 96 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 100 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 106 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_toolkitVersion */
-
-/* 108 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 110 */ NdrFcLong( 0x0 ), /* 0 */
-/* 114 */ NdrFcShort( 0x6 ), /* 6 */
-/* 116 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 118 */ NdrFcShort( 0x0 ), /* 0 */
-/* 120 */ NdrFcShort( 0x8 ), /* 8 */
-/* 122 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 124 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 126 */ NdrFcShort( 0x1 ), /* 1 */
-/* 128 */ NdrFcShort( 0x0 ), /* 0 */
-/* 130 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter version */
-
-/* 132 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 134 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 136 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 138 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 140 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 142 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleApplication_MIDL_TYPE_FORMAT_STRING AccessibleApplication__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */
-/* 6 */
- 0x13, 0x0, /* FC_OP */
-/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */
-/* 10 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 12 */ NdrFcShort( 0x2 ), /* 2 */
-/* 14 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 16 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 20 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 22 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 24 */ NdrFcShort( 0x8 ), /* 8 */
-/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */
-/* 28 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 30 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 32 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ NdrFcShort( 0x4 ), /* 4 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleApplication, ver. 0.0,
- GUID={0xD49DED83,0x5B25,0x43F4,{0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleApplication_FormatStringOffsetTable[] =
- {
- 0,
- 36,
- 72,
- 108
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleApplication__MIDL_ProcFormatString.Format,
- &IAccessibleApplication_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleApplication__MIDL_ProcFormatString.Format,
- &IAccessibleApplication_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(7) _IAccessibleApplicationProxyVtbl =
-{
- &IAccessibleApplication_ProxyInfo,
- &IID_IAccessibleApplication,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appName */ ,
- (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appVersion */ ,
- (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitName */ ,
- (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitVersion */
-};
-
-const CInterfaceStubVtbl _IAccessibleApplicationStubVtbl =
-{
- &IID_IAccessibleApplication,
- &IAccessibleApplication_ServerInfo,
- 7,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleApplication__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleApplication_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleApplicationProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleApplication_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleApplicationStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleApplication_InterfaceNamesList[] =
-{
- "IAccessibleApplication",
- 0
-};
-
-
-#define _AccessibleApplication_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleApplication, pIID, n)
-
-int __stdcall _AccessibleApplication_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleApplication_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleApplication_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleApplication_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleApplication_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleApplication_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleApplication_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent.h
deleted file mode 100644
index a5d6fa625b..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent.h
+++ /dev/null
@@ -1,185 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:52 2012
- */
-/* Compiler settings for AccessibleComponent.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleComponent_h__
-#define __AccessibleComponent_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleComponent_FWD_DEFINED__
-#define __IAccessibleComponent_FWD_DEFINED__
-typedef interface IAccessibleComponent IAccessibleComponent;
-#endif /* __IAccessibleComponent_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleComponent_0000_0000 */
-/* [local] */
-
-typedef long IA2Color;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleComponent_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleComponent_0000_0000_v0_0_s_ifspec;
-
-#ifndef __IAccessibleComponent_INTERFACE_DEFINED__
-#define __IAccessibleComponent_INTERFACE_DEFINED__
-
-/* interface IAccessibleComponent */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleComponent;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1546D4B0-4C98-4bda-89AE-9A64748BDDE4")
- IAccessibleComponent : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locationInParent(
- /* [out] */ long *x,
- /* [retval][out] */ long *y) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_foreground(
- /* [retval][out] */ IA2Color *foreground) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_background(
- /* [retval][out] */ IA2Color *background) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleComponentVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleComponent * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleComponent * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleComponent * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationInParent )(
- IAccessibleComponent * This,
- /* [out] */ long *x,
- /* [retval][out] */ long *y);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_foreground )(
- IAccessibleComponent * This,
- /* [retval][out] */ IA2Color *foreground);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )(
- IAccessibleComponent * This,
- /* [retval][out] */ IA2Color *background);
-
- END_INTERFACE
- } IAccessibleComponentVtbl;
-
- interface IAccessibleComponent
- {
- CONST_VTBL struct IAccessibleComponentVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleComponent_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleComponent_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleComponent_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleComponent_get_locationInParent(This,x,y) \
- ( (This)->lpVtbl -> get_locationInParent(This,x,y) )
-
-#define IAccessibleComponent_get_foreground(This,foreground) \
- ( (This)->lpVtbl -> get_foreground(This,foreground) )
-
-#define IAccessibleComponent_get_background(This,background) \
- ( (This)->lpVtbl -> get_background(This,background) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleComponent_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_i.c
deleted file mode 100644
index b48fee274b..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:52 2012
- */
-/* Compiler settings for AccessibleComponent.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleComponent,0x1546D4B0,0x4C98,0x4bda,0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_p.c
deleted file mode 100644
index 23230ff0ac..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_p.c
+++ /dev/null
@@ -1,369 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:52 2012
- */
-/* Compiler settings for AccessibleComponent.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleComponent.h"
-
-#define TYPE_FORMAT_STRING_SIZE 7
-#define PROC_FORMAT_STRING_SIZE 115
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 0
-
-typedef struct _AccessibleComponent_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleComponent_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleComponent_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleComponent_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleComponent_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleComponent_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleComponent_MIDL_TYPE_FORMAT_STRING AccessibleComponent__MIDL_TypeFormatString;
-extern const AccessibleComponent_MIDL_PROC_FORMAT_STRING AccessibleComponent__MIDL_ProcFormatString;
-extern const AccessibleComponent_MIDL_EXPR_FORMAT_STRING AccessibleComponent__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo;
-
-
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleComponent_MIDL_PROC_FORMAT_STRING AccessibleComponent__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_locationInParent */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x40 ), /* 64 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 16 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter x */
-
-/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 30 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 36 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 40 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_foreground */
-
-/* 42 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 44 */ NdrFcLong( 0x0 ), /* 0 */
-/* 48 */ NdrFcShort( 0x4 ), /* 4 */
-/* 50 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 52 */ NdrFcShort( 0x0 ), /* 0 */
-/* 54 */ NdrFcShort( 0x24 ), /* 36 */
-/* 56 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 58 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-/* 64 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter foreground */
-
-/* 66 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 68 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 70 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 72 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 74 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 76 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_background */
-
-/* 78 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 80 */ NdrFcLong( 0x0 ), /* 0 */
-/* 84 */ NdrFcShort( 0x5 ), /* 5 */
-/* 86 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 88 */ NdrFcShort( 0x0 ), /* 0 */
-/* 90 */ NdrFcShort( 0x24 ), /* 36 */
-/* 92 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 94 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 96 */ NdrFcShort( 0x0 ), /* 0 */
-/* 98 */ NdrFcShort( 0x0 ), /* 0 */
-/* 100 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter background */
-
-/* 102 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 104 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 106 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 110 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleComponent_MIDL_TYPE_FORMAT_STRING AccessibleComponent__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-
- 0x0
- }
- };
-
-
-/* Standard interface: __MIDL_itf_AccessibleComponent_0000_0000, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleComponent, ver. 0.0,
- GUID={0x1546D4B0,0x4C98,0x4bda,{0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleComponent_FormatStringOffsetTable[] =
- {
- 0,
- 42,
- 78
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleComponent__MIDL_ProcFormatString.Format,
- &IAccessibleComponent_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleComponent__MIDL_ProcFormatString.Format,
- &IAccessibleComponent_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(6) _IAccessibleComponentProxyVtbl =
-{
- &IAccessibleComponent_ProxyInfo,
- &IID_IAccessibleComponent,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleComponent::get_locationInParent */ ,
- (void *) (INT_PTR) -1 /* IAccessibleComponent::get_foreground */ ,
- (void *) (INT_PTR) -1 /* IAccessibleComponent::get_background */
-};
-
-const CInterfaceStubVtbl _IAccessibleComponentStubVtbl =
-{
- &IID_IAccessibleComponent,
- &IAccessibleComponent_ServerInfo,
- 6,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleComponent__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- 0,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleComponent_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleComponentProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleComponent_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleComponentStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleComponent_InterfaceNamesList[] =
-{
- "IAccessibleComponent",
- 0
-};
-
-
-#define _AccessibleComponent_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleComponent, pIID, n)
-
-int __stdcall _AccessibleComponent_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleComponent_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleComponent_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleComponent_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleComponent_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleComponent_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleComponent_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText.h
deleted file mode 100644
index 3afeefbac0..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText.h
+++ /dev/null
@@ -1,235 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleEditableText.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleEditableText_h__
-#define __AccessibleEditableText_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleEditableText_FWD_DEFINED__
-#define __IAccessibleEditableText_FWD_DEFINED__
-typedef interface IAccessibleEditableText IAccessibleEditableText;
-#endif /* __IAccessibleEditableText_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "IA2CommonTypes.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleEditableText_INTERFACE_DEFINED__
-#define __IAccessibleEditableText_INTERFACE_DEFINED__
-
-/* interface IAccessibleEditableText */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleEditableText;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("A59AA09A-7011-4b65-939D-32B1FB5547E3")
- IAccessibleEditableText : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE copyText(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE deleteText(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE insertText(
- /* [in] */ long offset,
- /* [in] */ BSTR *text) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE cutText(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE pasteText(
- /* [in] */ long offset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE replaceText(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [in] */ BSTR *text) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE setAttributes(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [in] */ BSTR *attributes) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleEditableTextVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleEditableText * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleEditableText * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleEditableText * This);
-
- HRESULT ( STDMETHODCALLTYPE *copyText )(
- IAccessibleEditableText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- HRESULT ( STDMETHODCALLTYPE *deleteText )(
- IAccessibleEditableText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- HRESULT ( STDMETHODCALLTYPE *insertText )(
- IAccessibleEditableText * This,
- /* [in] */ long offset,
- /* [in] */ BSTR *text);
-
- HRESULT ( STDMETHODCALLTYPE *cutText )(
- IAccessibleEditableText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- HRESULT ( STDMETHODCALLTYPE *pasteText )(
- IAccessibleEditableText * This,
- /* [in] */ long offset);
-
- HRESULT ( STDMETHODCALLTYPE *replaceText )(
- IAccessibleEditableText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [in] */ BSTR *text);
-
- HRESULT ( STDMETHODCALLTYPE *setAttributes )(
- IAccessibleEditableText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [in] */ BSTR *attributes);
-
- END_INTERFACE
- } IAccessibleEditableTextVtbl;
-
- interface IAccessibleEditableText
- {
- CONST_VTBL struct IAccessibleEditableTextVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleEditableText_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleEditableText_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleEditableText_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleEditableText_copyText(This,startOffset,endOffset) \
- ( (This)->lpVtbl -> copyText(This,startOffset,endOffset) )
-
-#define IAccessibleEditableText_deleteText(This,startOffset,endOffset) \
- ( (This)->lpVtbl -> deleteText(This,startOffset,endOffset) )
-
-#define IAccessibleEditableText_insertText(This,offset,text) \
- ( (This)->lpVtbl -> insertText(This,offset,text) )
-
-#define IAccessibleEditableText_cutText(This,startOffset,endOffset) \
- ( (This)->lpVtbl -> cutText(This,startOffset,endOffset) )
-
-#define IAccessibleEditableText_pasteText(This,offset) \
- ( (This)->lpVtbl -> pasteText(This,offset) )
-
-#define IAccessibleEditableText_replaceText(This,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> replaceText(This,startOffset,endOffset,text) )
-
-#define IAccessibleEditableText_setAttributes(This,startOffset,endOffset,attributes) \
- ( (This)->lpVtbl -> setAttributes(This,startOffset,endOffset,attributes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleEditableText_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_i.c
deleted file mode 100644
index c578bf5078..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleEditableText.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleEditableText,0xA59AA09A,0x7011,0x4b65,0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_p.c
deleted file mode 100644
index 28d1e4b333..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_p.c
+++ /dev/null
@@ -1,584 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleEditableText.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleEditableText.h"
-
-#define TYPE_FORMAT_STRING_SIZE 43
-#define PROC_FORMAT_STRING_SIZE 301
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleEditableText_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleEditableText_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleEditableText_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleEditableText_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleEditableText_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleEditableText_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleEditableText_MIDL_TYPE_FORMAT_STRING AccessibleEditableText__MIDL_TypeFormatString;
-extern const AccessibleEditableText_MIDL_PROC_FORMAT_STRING AccessibleEditableText__MIDL_ProcFormatString;
-extern const AccessibleEditableText_MIDL_EXPR_FORMAT_STRING AccessibleEditableText__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleEditableText_MIDL_PROC_FORMAT_STRING AccessibleEditableText__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure copyText */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 10 */ NdrFcShort( 0x10 ), /* 16 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 16 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 24 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 30 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 36 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 40 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure deleteText */
-
-/* 42 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 44 */ NdrFcLong( 0x0 ), /* 0 */
-/* 48 */ NdrFcShort( 0x4 ), /* 4 */
-/* 50 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 52 */ NdrFcShort( 0x10 ), /* 16 */
-/* 54 */ NdrFcShort( 0x8 ), /* 8 */
-/* 56 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 58 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-/* 64 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 66 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 68 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 70 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 72 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 74 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 76 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 82 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure insertText */
-
-/* 84 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 86 */ NdrFcLong( 0x0 ), /* 0 */
-/* 90 */ NdrFcShort( 0x5 ), /* 5 */
-/* 92 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 94 */ NdrFcShort( 0x8 ), /* 8 */
-/* 96 */ NdrFcShort( 0x8 ), /* 8 */
-/* 98 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
- 0x3, /* 3 */
-/* 100 */ 0x8, /* 8 */
- 0x5, /* Ext Flags: new corr desc, srv corr check, */
-/* 102 */ NdrFcShort( 0x0 ), /* 0 */
-/* 104 */ NdrFcShort( 0x1 ), /* 1 */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 108 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 114 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
-/* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 118 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 122 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure cutText */
-
-/* 126 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 128 */ NdrFcLong( 0x0 ), /* 0 */
-/* 132 */ NdrFcShort( 0x6 ), /* 6 */
-/* 134 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 136 */ NdrFcShort( 0x10 ), /* 16 */
-/* 138 */ NdrFcShort( 0x8 ), /* 8 */
-/* 140 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 142 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 144 */ NdrFcShort( 0x0 ), /* 0 */
-/* 146 */ NdrFcShort( 0x0 ), /* 0 */
-/* 148 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 150 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 152 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 154 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 156 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 158 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 160 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 162 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 164 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 166 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure pasteText */
-
-/* 168 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 170 */ NdrFcLong( 0x0 ), /* 0 */
-/* 174 */ NdrFcShort( 0x7 ), /* 7 */
-/* 176 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 178 */ NdrFcShort( 0x8 ), /* 8 */
-/* 180 */ NdrFcShort( 0x8 ), /* 8 */
-/* 182 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 184 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 186 */ NdrFcShort( 0x0 ), /* 0 */
-/* 188 */ NdrFcShort( 0x0 ), /* 0 */
-/* 190 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 192 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 194 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 196 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 198 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 200 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 202 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure replaceText */
-
-/* 204 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 206 */ NdrFcLong( 0x0 ), /* 0 */
-/* 210 */ NdrFcShort( 0x8 ), /* 8 */
-/* 212 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 214 */ NdrFcShort( 0x10 ), /* 16 */
-/* 216 */ NdrFcShort( 0x8 ), /* 8 */
-/* 218 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
- 0x4, /* 4 */
-/* 220 */ 0x8, /* 8 */
- 0x5, /* Ext Flags: new corr desc, srv corr check, */
-/* 222 */ NdrFcShort( 0x0 ), /* 0 */
-/* 224 */ NdrFcShort( 0x1 ), /* 1 */
-/* 226 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 228 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 230 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 232 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 234 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 236 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 238 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 240 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
-/* 242 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 244 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 246 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 248 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 250 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure setAttributes */
-
-/* 252 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 254 */ NdrFcLong( 0x0 ), /* 0 */
-/* 258 */ NdrFcShort( 0x9 ), /* 9 */
-/* 260 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 262 */ NdrFcShort( 0x10 ), /* 16 */
-/* 264 */ NdrFcShort( 0x8 ), /* 8 */
-/* 266 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
- 0x4, /* 4 */
-/* 268 */ 0x8, /* 8 */
- 0x5, /* Ext Flags: new corr desc, srv corr check, */
-/* 270 */ NdrFcShort( 0x0 ), /* 0 */
-/* 272 */ NdrFcShort( 0x1 ), /* 1 */
-/* 274 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 276 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 278 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 280 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 282 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 284 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 286 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter attributes */
-
-/* 288 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
-/* 290 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 292 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 294 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 296 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 298 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleEditableText_MIDL_TYPE_FORMAT_STRING AccessibleEditableText__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x0, /* FC_RP */
-/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */
-/* 6 */
- 0x12, 0x0, /* FC_UP */
-/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */
-/* 10 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 12 */ NdrFcShort( 0x2 ), /* 2 */
-/* 14 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 16 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 20 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 22 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 24 */ NdrFcShort( 0x8 ), /* 8 */
-/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */
-/* 28 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 30 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 32 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ NdrFcShort( 0x4 ), /* 4 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleEditableText, ver. 0.0,
- GUID={0xA59AA09A,0x7011,0x4b65,{0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleEditableText_FormatStringOffsetTable[] =
- {
- 0,
- 42,
- 84,
- 126,
- 168,
- 204,
- 252
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleEditableText__MIDL_ProcFormatString.Format,
- &IAccessibleEditableText_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleEditableText__MIDL_ProcFormatString.Format,
- &IAccessibleEditableText_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(10) _IAccessibleEditableTextProxyVtbl =
-{
- &IAccessibleEditableText_ProxyInfo,
- &IID_IAccessibleEditableText,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::copyText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::deleteText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::insertText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::cutText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::pasteText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::replaceText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleEditableText::setAttributes */
-};
-
-const CInterfaceStubVtbl _IAccessibleEditableTextStubVtbl =
-{
- &IID_IAccessibleEditableText,
- &IAccessibleEditableText_ServerInfo,
- 10,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleEditableText__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleEditableText_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleEditableTextProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleEditableText_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleEditableTextStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleEditableText_InterfaceNamesList[] =
-{
- "IAccessibleEditableText",
- 0
-};
-
-
-#define _AccessibleEditableText_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleEditableText, pIID, n)
-
-int __stdcall _AccessibleEditableText_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleEditableText_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleEditableText_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleEditableText_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleEditableText_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleEditableText_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleEditableText_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleEventID.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleEventID.h
deleted file mode 100644
index 252375d0c6..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleEventID.h
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleEventID.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-
-#ifndef __AccessibleEventID_h__
-#define __AccessibleEventID_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleEventID_0000_0000 */
-/* [local] */
-
-
-enum IA2EventID
- { IA2_EVENT_ACTION_CHANGED = 0x101,
- IA2_EVENT_ACTIVE_DECENDENT_CHANGED = ( IA2_EVENT_ACTION_CHANGED + 1 ) ,
- IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
- IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED = ( IA2_EVENT_ACTIVE_DESCENDANT_CHANGED + 1 ) ,
- IA2_EVENT_DOCUMENT_CONTENT_CHANGED = ( IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED + 1 ) ,
- IA2_EVENT_DOCUMENT_LOAD_COMPLETE = ( IA2_EVENT_DOCUMENT_CONTENT_CHANGED + 1 ) ,
- IA2_EVENT_DOCUMENT_LOAD_STOPPED = ( IA2_EVENT_DOCUMENT_LOAD_COMPLETE + 1 ) ,
- IA2_EVENT_DOCUMENT_RELOAD = ( IA2_EVENT_DOCUMENT_LOAD_STOPPED + 1 ) ,
- IA2_EVENT_HYPERLINK_END_INDEX_CHANGED = ( IA2_EVENT_DOCUMENT_RELOAD + 1 ) ,
- IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED = ( IA2_EVENT_HYPERLINK_END_INDEX_CHANGED + 1 ) ,
- IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED = ( IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED + 1 ) ,
- IA2_EVENT_HYPERTEXT_LINK_ACTIVATED = ( IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED + 1 ) ,
- IA2_EVENT_HYPERTEXT_LINK_SELECTED = ( IA2_EVENT_HYPERTEXT_LINK_ACTIVATED + 1 ) ,
- IA2_EVENT_HYPERLINK_START_INDEX_CHANGED = ( IA2_EVENT_HYPERTEXT_LINK_SELECTED + 1 ) ,
- IA2_EVENT_HYPERTEXT_CHANGED = ( IA2_EVENT_HYPERLINK_START_INDEX_CHANGED + 1 ) ,
- IA2_EVENT_HYPERTEXT_NLINKS_CHANGED = ( IA2_EVENT_HYPERTEXT_CHANGED + 1 ) ,
- IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED = ( IA2_EVENT_HYPERTEXT_NLINKS_CHANGED + 1 ) ,
- IA2_EVENT_PAGE_CHANGED = ( IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED + 1 ) ,
- IA2_EVENT_SECTION_CHANGED = ( IA2_EVENT_PAGE_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_CAPTION_CHANGED = ( IA2_EVENT_SECTION_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_CAPTION_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED = ( IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_MODEL_CHANGED = ( IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_MODEL_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_ROW_HEADER_CHANGED = ( IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED + 1 ) ,
- IA2_EVENT_TABLE_SUMMARY_CHANGED = ( IA2_EVENT_TABLE_ROW_HEADER_CHANGED + 1 ) ,
- IA2_EVENT_TEXT_ATTRIBUTE_CHANGED = ( IA2_EVENT_TABLE_SUMMARY_CHANGED + 1 ) ,
- IA2_EVENT_TEXT_CARET_MOVED = ( IA2_EVENT_TEXT_ATTRIBUTE_CHANGED + 1 ) ,
- IA2_EVENT_TEXT_CHANGED = ( IA2_EVENT_TEXT_CARET_MOVED + 1 ) ,
- IA2_EVENT_TEXT_COLUMN_CHANGED = ( IA2_EVENT_TEXT_CHANGED + 1 ) ,
- IA2_EVENT_TEXT_INSERTED = ( IA2_EVENT_TEXT_COLUMN_CHANGED + 1 ) ,
- IA2_EVENT_TEXT_REMOVED = ( IA2_EVENT_TEXT_INSERTED + 1 ) ,
- IA2_EVENT_TEXT_UPDATED = ( IA2_EVENT_TEXT_REMOVED + 1 ) ,
- IA2_EVENT_TEXT_SELECTION_CHANGED = ( IA2_EVENT_TEXT_UPDATED + 1 ) ,
- IA2_EVENT_VISIBLE_DATA_CHANGED = ( IA2_EVENT_TEXT_SELECTION_CHANGED + 1 )
- } ;
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleEventID_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleEventID_0000_0000_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink.h
deleted file mode 100644
index 858e6bbd9a..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink.h
+++ /dev/null
@@ -1,252 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleHyperlink.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleHyperlink_h__
-#define __AccessibleHyperlink_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleHyperlink_FWD_DEFINED__
-#define __IAccessibleHyperlink_FWD_DEFINED__
-typedef interface IAccessibleHyperlink IAccessibleHyperlink;
-#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "AccessibleAction.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleHyperlink_INTERFACE_DEFINED__
-#define __IAccessibleHyperlink_INTERFACE_DEFINED__
-
-/* interface IAccessibleHyperlink */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleHyperlink;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("01C20F2B-3DD2-400f-949F-AD00BDAB1D41")
- IAccessibleHyperlink : public IAccessibleAction
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchor(
- /* [in] */ long index,
- /* [retval][out] */ VARIANT *anchor) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget(
- /* [in] */ long index,
- /* [retval][out] */ VARIANT *anchorTarget) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_startIndex(
- /* [retval][out] */ long *index) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_endIndex(
- /* [retval][out] */ long *index) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_valid(
- /* [retval][out] */ boolean *valid) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleHyperlinkVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleHyperlink * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleHyperlink * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleHyperlink * This);
-
- HRESULT ( STDMETHODCALLTYPE *nActions )(
- IAccessibleHyperlink * This,
- /* [retval][out] */ long *nActions);
-
- HRESULT ( STDMETHODCALLTYPE *doAction )(
- IAccessibleHyperlink * This,
- /* [in] */ long actionIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
- IAccessibleHyperlink * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )(
- IAccessibleHyperlink * This,
- /* [in] */ long actionIndex,
- /* [in] */ long nMaxBindings,
- /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
- /* [retval][out] */ long *nBindings);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
- IAccessibleHyperlink * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *name);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )(
- IAccessibleHyperlink * This,
- /* [in] */ long actionIndex,
- /* [retval][out] */ BSTR *localizedName);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchor )(
- IAccessibleHyperlink * This,
- /* [in] */ long index,
- /* [retval][out] */ VARIANT *anchor);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )(
- IAccessibleHyperlink * This,
- /* [in] */ long index,
- /* [retval][out] */ VARIANT *anchorTarget);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_startIndex )(
- IAccessibleHyperlink * This,
- /* [retval][out] */ long *index);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_endIndex )(
- IAccessibleHyperlink * This,
- /* [retval][out] */ long *index);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_valid )(
- IAccessibleHyperlink * This,
- /* [retval][out] */ boolean *valid);
-
- END_INTERFACE
- } IAccessibleHyperlinkVtbl;
-
- interface IAccessibleHyperlink
- {
- CONST_VTBL struct IAccessibleHyperlinkVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleHyperlink_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleHyperlink_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleHyperlink_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleHyperlink_nActions(This,nActions) \
- ( (This)->lpVtbl -> nActions(This,nActions) )
-
-#define IAccessibleHyperlink_doAction(This,actionIndex) \
- ( (This)->lpVtbl -> doAction(This,actionIndex) )
-
-#define IAccessibleHyperlink_get_description(This,actionIndex,description) \
- ( (This)->lpVtbl -> get_description(This,actionIndex,description) )
-
-#define IAccessibleHyperlink_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \
- ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) )
-
-#define IAccessibleHyperlink_get_name(This,actionIndex,name) \
- ( (This)->lpVtbl -> get_name(This,actionIndex,name) )
-
-#define IAccessibleHyperlink_get_localizedName(This,actionIndex,localizedName) \
- ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) )
-
-
-#define IAccessibleHyperlink_get_anchor(This,index,anchor) \
- ( (This)->lpVtbl -> get_anchor(This,index,anchor) )
-
-#define IAccessibleHyperlink_get_anchorTarget(This,index,anchorTarget) \
- ( (This)->lpVtbl -> get_anchorTarget(This,index,anchorTarget) )
-
-#define IAccessibleHyperlink_get_startIndex(This,index) \
- ( (This)->lpVtbl -> get_startIndex(This,index) )
-
-#define IAccessibleHyperlink_get_endIndex(This,index) \
- ( (This)->lpVtbl -> get_endIndex(This,index) )
-
-#define IAccessibleHyperlink_get_valid(This,valid) \
- ( (This)->lpVtbl -> get_valid(This,valid) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleHyperlink_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
-unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
-unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
-void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_i.c
deleted file mode 100644
index ef0921fe4c..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleHyperlink.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleHyperlink,0x01C20F2B,0x3DD2,0x400f,0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_p.c
deleted file mode 100644
index c608123261..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_p.c
+++ /dev/null
@@ -1,1191 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleHyperlink.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleHyperlink.h"
-
-#define TYPE_FORMAT_STRING_SIZE 1047
-#define PROC_FORMAT_STRING_SIZE 193
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleHyperlink_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleHyperlink_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING AccessibleHyperlink__MIDL_TypeFormatString;
-extern const AccessibleHyperlink_MIDL_PROC_FORMAT_STRING AccessibleHyperlink__MIDL_ProcFormatString;
-extern const AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING AccessibleHyperlink__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleHyperlink_MIDL_PROC_FORMAT_STRING AccessibleHyperlink__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_anchor */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x9 ), /* 9 */
-/* 8 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 10 */ NdrFcShort( 0x8 ), /* 8 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 16 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 18 */ NdrFcShort( 0x1 ), /* 1 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 24 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter anchor */
-
-/* 30 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ NdrFcShort( 0x404 ), /* Type Offset=1028 */
-
- /* Return value */
-
-/* 36 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 40 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_anchorTarget */
-
-/* 42 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 44 */ NdrFcLong( 0x0 ), /* 0 */
-/* 48 */ NdrFcShort( 0xa ), /* 10 */
-/* 50 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 52 */ NdrFcShort( 0x8 ), /* 8 */
-/* 54 */ NdrFcShort( 0x8 ), /* 8 */
-/* 56 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 58 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 60 */ NdrFcShort( 0x1 ), /* 1 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-/* 64 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 66 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 68 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 70 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter anchorTarget */
-
-/* 72 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
-/* 74 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 76 */ NdrFcShort( 0x404 ), /* Type Offset=1028 */
-
- /* Return value */
-
-/* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 82 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_startIndex */
-
-/* 84 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 86 */ NdrFcLong( 0x0 ), /* 0 */
-/* 90 */ NdrFcShort( 0xb ), /* 11 */
-/* 92 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 94 */ NdrFcShort( 0x0 ), /* 0 */
-/* 96 */ NdrFcShort( 0x24 ), /* 36 */
-/* 98 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 100 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 102 */ NdrFcShort( 0x0 ), /* 0 */
-/* 104 */ NdrFcShort( 0x0 ), /* 0 */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_endIndex */
-
-/* 120 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 122 */ NdrFcLong( 0x0 ), /* 0 */
-/* 126 */ NdrFcShort( 0xc ), /* 12 */
-/* 128 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 130 */ NdrFcShort( 0x0 ), /* 0 */
-/* 132 */ NdrFcShort( 0x24 ), /* 36 */
-/* 134 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 136 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 138 */ NdrFcShort( 0x0 ), /* 0 */
-/* 140 */ NdrFcShort( 0x0 ), /* 0 */
-/* 142 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 144 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 146 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 148 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 150 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 152 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 154 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_valid */
-
-/* 156 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 158 */ NdrFcLong( 0x0 ), /* 0 */
-/* 162 */ NdrFcShort( 0xd ), /* 13 */
-/* 164 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 166 */ NdrFcShort( 0x0 ), /* 0 */
-/* 168 */ NdrFcShort( 0x21 ), /* 33 */
-/* 170 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 172 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 174 */ NdrFcShort( 0x0 ), /* 0 */
-/* 176 */ NdrFcShort( 0x0 ), /* 0 */
-/* 178 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter valid */
-
-/* 180 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 182 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 184 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 186 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 188 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 190 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING AccessibleHyperlink__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 4 */ NdrFcShort( 0x400 ), /* Offset= 1024 (1028) */
-/* 6 */
- 0x13, 0x0, /* FC_OP */
-/* 8 */ NdrFcShort( 0x3e8 ), /* Offset= 1000 (1008) */
-/* 10 */
- 0x2b, /* FC_NON_ENCAPSULATED_UNION */
- 0x9, /* FC_ULONG */
-/* 12 */ 0x7, /* Corr desc: FC_USHORT */
- 0x0, /* */
-/* 14 */ NdrFcShort( 0xfff8 ), /* -8 */
-/* 16 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 18 */ NdrFcShort( 0x2 ), /* Offset= 2 (20) */
-/* 20 */ NdrFcShort( 0x10 ), /* 16 */
-/* 22 */ NdrFcShort( 0x2f ), /* 47 */
-/* 24 */ NdrFcLong( 0x14 ), /* 20 */
-/* 28 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
-/* 30 */ NdrFcLong( 0x3 ), /* 3 */
-/* 34 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 36 */ NdrFcLong( 0x11 ), /* 17 */
-/* 40 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */
-/* 42 */ NdrFcLong( 0x2 ), /* 2 */
-/* 46 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 48 */ NdrFcLong( 0x4 ), /* 4 */
-/* 52 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */
-/* 54 */ NdrFcLong( 0x5 ), /* 5 */
-/* 58 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
-/* 60 */ NdrFcLong( 0xb ), /* 11 */
-/* 64 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 66 */ NdrFcLong( 0xa ), /* 10 */
-/* 70 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 72 */ NdrFcLong( 0x6 ), /* 6 */
-/* 76 */ NdrFcShort( 0xe8 ), /* Offset= 232 (308) */
-/* 78 */ NdrFcLong( 0x7 ), /* 7 */
-/* 82 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
-/* 84 */ NdrFcLong( 0x8 ), /* 8 */
-/* 88 */ NdrFcShort( 0xe2 ), /* Offset= 226 (314) */
-/* 90 */ NdrFcLong( 0xd ), /* 13 */
-/* 94 */ NdrFcShort( 0xf6 ), /* Offset= 246 (340) */
-/* 96 */ NdrFcLong( 0x9 ), /* 9 */
-/* 100 */ NdrFcShort( 0x102 ), /* Offset= 258 (358) */
-/* 102 */ NdrFcLong( 0x2000 ), /* 8192 */
-/* 106 */ NdrFcShort( 0x10e ), /* Offset= 270 (376) */
-/* 108 */ NdrFcLong( 0x24 ), /* 36 */
-/* 112 */ NdrFcShort( 0x336 ), /* Offset= 822 (934) */
-/* 114 */ NdrFcLong( 0x4024 ), /* 16420 */
-/* 118 */ NdrFcShort( 0x330 ), /* Offset= 816 (934) */
-/* 120 */ NdrFcLong( 0x4011 ), /* 16401 */
-/* 124 */ NdrFcShort( 0x32e ), /* Offset= 814 (938) */
-/* 126 */ NdrFcLong( 0x4002 ), /* 16386 */
-/* 130 */ NdrFcShort( 0x32c ), /* Offset= 812 (942) */
-/* 132 */ NdrFcLong( 0x4003 ), /* 16387 */
-/* 136 */ NdrFcShort( 0x32a ), /* Offset= 810 (946) */
-/* 138 */ NdrFcLong( 0x4014 ), /* 16404 */
-/* 142 */ NdrFcShort( 0x328 ), /* Offset= 808 (950) */
-/* 144 */ NdrFcLong( 0x4004 ), /* 16388 */
-/* 148 */ NdrFcShort( 0x326 ), /* Offset= 806 (954) */
-/* 150 */ NdrFcLong( 0x4005 ), /* 16389 */
-/* 154 */ NdrFcShort( 0x324 ), /* Offset= 804 (958) */
-/* 156 */ NdrFcLong( 0x400b ), /* 16395 */
-/* 160 */ NdrFcShort( 0x30e ), /* Offset= 782 (942) */
-/* 162 */ NdrFcLong( 0x400a ), /* 16394 */
-/* 166 */ NdrFcShort( 0x30c ), /* Offset= 780 (946) */
-/* 168 */ NdrFcLong( 0x4006 ), /* 16390 */
-/* 172 */ NdrFcShort( 0x316 ), /* Offset= 790 (962) */
-/* 174 */ NdrFcLong( 0x4007 ), /* 16391 */
-/* 178 */ NdrFcShort( 0x30c ), /* Offset= 780 (958) */
-/* 180 */ NdrFcLong( 0x4008 ), /* 16392 */
-/* 184 */ NdrFcShort( 0x30e ), /* Offset= 782 (966) */
-/* 186 */ NdrFcLong( 0x400d ), /* 16397 */
-/* 190 */ NdrFcShort( 0x30c ), /* Offset= 780 (970) */
-/* 192 */ NdrFcLong( 0x4009 ), /* 16393 */
-/* 196 */ NdrFcShort( 0x30a ), /* Offset= 778 (974) */
-/* 198 */ NdrFcLong( 0x6000 ), /* 24576 */
-/* 202 */ NdrFcShort( 0x308 ), /* Offset= 776 (978) */
-/* 204 */ NdrFcLong( 0x400c ), /* 16396 */
-/* 208 */ NdrFcShort( 0x306 ), /* Offset= 774 (982) */
-/* 210 */ NdrFcLong( 0x10 ), /* 16 */
-/* 214 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */
-/* 216 */ NdrFcLong( 0x12 ), /* 18 */
-/* 220 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 222 */ NdrFcLong( 0x13 ), /* 19 */
-/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 228 */ NdrFcLong( 0x15 ), /* 21 */
-/* 232 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
-/* 234 */ NdrFcLong( 0x16 ), /* 22 */
-/* 238 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 240 */ NdrFcLong( 0x17 ), /* 23 */
-/* 244 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 246 */ NdrFcLong( 0xe ), /* 14 */
-/* 250 */ NdrFcShort( 0x2e4 ), /* Offset= 740 (990) */
-/* 252 */ NdrFcLong( 0x400e ), /* 16398 */
-/* 256 */ NdrFcShort( 0x2e8 ), /* Offset= 744 (1000) */
-/* 258 */ NdrFcLong( 0x4010 ), /* 16400 */
-/* 262 */ NdrFcShort( 0x2e6 ), /* Offset= 742 (1004) */
-/* 264 */ NdrFcLong( 0x4012 ), /* 16402 */
-/* 268 */ NdrFcShort( 0x2a2 ), /* Offset= 674 (942) */
-/* 270 */ NdrFcLong( 0x4013 ), /* 16403 */
-/* 274 */ NdrFcShort( 0x2a0 ), /* Offset= 672 (946) */
-/* 276 */ NdrFcLong( 0x4015 ), /* 16405 */
-/* 280 */ NdrFcShort( 0x29e ), /* Offset= 670 (950) */
-/* 282 */ NdrFcLong( 0x4016 ), /* 16406 */
-/* 286 */ NdrFcShort( 0x294 ), /* Offset= 660 (946) */
-/* 288 */ NdrFcLong( 0x4017 ), /* 16407 */
-/* 292 */ NdrFcShort( 0x28e ), /* Offset= 654 (946) */
-/* 294 */ NdrFcLong( 0x0 ), /* 0 */
-/* 298 */ NdrFcShort( 0x0 ), /* Offset= 0 (298) */
-/* 300 */ NdrFcLong( 0x1 ), /* 1 */
-/* 304 */ NdrFcShort( 0x0 ), /* Offset= 0 (304) */
-/* 306 */ NdrFcShort( 0xffff ), /* Offset= -1 (305) */
-/* 308 */
- 0x15, /* FC_STRUCT */
- 0x7, /* 7 */
-/* 310 */ NdrFcShort( 0x8 ), /* 8 */
-/* 312 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 314 */
- 0x13, 0x0, /* FC_OP */
-/* 316 */ NdrFcShort( 0xe ), /* Offset= 14 (330) */
-/* 318 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 320 */ NdrFcShort( 0x2 ), /* 2 */
-/* 322 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 324 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 326 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 328 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 330 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 332 */ NdrFcShort( 0x8 ), /* 8 */
-/* 334 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (318) */
-/* 336 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 338 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 340 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 342 */ NdrFcLong( 0x0 ), /* 0 */
-/* 346 */ NdrFcShort( 0x0 ), /* 0 */
-/* 348 */ NdrFcShort( 0x0 ), /* 0 */
-/* 350 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 352 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 354 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 356 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 358 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 360 */ NdrFcLong( 0x20400 ), /* 132096 */
-/* 364 */ NdrFcShort( 0x0 ), /* 0 */
-/* 366 */ NdrFcShort( 0x0 ), /* 0 */
-/* 368 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 370 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 372 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 374 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 376 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 378 */ NdrFcShort( 0x2 ), /* Offset= 2 (380) */
-/* 380 */
- 0x13, 0x0, /* FC_OP */
-/* 382 */ NdrFcShort( 0x216 ), /* Offset= 534 (916) */
-/* 384 */
- 0x2a, /* FC_ENCAPSULATED_UNION */
- 0x49, /* 73 */
-/* 386 */ NdrFcShort( 0x18 ), /* 24 */
-/* 388 */ NdrFcShort( 0xa ), /* 10 */
-/* 390 */ NdrFcLong( 0x8 ), /* 8 */
-/* 394 */ NdrFcShort( 0x5a ), /* Offset= 90 (484) */
-/* 396 */ NdrFcLong( 0xd ), /* 13 */
-/* 400 */ NdrFcShort( 0x7e ), /* Offset= 126 (526) */
-/* 402 */ NdrFcLong( 0x9 ), /* 9 */
-/* 406 */ NdrFcShort( 0x9e ), /* Offset= 158 (564) */
-/* 408 */ NdrFcLong( 0xc ), /* 12 */
-/* 412 */ NdrFcShort( 0xc8 ), /* Offset= 200 (612) */
-/* 414 */ NdrFcLong( 0x24 ), /* 36 */
-/* 418 */ NdrFcShort( 0x124 ), /* Offset= 292 (710) */
-/* 420 */ NdrFcLong( 0x800d ), /* 32781 */
-/* 424 */ NdrFcShort( 0x140 ), /* Offset= 320 (744) */
-/* 426 */ NdrFcLong( 0x10 ), /* 16 */
-/* 430 */ NdrFcShort( 0x15a ), /* Offset= 346 (776) */
-/* 432 */ NdrFcLong( 0x2 ), /* 2 */
-/* 436 */ NdrFcShort( 0x174 ), /* Offset= 372 (808) */
-/* 438 */ NdrFcLong( 0x3 ), /* 3 */
-/* 442 */ NdrFcShort( 0x18e ), /* Offset= 398 (840) */
-/* 444 */ NdrFcLong( 0x14 ), /* 20 */
-/* 448 */ NdrFcShort( 0x1a8 ), /* Offset= 424 (872) */
-/* 450 */ NdrFcShort( 0xffff ), /* Offset= -1 (449) */
-/* 452 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 454 */ NdrFcShort( 0x4 ), /* 4 */
-/* 456 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 458 */ NdrFcShort( 0x0 ), /* 0 */
-/* 460 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 462 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 464 */
- 0x48, /* FC_VARIABLE_REPEAT */
- 0x49, /* FC_FIXED_OFFSET */
-/* 466 */ NdrFcShort( 0x4 ), /* 4 */
-/* 468 */ NdrFcShort( 0x0 ), /* 0 */
-/* 470 */ NdrFcShort( 0x1 ), /* 1 */
-/* 472 */ NdrFcShort( 0x0 ), /* 0 */
-/* 474 */ NdrFcShort( 0x0 ), /* 0 */
-/* 476 */ 0x13, 0x0, /* FC_OP */
-/* 478 */ NdrFcShort( 0xff6c ), /* Offset= -148 (330) */
-/* 480 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 482 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 484 */
- 0x16, /* FC_PSTRUCT */
- 0x3, /* 3 */
-/* 486 */ NdrFcShort( 0x8 ), /* 8 */
-/* 488 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 490 */
- 0x46, /* FC_NO_REPEAT */
- 0x5c, /* FC_PAD */
-/* 492 */ NdrFcShort( 0x4 ), /* 4 */
-/* 494 */ NdrFcShort( 0x4 ), /* 4 */
-/* 496 */ 0x11, 0x0, /* FC_RP */
-/* 498 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (452) */
-/* 500 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 502 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 504 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 506 */ NdrFcShort( 0x0 ), /* 0 */
-/* 508 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 510 */ NdrFcShort( 0x0 ), /* 0 */
-/* 512 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 514 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 518 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 520 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 522 */ NdrFcShort( 0xff4a ), /* Offset= -182 (340) */
-/* 524 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 526 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 528 */ NdrFcShort( 0x8 ), /* 8 */
-/* 530 */ NdrFcShort( 0x0 ), /* 0 */
-/* 532 */ NdrFcShort( 0x6 ), /* Offset= 6 (538) */
-/* 534 */ 0x8, /* FC_LONG */
- 0x36, /* FC_POINTER */
-/* 536 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 538 */
- 0x11, 0x0, /* FC_RP */
-/* 540 */ NdrFcShort( 0xffdc ), /* Offset= -36 (504) */
-/* 542 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 544 */ NdrFcShort( 0x0 ), /* 0 */
-/* 546 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 548 */ NdrFcShort( 0x0 ), /* 0 */
-/* 550 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 552 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 556 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 558 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 560 */ NdrFcShort( 0xff36 ), /* Offset= -202 (358) */
-/* 562 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 564 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 566 */ NdrFcShort( 0x8 ), /* 8 */
-/* 568 */ NdrFcShort( 0x0 ), /* 0 */
-/* 570 */ NdrFcShort( 0x6 ), /* Offset= 6 (576) */
-/* 572 */ 0x8, /* FC_LONG */
- 0x36, /* FC_POINTER */
-/* 574 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 576 */
- 0x11, 0x0, /* FC_RP */
-/* 578 */ NdrFcShort( 0xffdc ), /* Offset= -36 (542) */
-/* 580 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 582 */ NdrFcShort( 0x4 ), /* 4 */
-/* 584 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 586 */ NdrFcShort( 0x0 ), /* 0 */
-/* 588 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 590 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 592 */
- 0x48, /* FC_VARIABLE_REPEAT */
- 0x49, /* FC_FIXED_OFFSET */
-/* 594 */ NdrFcShort( 0x4 ), /* 4 */
-/* 596 */ NdrFcShort( 0x0 ), /* 0 */
-/* 598 */ NdrFcShort( 0x1 ), /* 1 */
-/* 600 */ NdrFcShort( 0x0 ), /* 0 */
-/* 602 */ NdrFcShort( 0x0 ), /* 0 */
-/* 604 */ 0x13, 0x0, /* FC_OP */
-/* 606 */ NdrFcShort( 0x192 ), /* Offset= 402 (1008) */
-/* 608 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 610 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 612 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 614 */ NdrFcShort( 0x8 ), /* 8 */
-/* 616 */ NdrFcShort( 0x0 ), /* 0 */
-/* 618 */ NdrFcShort( 0x6 ), /* Offset= 6 (624) */
-/* 620 */ 0x8, /* FC_LONG */
- 0x36, /* FC_POINTER */
-/* 622 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 624 */
- 0x11, 0x0, /* FC_RP */
-/* 626 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (580) */
-/* 628 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 630 */ NdrFcLong( 0x2f ), /* 47 */
-/* 634 */ NdrFcShort( 0x0 ), /* 0 */
-/* 636 */ NdrFcShort( 0x0 ), /* 0 */
-/* 638 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 640 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 642 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 644 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 646 */
- 0x1b, /* FC_CARRAY */
- 0x0, /* 0 */
-/* 648 */ NdrFcShort( 0x1 ), /* 1 */
-/* 650 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 652 */ NdrFcShort( 0x4 ), /* 4 */
-/* 654 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 656 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 658 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 660 */ NdrFcShort( 0x10 ), /* 16 */
-/* 662 */ NdrFcShort( 0x0 ), /* 0 */
-/* 664 */ NdrFcShort( 0xa ), /* Offset= 10 (674) */
-/* 666 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 668 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 670 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (628) */
-/* 672 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 674 */
- 0x13, 0x0, /* FC_OP */
-/* 676 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (646) */
-/* 678 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 680 */ NdrFcShort( 0x4 ), /* 4 */
-/* 682 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 684 */ NdrFcShort( 0x0 ), /* 0 */
-/* 686 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 688 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 690 */
- 0x48, /* FC_VARIABLE_REPEAT */
- 0x49, /* FC_FIXED_OFFSET */
-/* 692 */ NdrFcShort( 0x4 ), /* 4 */
-/* 694 */ NdrFcShort( 0x0 ), /* 0 */
-/* 696 */ NdrFcShort( 0x1 ), /* 1 */
-/* 698 */ NdrFcShort( 0x0 ), /* 0 */
-/* 700 */ NdrFcShort( 0x0 ), /* 0 */
-/* 702 */ 0x13, 0x0, /* FC_OP */
-/* 704 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (658) */
-/* 706 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 708 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 710 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 712 */ NdrFcShort( 0x8 ), /* 8 */
-/* 714 */ NdrFcShort( 0x0 ), /* 0 */
-/* 716 */ NdrFcShort( 0x6 ), /* Offset= 6 (722) */
-/* 718 */ 0x8, /* FC_LONG */
- 0x36, /* FC_POINTER */
-/* 720 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 722 */
- 0x11, 0x0, /* FC_RP */
-/* 724 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (678) */
-/* 726 */
- 0x1d, /* FC_SMFARRAY */
- 0x0, /* 0 */
-/* 728 */ NdrFcShort( 0x8 ), /* 8 */
-/* 730 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 732 */
- 0x15, /* FC_STRUCT */
- 0x3, /* 3 */
-/* 734 */ NdrFcShort( 0x10 ), /* 16 */
-/* 736 */ 0x8, /* FC_LONG */
- 0x6, /* FC_SHORT */
-/* 738 */ 0x6, /* FC_SHORT */
- 0x4c, /* FC_EMBEDDED_COMPLEX */
-/* 740 */ 0x0, /* 0 */
- NdrFcShort( 0xfff1 ), /* Offset= -15 (726) */
- 0x5b, /* FC_END */
-/* 744 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 746 */ NdrFcShort( 0x18 ), /* 24 */
-/* 748 */ NdrFcShort( 0x0 ), /* 0 */
-/* 750 */ NdrFcShort( 0xa ), /* Offset= 10 (760) */
-/* 752 */ 0x8, /* FC_LONG */
- 0x36, /* FC_POINTER */
-/* 754 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 756 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (732) */
-/* 758 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 760 */
- 0x11, 0x0, /* FC_RP */
-/* 762 */ NdrFcShort( 0xfefe ), /* Offset= -258 (504) */
-/* 764 */
- 0x1b, /* FC_CARRAY */
- 0x0, /* 0 */
-/* 766 */ NdrFcShort( 0x1 ), /* 1 */
-/* 768 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 770 */ NdrFcShort( 0x0 ), /* 0 */
-/* 772 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 774 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 776 */
- 0x16, /* FC_PSTRUCT */
- 0x3, /* 3 */
-/* 778 */ NdrFcShort( 0x8 ), /* 8 */
-/* 780 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 782 */
- 0x46, /* FC_NO_REPEAT */
- 0x5c, /* FC_PAD */
-/* 784 */ NdrFcShort( 0x4 ), /* 4 */
-/* 786 */ NdrFcShort( 0x4 ), /* 4 */
-/* 788 */ 0x13, 0x0, /* FC_OP */
-/* 790 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (764) */
-/* 792 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 794 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 796 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 798 */ NdrFcShort( 0x2 ), /* 2 */
-/* 800 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 802 */ NdrFcShort( 0x0 ), /* 0 */
-/* 804 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 806 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 808 */
- 0x16, /* FC_PSTRUCT */
- 0x3, /* 3 */
-/* 810 */ NdrFcShort( 0x8 ), /* 8 */
-/* 812 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 814 */
- 0x46, /* FC_NO_REPEAT */
- 0x5c, /* FC_PAD */
-/* 816 */ NdrFcShort( 0x4 ), /* 4 */
-/* 818 */ NdrFcShort( 0x4 ), /* 4 */
-/* 820 */ 0x13, 0x0, /* FC_OP */
-/* 822 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (796) */
-/* 824 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 826 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 828 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 830 */ NdrFcShort( 0x4 ), /* 4 */
-/* 832 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 834 */ NdrFcShort( 0x0 ), /* 0 */
-/* 836 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 838 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 840 */
- 0x16, /* FC_PSTRUCT */
- 0x3, /* 3 */
-/* 842 */ NdrFcShort( 0x8 ), /* 8 */
-/* 844 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 846 */
- 0x46, /* FC_NO_REPEAT */
- 0x5c, /* FC_PAD */
-/* 848 */ NdrFcShort( 0x4 ), /* 4 */
-/* 850 */ NdrFcShort( 0x4 ), /* 4 */
-/* 852 */ 0x13, 0x0, /* FC_OP */
-/* 854 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (828) */
-/* 856 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 858 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 860 */
- 0x1b, /* FC_CARRAY */
- 0x7, /* 7 */
-/* 862 */ NdrFcShort( 0x8 ), /* 8 */
-/* 864 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 866 */ NdrFcShort( 0x0 ), /* 0 */
-/* 868 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 870 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 872 */
- 0x16, /* FC_PSTRUCT */
- 0x3, /* 3 */
-/* 874 */ NdrFcShort( 0x8 ), /* 8 */
-/* 876 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 878 */
- 0x46, /* FC_NO_REPEAT */
- 0x5c, /* FC_PAD */
-/* 880 */ NdrFcShort( 0x4 ), /* 4 */
-/* 882 */ NdrFcShort( 0x4 ), /* 4 */
-/* 884 */ 0x13, 0x0, /* FC_OP */
-/* 886 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (860) */
-/* 888 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 890 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 892 */
- 0x15, /* FC_STRUCT */
- 0x3, /* 3 */
-/* 894 */ NdrFcShort( 0x8 ), /* 8 */
-/* 896 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 898 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 900 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 902 */ NdrFcShort( 0x8 ), /* 8 */
-/* 904 */ 0x7, /* Corr desc: FC_USHORT */
- 0x0, /* */
-/* 906 */ NdrFcShort( 0xffd8 ), /* -40 */
-/* 908 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 910 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 912 */ NdrFcShort( 0xffec ), /* Offset= -20 (892) */
-/* 914 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 916 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 918 */ NdrFcShort( 0x28 ), /* 40 */
-/* 920 */ NdrFcShort( 0xffec ), /* Offset= -20 (900) */
-/* 922 */ NdrFcShort( 0x0 ), /* Offset= 0 (922) */
-/* 924 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 926 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 928 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 930 */ NdrFcShort( 0xfdde ), /* Offset= -546 (384) */
-/* 932 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 934 */
- 0x13, 0x0, /* FC_OP */
-/* 936 */ NdrFcShort( 0xfeea ), /* Offset= -278 (658) */
-/* 938 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 940 */ 0x1, /* FC_BYTE */
- 0x5c, /* FC_PAD */
-/* 942 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 944 */ 0x6, /* FC_SHORT */
- 0x5c, /* FC_PAD */
-/* 946 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 948 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 950 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 952 */ 0xb, /* FC_HYPER */
- 0x5c, /* FC_PAD */
-/* 954 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 956 */ 0xa, /* FC_FLOAT */
- 0x5c, /* FC_PAD */
-/* 958 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 960 */ 0xc, /* FC_DOUBLE */
- 0x5c, /* FC_PAD */
-/* 962 */
- 0x13, 0x0, /* FC_OP */
-/* 964 */ NdrFcShort( 0xfd70 ), /* Offset= -656 (308) */
-/* 966 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 968 */ NdrFcShort( 0xfd72 ), /* Offset= -654 (314) */
-/* 970 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 972 */ NdrFcShort( 0xfd88 ), /* Offset= -632 (340) */
-/* 974 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 976 */ NdrFcShort( 0xfd96 ), /* Offset= -618 (358) */
-/* 978 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 980 */ NdrFcShort( 0xfda4 ), /* Offset= -604 (376) */
-/* 982 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 984 */ NdrFcShort( 0x2 ), /* Offset= 2 (986) */
-/* 986 */
- 0x13, 0x0, /* FC_OP */
-/* 988 */ NdrFcShort( 0x14 ), /* Offset= 20 (1008) */
-/* 990 */
- 0x15, /* FC_STRUCT */
- 0x7, /* 7 */
-/* 992 */ NdrFcShort( 0x10 ), /* 16 */
-/* 994 */ 0x6, /* FC_SHORT */
- 0x1, /* FC_BYTE */
-/* 996 */ 0x1, /* FC_BYTE */
- 0x8, /* FC_LONG */
-/* 998 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 1000 */
- 0x13, 0x0, /* FC_OP */
-/* 1002 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (990) */
-/* 1004 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 1006 */ 0x2, /* FC_CHAR */
- 0x5c, /* FC_PAD */
-/* 1008 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x7, /* 7 */
-/* 1010 */ NdrFcShort( 0x20 ), /* 32 */
-/* 1012 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1014 */ NdrFcShort( 0x0 ), /* Offset= 0 (1014) */
-/* 1016 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 1018 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 1020 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 1022 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 1024 */ NdrFcShort( 0xfc0a ), /* Offset= -1014 (10) */
-/* 1026 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 1028 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 1030 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1032 */ NdrFcShort( 0x10 ), /* 16 */
-/* 1034 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1036 */ NdrFcShort( 0xfbfa ), /* Offset= -1030 (6) */
-/* 1038 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 1040 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 1042 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 1044 */ 0x3, /* FC_SMALL */
- 0x5c, /* FC_PAD */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- VARIANT_UserSize
- ,VARIANT_UserMarshal
- ,VARIANT_UserUnmarshal
- ,VARIANT_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleAction, ver. 0.0,
- GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */
-
-
-/* Object interface: IAccessibleHyperlink, ver. 0.0,
- GUID={0x01C20F2B,0x3DD2,0x400f,{0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleHyperlink_FormatStringOffsetTable[] =
- {
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- 0,
- 42,
- 84,
- 120,
- 156
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleHyperlink__MIDL_ProcFormatString.Format,
- &IAccessibleHyperlink_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleHyperlink__MIDL_ProcFormatString.Format,
- &IAccessibleHyperlink_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(14) _IAccessibleHyperlinkProxyVtbl =
-{
- &IAccessibleHyperlink_ProxyInfo,
- &IID_IAccessibleHyperlink,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- 0 /* IAccessibleAction::nActions */ ,
- 0 /* IAccessibleAction::doAction */ ,
- 0 /* IAccessibleAction::get_description */ ,
- 0 /* IAccessibleAction::get_keyBinding */ ,
- 0 /* IAccessibleAction::get_name */ ,
- 0 /* IAccessibleAction::get_localizedName */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchor */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchorTarget */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_startIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_endIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_valid */
-};
-
-
-static const PRPC_STUB_FUNCTION IAccessibleHyperlink_table[] =
-{
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2
-};
-
-CInterfaceStubVtbl _IAccessibleHyperlinkStubVtbl =
-{
- &IID_IAccessibleHyperlink,
- &IAccessibleHyperlink_ServerInfo,
- 14,
- &IAccessibleHyperlink_table[-3],
- CStdStubBuffer_DELEGATING_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleHyperlink__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleHyperlink_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleHyperlinkProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleHyperlink_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleHyperlinkStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleHyperlink_InterfaceNamesList[] =
-{
- "IAccessibleHyperlink",
- 0
-};
-
-const IID * const _AccessibleHyperlink_BaseIIDList[] =
-{
- &IID_IAccessibleAction,
- 0
-};
-
-
-#define _AccessibleHyperlink_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleHyperlink, pIID, n)
-
-int __stdcall _AccessibleHyperlink_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleHyperlink_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleHyperlink_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleHyperlink_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleHyperlink_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleHyperlink_InterfaceNamesList,
- (const IID ** ) & _AccessibleHyperlink_BaseIIDList,
- & _AccessibleHyperlink_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext.h
deleted file mode 100644
index 180fb394b6..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext.h
+++ /dev/null
@@ -1,349 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleHypertext.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleHypertext_h__
-#define __AccessibleHypertext_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleHypertext_FWD_DEFINED__
-#define __IAccessibleHypertext_FWD_DEFINED__
-typedef interface IAccessibleHypertext IAccessibleHypertext;
-#endif /* __IAccessibleHypertext_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "AccessibleText.h"
-#include "AccessibleHyperlink.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleHypertext_INTERFACE_DEFINED__
-#define __IAccessibleHypertext_INTERFACE_DEFINED__
-
-/* interface IAccessibleHypertext */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleHypertext;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6B4F8BBF-F1F2-418a-B35E-A195BC4103B9")
- IAccessibleHypertext : public IAccessibleText
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nHyperlinks(
- /* [retval][out] */ long *hyperlinkCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlink(
- /* [in] */ long index,
- /* [retval][out] */ IAccessibleHyperlink **hyperlink) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinkIndex(
- /* [in] */ long charIndex,
- /* [retval][out] */ long *hyperlinkIndex) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleHypertextVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleHypertext * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleHypertext * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleHypertext * This);
-
- HRESULT ( STDMETHODCALLTYPE *addSelection )(
- IAccessibleHypertext * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
- IAccessibleHypertext * This,
- /* [in] */ long offset,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *textAttributes);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
- IAccessibleHypertext * This,
- /* [retval][out] */ long *offset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
- IAccessibleHypertext * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [out] */ long *x,
- /* [out] */ long *y,
- /* [out] */ long *width,
- /* [retval][out] */ long *height);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
- IAccessibleHypertext * This,
- /* [retval][out] */ long *nSelections);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
- IAccessibleHypertext * This,
- /* [in] */ long x,
- /* [in] */ long y,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [retval][out] */ long *offset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
- IAccessibleHypertext * This,
- /* [in] */ long selectionIndex,
- /* [out] */ long *startOffset,
- /* [retval][out] */ long *endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
- IAccessibleHypertext * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
- IAccessibleHypertext * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
- IAccessibleHypertext * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
- IAccessibleHypertext * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- HRESULT ( STDMETHODCALLTYPE *removeSelection )(
- IAccessibleHypertext * This,
- /* [in] */ long selectionIndex);
-
- HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
- IAccessibleHypertext * This,
- /* [in] */ long offset);
-
- HRESULT ( STDMETHODCALLTYPE *setSelection )(
- IAccessibleHypertext * This,
- /* [in] */ long selectionIndex,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
- IAccessibleHypertext * This,
- /* [retval][out] */ long *nCharacters);
-
- HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
- IAccessibleHypertext * This,
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2ScrollType scrollType);
-
- HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
- IAccessibleHypertext * This,
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [in] */ long x,
- /* [in] */ long y);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
- IAccessibleHypertext * This,
- /* [retval][out] */ IA2TextSegment *newText);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
- IAccessibleHypertext * This,
- /* [retval][out] */ IA2TextSegment *oldText);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )(
- IAccessibleHypertext * This,
- /* [retval][out] */ long *hyperlinkCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )(
- IAccessibleHypertext * This,
- /* [in] */ long index,
- /* [retval][out] */ IAccessibleHyperlink **hyperlink);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )(
- IAccessibleHypertext * This,
- /* [in] */ long charIndex,
- /* [retval][out] */ long *hyperlinkIndex);
-
- END_INTERFACE
- } IAccessibleHypertextVtbl;
-
- interface IAccessibleHypertext
- {
- CONST_VTBL struct IAccessibleHypertextVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleHypertext_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleHypertext_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleHypertext_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleHypertext_addSelection(This,startOffset,endOffset) \
- ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
-
-#define IAccessibleHypertext_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
- ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
-
-#define IAccessibleHypertext_get_caretOffset(This,offset) \
- ( (This)->lpVtbl -> get_caretOffset(This,offset) )
-
-#define IAccessibleHypertext_get_characterExtents(This,offset,coordType,x,y,width,height) \
- ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
-
-#define IAccessibleHypertext_get_nSelections(This,nSelections) \
- ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
-
-#define IAccessibleHypertext_get_offsetAtPoint(This,x,y,coordType,offset) \
- ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
-
-#define IAccessibleHypertext_get_selection(This,selectionIndex,startOffset,endOffset) \
- ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
-
-#define IAccessibleHypertext_get_text(This,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
-
-#define IAccessibleHypertext_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleHypertext_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleHypertext_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleHypertext_removeSelection(This,selectionIndex) \
- ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
-
-#define IAccessibleHypertext_setCaretOffset(This,offset) \
- ( (This)->lpVtbl -> setCaretOffset(This,offset) )
-
-#define IAccessibleHypertext_setSelection(This,selectionIndex,startOffset,endOffset) \
- ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
-
-#define IAccessibleHypertext_get_nCharacters(This,nCharacters) \
- ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
-
-#define IAccessibleHypertext_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
- ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
-
-#define IAccessibleHypertext_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
- ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
-
-#define IAccessibleHypertext_get_newText(This,newText) \
- ( (This)->lpVtbl -> get_newText(This,newText) )
-
-#define IAccessibleHypertext_get_oldText(This,oldText) \
- ( (This)->lpVtbl -> get_oldText(This,oldText) )
-
-
-#define IAccessibleHypertext_get_nHyperlinks(This,hyperlinkCount) \
- ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) )
-
-#define IAccessibleHypertext_get_hyperlink(This,index,hyperlink) \
- ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) )
-
-#define IAccessibleHypertext_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \
- ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleHypertext_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_i.c
deleted file mode 100644
index e6edec9fe7..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleHypertext.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext,0x6B4F8BBF,0xF1F2,0x418a,0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_p.c
deleted file mode 100644
index 40eddde608..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_p.c
+++ /dev/null
@@ -1,463 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleHypertext.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleHypertext.h"
-
-#define TYPE_FORMAT_STRING_SIZE 29
-#define PROC_FORMAT_STRING_SIZE 121
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 0
-
-typedef struct _AccessibleHypertext_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleHypertext_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleHypertext_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleHypertext_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleHypertext_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleHypertext_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleHypertext_MIDL_TYPE_FORMAT_STRING AccessibleHypertext__MIDL_TypeFormatString;
-extern const AccessibleHypertext_MIDL_PROC_FORMAT_STRING AccessibleHypertext__MIDL_ProcFormatString;
-extern const AccessibleHypertext_MIDL_EXPR_FORMAT_STRING AccessibleHypertext__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo;
-
-
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleHypertext_MIDL_PROC_FORMAT_STRING AccessibleHypertext__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_nHyperlinks */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x16 ), /* 22 */
-/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x24 ), /* 36 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter hyperlinkCount */
-
-/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_hyperlink */
-
-/* 36 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 38 */ NdrFcLong( 0x0 ), /* 0 */
-/* 42 */ NdrFcShort( 0x17 ), /* 23 */
-/* 44 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 46 */ NdrFcShort( 0x8 ), /* 8 */
-/* 48 */ NdrFcShort( 0x8 ), /* 8 */
-/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 52 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 54 */ NdrFcShort( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 60 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 64 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter hyperlink */
-
-/* 66 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 70 */ NdrFcShort( 0x6 ), /* Type Offset=6 */
-
- /* Return value */
-
-/* 72 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 74 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 76 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_hyperlinkIndex */
-
-/* 78 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 80 */ NdrFcLong( 0x0 ), /* 0 */
-/* 84 */ NdrFcShort( 0x18 ), /* 24 */
-/* 86 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 88 */ NdrFcShort( 0x8 ), /* 8 */
-/* 90 */ NdrFcShort( 0x24 ), /* 36 */
-/* 92 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 94 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 96 */ NdrFcShort( 0x0 ), /* 0 */
-/* 98 */ NdrFcShort( 0x0 ), /* 0 */
-/* 100 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter charIndex */
-
-/* 102 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 104 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 106 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter hyperlinkIndex */
-
-/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 110 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 116 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleHypertext_MIDL_TYPE_FORMAT_STRING AccessibleHypertext__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 6 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */
-/* 10 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 12 */ NdrFcLong( 0x1c20f2b ), /* 29495083 */
-/* 16 */ NdrFcShort( 0x3dd2 ), /* 15826 */
-/* 18 */ NdrFcShort( 0x400f ), /* 16399 */
-/* 20 */ 0x94, /* 148 */
- 0x9f, /* 159 */
-/* 22 */ 0xad, /* 173 */
- 0x0, /* 0 */
-/* 24 */ 0xbd, /* 189 */
- 0xab, /* 171 */
-/* 26 */ 0x1d, /* 29 */
- 0x41, /* 65 */
-
- 0x0
- }
- };
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleText, ver. 0.0,
- GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */
-
-
-/* Object interface: IAccessibleHypertext, ver. 0.0,
- GUID={0x6B4F8BBF,0xF1F2,0x418a,{0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleHypertext_FormatStringOffsetTable[] =
- {
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- (unsigned short) -1,
- 0,
- 36,
- 78
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleHypertext__MIDL_ProcFormatString.Format,
- &IAccessibleHypertext_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleHypertext__MIDL_ProcFormatString.Format,
- &IAccessibleHypertext_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(25) _IAccessibleHypertextProxyVtbl =
-{
- &IAccessibleHypertext_ProxyInfo,
- &IID_IAccessibleHypertext,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- 0 /* IAccessibleText::addSelection */ ,
- 0 /* IAccessibleText::get_attributes */ ,
- 0 /* IAccessibleText::get_caretOffset */ ,
- 0 /* IAccessibleText::get_characterExtents */ ,
- 0 /* IAccessibleText::get_nSelections */ ,
- 0 /* IAccessibleText::get_offsetAtPoint */ ,
- 0 /* IAccessibleText::get_selection */ ,
- 0 /* IAccessibleText::get_text */ ,
- 0 /* IAccessibleText::get_textBeforeOffset */ ,
- 0 /* IAccessibleText::get_textAfterOffset */ ,
- 0 /* IAccessibleText::get_textAtOffset */ ,
- 0 /* IAccessibleText::removeSelection */ ,
- 0 /* IAccessibleText::setCaretOffset */ ,
- 0 /* IAccessibleText::setSelection */ ,
- 0 /* IAccessibleText::get_nCharacters */ ,
- 0 /* IAccessibleText::scrollSubstringTo */ ,
- 0 /* IAccessibleText::scrollSubstringToPoint */ ,
- 0 /* IAccessibleText::get_newText */ ,
- 0 /* IAccessibleText::get_oldText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ ,
- (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */
-};
-
-
-static const PRPC_STUB_FUNCTION IAccessibleHypertext_table[] =
-{
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- STUB_FORWARDING_FUNCTION,
- NdrStubCall2,
- NdrStubCall2,
- NdrStubCall2
-};
-
-CInterfaceStubVtbl _IAccessibleHypertextStubVtbl =
-{
- &IID_IAccessibleHypertext,
- &IAccessibleHypertext_ServerInfo,
- 25,
- &IAccessibleHypertext_table[-3],
- CStdStubBuffer_DELEGATING_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleHypertext__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- 0,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleHypertext_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleHypertextProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleHypertext_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleHypertextStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleHypertext_InterfaceNamesList[] =
-{
- "IAccessibleHypertext",
- 0
-};
-
-const IID * const _AccessibleHypertext_BaseIIDList[] =
-{
- &IID_IAccessibleText,
- 0
-};
-
-
-#define _AccessibleHypertext_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleHypertext, pIID, n)
-
-int __stdcall _AccessibleHypertext_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleHypertext_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleHypertext_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleHypertext_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleHypertext_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleHypertext_InterfaceNamesList,
- (const IID ** ) & _AccessibleHypertext_BaseIIDList,
- & _AccessibleHypertext_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleImage.h
deleted file mode 100644
index d240bb6156..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage.h
+++ /dev/null
@@ -1,185 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleImage.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleImage_h__
-#define __AccessibleImage_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleImage_FWD_DEFINED__
-#define __IAccessibleImage_FWD_DEFINED__
-typedef interface IAccessibleImage IAccessibleImage;
-#endif /* __IAccessibleImage_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "IA2CommonTypes.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleImage_INTERFACE_DEFINED__
-#define __IAccessibleImage_INTERFACE_DEFINED__
-
-/* interface IAccessibleImage */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleImage;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE")
- IAccessibleImage : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description(
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imagePosition(
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [out] */ long *x,
- /* [retval][out] */ long *y) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imageSize(
- /* [out] */ long *height,
- /* [retval][out] */ long *width) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleImageVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleImage * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleImage * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleImage * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
- IAccessibleImage * This,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imagePosition )(
- IAccessibleImage * This,
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [out] */ long *x,
- /* [retval][out] */ long *y);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageSize )(
- IAccessibleImage * This,
- /* [out] */ long *height,
- /* [retval][out] */ long *width);
-
- END_INTERFACE
- } IAccessibleImageVtbl;
-
- interface IAccessibleImage
- {
- CONST_VTBL struct IAccessibleImageVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleImage_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleImage_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleImage_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleImage_get_description(This,description) \
- ( (This)->lpVtbl -> get_description(This,description) )
-
-#define IAccessibleImage_get_imagePosition(This,coordinateType,x,y) \
- ( (This)->lpVtbl -> get_imagePosition(This,coordinateType,x,y) )
-
-#define IAccessibleImage_get_imageSize(This,height,width) \
- ( (This)->lpVtbl -> get_imageSize(This,height,width) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleImage_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_i.c
deleted file mode 100644
index 37fa8696d1..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleImage.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleImage,0xFE5ABB3D,0x615E,0x4f7b,0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_p.c
deleted file mode 100644
index daa8af2e29..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_p.c
+++ /dev/null
@@ -1,423 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:53 2012
- */
-/* Compiler settings for AccessibleImage.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleImage.h"
-
-#define TYPE_FORMAT_STRING_SIZE 47
-#define PROC_FORMAT_STRING_SIZE 127
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleImage_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleImage_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleImage_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleImage_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleImage_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleImage_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleImage_MIDL_TYPE_FORMAT_STRING AccessibleImage__MIDL_TypeFormatString;
-extern const AccessibleImage_MIDL_PROC_FORMAT_STRING AccessibleImage__MIDL_ProcFormatString;
-extern const AccessibleImage_MIDL_EXPR_FORMAT_STRING AccessibleImage__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleImage_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleImage_MIDL_PROC_FORMAT_STRING AccessibleImage__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_description */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 18 */ NdrFcShort( 0x1 ), /* 1 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter description */
-
-/* 24 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_imagePosition */
-
-/* 36 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 38 */ NdrFcLong( 0x0 ), /* 0 */
-/* 42 */ NdrFcShort( 0x4 ), /* 4 */
-/* 44 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 46 */ NdrFcShort( 0x6 ), /* 6 */
-/* 48 */ NdrFcShort( 0x40 ), /* 64 */
-/* 50 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 52 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 54 */ NdrFcShort( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter coordinateType */
-
-/* 60 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 64 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter x */
-
-/* 66 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 70 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 72 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 74 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 76 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 80 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 82 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_imageSize */
-
-/* 84 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 86 */ NdrFcLong( 0x0 ), /* 0 */
-/* 90 */ NdrFcShort( 0x5 ), /* 5 */
-/* 92 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 94 */ NdrFcShort( 0x0 ), /* 0 */
-/* 96 */ NdrFcShort( 0x40 ), /* 64 */
-/* 98 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 100 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 102 */ NdrFcShort( 0x0 ), /* 0 */
-/* 104 */ NdrFcShort( 0x0 ), /* 0 */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter height */
-
-/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter width */
-
-/* 114 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 122 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleImage_MIDL_TYPE_FORMAT_STRING AccessibleImage__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */
-/* 6 */
- 0x13, 0x0, /* FC_OP */
-/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */
-/* 10 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 12 */ NdrFcShort( 0x2 ), /* 2 */
-/* 14 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 16 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 20 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 22 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 24 */ NdrFcShort( 0x8 ), /* 8 */
-/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */
-/* 28 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 30 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 32 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ NdrFcShort( 0x4 ), /* 4 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */
-/* 42 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 44 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleImage, ver. 0.0,
- GUID={0xFE5ABB3D,0x615E,0x4f7b,{0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleImage_FormatStringOffsetTable[] =
- {
- 0,
- 36,
- 84
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleImage__MIDL_ProcFormatString.Format,
- &IAccessibleImage_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleImage_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleImage__MIDL_ProcFormatString.Format,
- &IAccessibleImage_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(6) _IAccessibleImageProxyVtbl =
-{
- &IAccessibleImage_ProxyInfo,
- &IID_IAccessibleImage,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleImage::get_description */ ,
- (void *) (INT_PTR) -1 /* IAccessibleImage::get_imagePosition */ ,
- (void *) (INT_PTR) -1 /* IAccessibleImage::get_imageSize */
-};
-
-const CInterfaceStubVtbl _IAccessibleImageStubVtbl =
-{
- &IID_IAccessibleImage,
- &IAccessibleImage_ServerInfo,
- 6,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleImage__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleImage_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleImageProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleImage_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleImageStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleImage_InterfaceNamesList[] =
-{
- "IAccessibleImage",
- 0
-};
-
-
-#define _AccessibleImage_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleImage, pIID, n)
-
-int __stdcall _AccessibleImage_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleImage_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleImage_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleImage_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleImage_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleImage_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleImage_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation.h
deleted file mode 100644
index b24908a421..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation.h
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:54 2012
- */
-/* Compiler settings for AccessibleRelation.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleRelation_h__
-#define __AccessibleRelation_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleRelation_FWD_DEFINED__
-#define __IAccessibleRelation_FWD_DEFINED__
-typedef interface IAccessibleRelation IAccessibleRelation;
-#endif /* __IAccessibleRelation_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleRelation_0000_0000 */
-/* [local] */
-
-#define IA2_RELATION_CONTROLLED_BY ( L"controlledBy" )
-
-#define IA2_RELATION_CONTROLLER_FOR ( L"controllerFor" )
-
-#define IA2_RELATION_DESCRIBED_BY ( L"describedBy" )
-
-#define IA2_RELATION_DESCRIPTION_FOR ( L"descriptionFor" )
-
-#define IA2_RELATION_EMBEDDED_BY ( L"embeddedBy" )
-
-#define IA2_RELATION_EMBEDS ( L"embeds" )
-
-#define IA2_RELATION_FLOWS_FROM ( L"flowsFrom" )
-
-#define IA2_RELATION_FLOWS_TO ( L"flowsTo" )
-
-#define IA2_RELATION_LABEL_FOR ( L"labelFor" )
-
-#define IA2_RELATION_LABELED_BY ( L"labelledBy" )
-
-#define IA2_RELATION_LABELLED_BY ( L"labelledBy" )
-
-#define IA2_RELATION_MEMBER_OF ( L"memberOf" )
-
-#define IA2_RELATION_NODE_CHILD_OF ( L"nodeChildOf" )
-
-#define IA2_RELATION_PARENT_WINDOW_OF ( L"parentWindowOf" )
-
-#define IA2_RELATION_POPUP_FOR ( L"popupFor" )
-
-#define IA2_RELATION_SUBWINDOW_OF ( L"subwindowOf" )
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleRelation_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleRelation_0000_0000_v0_0_s_ifspec;
-
-#ifndef __IAccessibleRelation_INTERFACE_DEFINED__
-#define __IAccessibleRelation_INTERFACE_DEFINED__
-
-/* interface IAccessibleRelation */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleRelation;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("7CDF86EE-C3DA-496a-BDA4-281B336E1FDC")
- IAccessibleRelation : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationType(
- /* [retval][out] */ BSTR *relationType) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedRelationType(
- /* [retval][out] */ BSTR *localizedRelationType) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nTargets(
- /* [retval][out] */ long *nTargets) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_target(
- /* [in] */ long targetIndex,
- /* [retval][out] */ IUnknown **target) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targets(
- /* [in] */ long maxTargets,
- /* [length_is][size_is][out] */ IUnknown **targets,
- /* [retval][out] */ long *nTargets) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleRelationVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleRelation * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleRelation * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleRelation * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationType )(
- IAccessibleRelation * This,
- /* [retval][out] */ BSTR *relationType);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedRelationType )(
- IAccessibleRelation * This,
- /* [retval][out] */ BSTR *localizedRelationType);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nTargets )(
- IAccessibleRelation * This,
- /* [retval][out] */ long *nTargets);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )(
- IAccessibleRelation * This,
- /* [in] */ long targetIndex,
- /* [retval][out] */ IUnknown **target);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targets )(
- IAccessibleRelation * This,
- /* [in] */ long maxTargets,
- /* [length_is][size_is][out] */ IUnknown **targets,
- /* [retval][out] */ long *nTargets);
-
- END_INTERFACE
- } IAccessibleRelationVtbl;
-
- interface IAccessibleRelation
- {
- CONST_VTBL struct IAccessibleRelationVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleRelation_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleRelation_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleRelation_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleRelation_get_relationType(This,relationType) \
- ( (This)->lpVtbl -> get_relationType(This,relationType) )
-
-#define IAccessibleRelation_get_localizedRelationType(This,localizedRelationType) \
- ( (This)->lpVtbl -> get_localizedRelationType(This,localizedRelationType) )
-
-#define IAccessibleRelation_get_nTargets(This,nTargets) \
- ( (This)->lpVtbl -> get_nTargets(This,nTargets) )
-
-#define IAccessibleRelation_get_target(This,targetIndex,target) \
- ( (This)->lpVtbl -> get_target(This,targetIndex,target) )
-
-#define IAccessibleRelation_get_targets(This,maxTargets,targets,nTargets) \
- ( (This)->lpVtbl -> get_targets(This,maxTargets,targets,nTargets) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleRelation_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_i.c
deleted file mode 100644
index 58c8b78be7..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:54 2012
- */
-/* Compiler settings for AccessibleRelation.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleRelation,0x7CDF86EE,0xC3DA,0x496a,0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_p.c
deleted file mode 100644
index a3a6cbd632..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_p.c
+++ /dev/null
@@ -1,527 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:54 2012
- */
-/* Compiler settings for AccessibleRelation.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleRelation.h"
-
-#define TYPE_FORMAT_STRING_SIZE 95
-#define PROC_FORMAT_STRING_SIZE 199
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleRelation_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleRelation_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleRelation_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleRelation_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleRelation_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleRelation_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleRelation_MIDL_TYPE_FORMAT_STRING AccessibleRelation__MIDL_TypeFormatString;
-extern const AccessibleRelation_MIDL_PROC_FORMAT_STRING AccessibleRelation__MIDL_ProcFormatString;
-extern const AccessibleRelation_MIDL_EXPR_FORMAT_STRING AccessibleRelation__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleRelation_MIDL_PROC_FORMAT_STRING AccessibleRelation__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_relationType */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 18 */ NdrFcShort( 0x1 ), /* 1 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter relationType */
-
-/* 24 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_localizedRelationType */
-
-/* 36 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 38 */ NdrFcLong( 0x0 ), /* 0 */
-/* 42 */ NdrFcShort( 0x4 ), /* 4 */
-/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 46 */ NdrFcShort( 0x0 ), /* 0 */
-/* 48 */ NdrFcShort( 0x8 ), /* 8 */
-/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 52 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 54 */ NdrFcShort( 0x1 ), /* 1 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter localizedRelationType */
-
-/* 60 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 64 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
-
- /* Return value */
-
-/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 70 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nTargets */
-
-/* 72 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 74 */ NdrFcLong( 0x0 ), /* 0 */
-/* 78 */ NdrFcShort( 0x5 ), /* 5 */
-/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 82 */ NdrFcShort( 0x0 ), /* 0 */
-/* 84 */ NdrFcShort( 0x24 ), /* 36 */
-/* 86 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 88 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 90 */ NdrFcShort( 0x0 ), /* 0 */
-/* 92 */ NdrFcShort( 0x0 ), /* 0 */
-/* 94 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nTargets */
-
-/* 96 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 100 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 106 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_target */
-
-/* 108 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 110 */ NdrFcLong( 0x0 ), /* 0 */
-/* 114 */ NdrFcShort( 0x6 ), /* 6 */
-/* 116 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 118 */ NdrFcShort( 0x8 ), /* 8 */
-/* 120 */ NdrFcShort( 0x8 ), /* 8 */
-/* 122 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 124 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 126 */ NdrFcShort( 0x0 ), /* 0 */
-/* 128 */ NdrFcShort( 0x0 ), /* 0 */
-/* 130 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter targetIndex */
-
-/* 132 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 134 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 136 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter target */
-
-/* 138 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 140 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 142 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
-
- /* Return value */
-
-/* 144 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 146 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 148 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_targets */
-
-/* 150 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 152 */ NdrFcLong( 0x0 ), /* 0 */
-/* 156 */ NdrFcShort( 0x7 ), /* 7 */
-/* 158 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 160 */ NdrFcShort( 0x8 ), /* 8 */
-/* 162 */ NdrFcShort( 0x24 ), /* 36 */
-/* 164 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 166 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 168 */ NdrFcShort( 0x1 ), /* 1 */
-/* 170 */ NdrFcShort( 0x0 ), /* 0 */
-/* 172 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxTargets */
-
-/* 174 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 176 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 178 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter targets */
-
-/* 180 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */
-/* 182 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 184 */ NdrFcShort( 0x48 ), /* Type Offset=72 */
-
- /* Parameter nTargets */
-
-/* 186 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 188 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 190 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 194 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 196 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleRelation_MIDL_TYPE_FORMAT_STRING AccessibleRelation__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */
-/* 6 */
- 0x13, 0x0, /* FC_OP */
-/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */
-/* 10 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 12 */ NdrFcShort( 0x2 ), /* 2 */
-/* 14 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 16 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 20 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 22 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 24 */ NdrFcShort( 0x8 ), /* 8 */
-/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */
-/* 28 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 30 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 32 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ NdrFcShort( 0x4 ), /* 4 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */
-/* 42 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 44 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 46 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */
-/* 50 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 52 */ NdrFcLong( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-/* 60 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 62 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 64 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 66 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 68 */
- 0x11, 0x0, /* FC_RP */
-/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */
-/* 72 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 74 */ NdrFcShort( 0x0 ), /* 0 */
-/* 76 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x0, /* */
-/* 78 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 80 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 82 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 84 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 86 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 88 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 90 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (50) */
-/* 92 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Standard interface: __MIDL_itf_AccessibleRelation_0000_0000, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleRelation, ver. 0.0,
- GUID={0x7CDF86EE,0xC3DA,0x496a,{0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleRelation_FormatStringOffsetTable[] =
- {
- 0,
- 36,
- 72,
- 108,
- 150
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleRelation__MIDL_ProcFormatString.Format,
- &IAccessibleRelation_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleRelation__MIDL_ProcFormatString.Format,
- &IAccessibleRelation_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(8) _IAccessibleRelationProxyVtbl =
-{
- &IAccessibleRelation_ProxyInfo,
- &IID_IAccessibleRelation,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleRelation::get_relationType */ ,
- (void *) (INT_PTR) -1 /* IAccessibleRelation::get_localizedRelationType */ ,
- (void *) (INT_PTR) -1 /* IAccessibleRelation::get_nTargets */ ,
- (void *) (INT_PTR) -1 /* IAccessibleRelation::get_target */ ,
- (void *) (INT_PTR) -1 /* IAccessibleRelation::get_targets */
-};
-
-const CInterfaceStubVtbl _IAccessibleRelationStubVtbl =
-{
- &IID_IAccessibleRelation,
- &IAccessibleRelation_ServerInfo,
- 8,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleRelation__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleRelation_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleRelationProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleRelation_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleRelationStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleRelation_InterfaceNamesList[] =
-{
- "IAccessibleRelation",
- 0
-};
-
-
-#define _AccessibleRelation_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleRelation, pIID, n)
-
-int __stdcall _AccessibleRelation_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleRelation_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleRelation_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleRelation_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleRelation_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleRelation_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleRelation_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleRole.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleRole.h
deleted file mode 100644
index 221d1d00f6..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleRole.h
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:54 2012
- */
-/* Compiler settings for AccessibleRole.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-
-#ifndef __AccessibleRole_h__
-#define __AccessibleRole_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-/* header files for imported files */
-#include "objidl.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleRole_0000_0000 */
-/* [local] */
-
-
-enum IA2Role
- { IA2_ROLE_UNKNOWN = 0,
- IA2_ROLE_CANVAS = 0x401,
- IA2_ROLE_CAPTION = ( IA2_ROLE_CANVAS + 1 ) ,
- IA2_ROLE_CHECK_MENU_ITEM = ( IA2_ROLE_CAPTION + 1 ) ,
- IA2_ROLE_COLOR_CHOOSER = ( IA2_ROLE_CHECK_MENU_ITEM + 1 ) ,
- IA2_ROLE_DATE_EDITOR = ( IA2_ROLE_COLOR_CHOOSER + 1 ) ,
- IA2_ROLE_DESKTOP_ICON = ( IA2_ROLE_DATE_EDITOR + 1 ) ,
- IA2_ROLE_DESKTOP_PANE = ( IA2_ROLE_DESKTOP_ICON + 1 ) ,
- IA2_ROLE_DIRECTORY_PANE = ( IA2_ROLE_DESKTOP_PANE + 1 ) ,
- IA2_ROLE_EDITBAR = ( IA2_ROLE_DIRECTORY_PANE + 1 ) ,
- IA2_ROLE_EMBEDDED_OBJECT = ( IA2_ROLE_EDITBAR + 1 ) ,
- IA2_ROLE_ENDNOTE = ( IA2_ROLE_EMBEDDED_OBJECT + 1 ) ,
- IA2_ROLE_FILE_CHOOSER = ( IA2_ROLE_ENDNOTE + 1 ) ,
- IA2_ROLE_FONT_CHOOSER = ( IA2_ROLE_FILE_CHOOSER + 1 ) ,
- IA2_ROLE_FOOTER = ( IA2_ROLE_FONT_CHOOSER + 1 ) ,
- IA2_ROLE_FOOTNOTE = ( IA2_ROLE_FOOTER + 1 ) ,
- IA2_ROLE_FORM = ( IA2_ROLE_FOOTNOTE + 1 ) ,
- IA2_ROLE_FRAME = ( IA2_ROLE_FORM + 1 ) ,
- IA2_ROLE_GLASS_PANE = ( IA2_ROLE_FRAME + 1 ) ,
- IA2_ROLE_HEADER = ( IA2_ROLE_GLASS_PANE + 1 ) ,
- IA2_ROLE_HEADING = ( IA2_ROLE_HEADER + 1 ) ,
- IA2_ROLE_ICON = ( IA2_ROLE_HEADING + 1 ) ,
- IA2_ROLE_IMAGE_MAP = ( IA2_ROLE_ICON + 1 ) ,
- IA2_ROLE_INPUT_METHOD_WINDOW = ( IA2_ROLE_IMAGE_MAP + 1 ) ,
- IA2_ROLE_INTERNAL_FRAME = ( IA2_ROLE_INPUT_METHOD_WINDOW + 1 ) ,
- IA2_ROLE_LABEL = ( IA2_ROLE_INTERNAL_FRAME + 1 ) ,
- IA2_ROLE_LAYERED_PANE = ( IA2_ROLE_LABEL + 1 ) ,
- IA2_ROLE_NOTE = ( IA2_ROLE_LAYERED_PANE + 1 ) ,
- IA2_ROLE_OPTION_PANE = ( IA2_ROLE_NOTE + 1 ) ,
- IA2_ROLE_PAGE = ( IA2_ROLE_OPTION_PANE + 1 ) ,
- IA2_ROLE_PARAGRAPH = ( IA2_ROLE_PAGE + 1 ) ,
- IA2_ROLE_RADIO_MENU_ITEM = ( IA2_ROLE_PARAGRAPH + 1 ) ,
- IA2_ROLE_REDUNDANT_OBJECT = ( IA2_ROLE_RADIO_MENU_ITEM + 1 ) ,
- IA2_ROLE_ROOT_PANE = ( IA2_ROLE_REDUNDANT_OBJECT + 1 ) ,
- IA2_ROLE_RULER = ( IA2_ROLE_ROOT_PANE + 1 ) ,
- IA2_ROLE_SCROLL_PANE = ( IA2_ROLE_RULER + 1 ) ,
- IA2_ROLE_SECTION = ( IA2_ROLE_SCROLL_PANE + 1 ) ,
- IA2_ROLE_SHAPE = ( IA2_ROLE_SECTION + 1 ) ,
- IA2_ROLE_SPLIT_PANE = ( IA2_ROLE_SHAPE + 1 ) ,
- IA2_ROLE_TEAR_OFF_MENU = ( IA2_ROLE_SPLIT_PANE + 1 ) ,
- IA2_ROLE_TERMINAL = ( IA2_ROLE_TEAR_OFF_MENU + 1 ) ,
- IA2_ROLE_TEXT_FRAME = ( IA2_ROLE_TERMINAL + 1 ) ,
- IA2_ROLE_TOGGLE_BUTTON = ( IA2_ROLE_TEXT_FRAME + 1 ) ,
- IA2_ROLE_VIEW_PORT = ( IA2_ROLE_TOGGLE_BUTTON + 1 ) ,
- IA2_ROLE_COMPLEMENTARY_CONTENT = ( IA2_ROLE_VIEW_PORT + 1 )
- } ;
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleRole_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleRole_0000_0000_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleStates.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleStates.h
deleted file mode 100644
index 058d2e548e..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleStates.h
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:54 2012
- */
-/* Compiler settings for AccessibleStates.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-
-#ifndef __AccessibleStates_h__
-#define __AccessibleStates_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-/* header files for imported files */
-#include "objidl.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleStates_0000_0000 */
-/* [local] */
-
-typedef long AccessibleStates;
-
-
-enum IA2States
- { IA2_STATE_ACTIVE = 0x1,
- IA2_STATE_ARMED = 0x2,
- IA2_STATE_DEFUNCT = 0x4,
- IA2_STATE_EDITABLE = 0x8,
- IA2_STATE_HORIZONTAL = 0x10,
- IA2_STATE_ICONIFIED = 0x20,
- IA2_STATE_INVALID_ENTRY = 0x40,
- IA2_STATE_MANAGES_DESCENDANTS = 0x80,
- IA2_STATE_MODAL = 0x100,
- IA2_STATE_MULTI_LINE = 0x200,
- IA2_STATE_OPAQUE = 0x400,
- IA2_STATE_REQUIRED = 0x800,
- IA2_STATE_SELECTABLE_TEXT = 0x1000,
- IA2_STATE_SINGLE_LINE = 0x2000,
- IA2_STATE_STALE = 0x4000,
- IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000,
- IA2_STATE_TRANSIENT = 0x10000,
- IA2_STATE_VERTICAL = 0x20000,
- IA2_STATE_CHECKABLE = 0x40000,
- IA2_STATE_PINNED = 0x80000
- } ;
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleStates_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleStates_0000_0000_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable.h
deleted file mode 100644
index 0f7dd49efc..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable.h
+++ /dev/null
@@ -1,497 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:54 2012
- */
-/* Compiler settings for AccessibleTable.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleTable_h__
-#define __AccessibleTable_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleTable_FWD_DEFINED__
-#define __IAccessibleTable_FWD_DEFINED__
-typedef interface IAccessibleTable IAccessibleTable;
-#endif /* __IAccessibleTable_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "Accessible2.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleTable_INTERFACE_DEFINED__
-#define __IAccessibleTable_INTERFACE_DEFINED__
-
-/* interface IAccessibleTable */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleTable;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("35AD8070-C20C-4fb4-B094-F4F7275DD469")
- IAccessibleTable : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt(
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ IUnknown **accessible) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
- /* [retval][out] */ IUnknown **accessible) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex(
- /* [in] */ long rowIndex,
- /* [in] */ long columnIndex,
- /* [retval][out] */ long *cellIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
- /* [in] */ long column,
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt(
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ long *nColumnsSpanned) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader(
- /* [out] */ IAccessibleTable **accessibleTable,
- /* [retval][out] */ long *startingRowIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
- /* [in] */ long cellIndex,
- /* [retval][out] */ long *columnIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
- /* [retval][out] */ long *columnCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
- /* [retval][out] */ long *rowCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren(
- /* [retval][out] */ long *cellCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
- /* [retval][out] */ long *columnCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
- /* [retval][out] */ long *rowCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
- /* [in] */ long row,
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt(
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ long *nRowsSpanned) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader(
- /* [out] */ IAccessibleTable **accessibleTable,
- /* [retval][out] */ long *startingColumnIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
- /* [in] */ long cellIndex,
- /* [retval][out] */ long *rowIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren(
- /* [in] */ long maxChildren,
- /* [length_is][length_is][size_is][size_is][out] */ long **children,
- /* [retval][out] */ long *nChildren) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
- /* [in] */ long maxColumns,
- /* [length_is][length_is][size_is][size_is][out] */ long **columns,
- /* [retval][out] */ long *nColumns) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
- /* [in] */ long maxRows,
- /* [length_is][length_is][size_is][size_is][out] */ long **rows,
- /* [retval][out] */ long *nRows) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
- /* [retval][out] */ IUnknown **accessible) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
- /* [in] */ long row,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE selectRow(
- /* [in] */ long row) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE selectColumn(
- /* [in] */ long column) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE unselectRow(
- /* [in] */ long row) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE unselectColumn(
- /* [in] */ long column) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex(
- /* [in] */ long index,
- /* [out] */ long *row,
- /* [out] */ long *column,
- /* [out] */ long *rowExtents,
- /* [out] */ long *columnExtents,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
- /* [retval][out] */ IA2TableModelChange *modelChange) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleTableVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleTable * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleTable * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleTable * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleAt )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ IUnknown **accessible);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )(
- IAccessibleTable * This,
- /* [retval][out] */ IUnknown **accessible);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_childIndex )(
- IAccessibleTable * This,
- /* [in] */ long rowIndex,
- /* [in] */ long columnIndex,
- /* [retval][out] */ long *cellIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )(
- IAccessibleTable * This,
- /* [in] */ long column,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtentAt )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ long *nColumnsSpanned);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeader )(
- IAccessibleTable * This,
- /* [out] */ IAccessibleTable **accessibleTable,
- /* [retval][out] */ long *startingRowIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )(
- IAccessibleTable * This,
- /* [in] */ long cellIndex,
- /* [retval][out] */ long *columnIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )(
- IAccessibleTable * This,
- /* [retval][out] */ long *columnCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )(
- IAccessibleTable * This,
- /* [retval][out] */ long *rowCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedChildren )(
- IAccessibleTable * This,
- /* [retval][out] */ long *cellCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )(
- IAccessibleTable * This,
- /* [retval][out] */ long *columnCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )(
- IAccessibleTable * This,
- /* [retval][out] */ long *rowCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtentAt )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ long *nRowsSpanned);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeader )(
- IAccessibleTable * This,
- /* [out] */ IAccessibleTable **accessibleTable,
- /* [retval][out] */ long *startingColumnIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )(
- IAccessibleTable * This,
- /* [in] */ long cellIndex,
- /* [retval][out] */ long *rowIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedChildren )(
- IAccessibleTable * This,
- /* [in] */ long maxChildren,
- /* [length_is][length_is][size_is][size_is][out] */ long **children,
- /* [retval][out] */ long *nChildren);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )(
- IAccessibleTable * This,
- /* [in] */ long maxColumns,
- /* [length_is][length_is][size_is][size_is][out] */ long **columns,
- /* [retval][out] */ long *nColumns);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )(
- IAccessibleTable * This,
- /* [in] */ long maxRows,
- /* [length_is][length_is][size_is][size_is][out] */ long **rows,
- /* [retval][out] */ long *nRows);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )(
- IAccessibleTable * This,
- /* [retval][out] */ IUnknown **accessible);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )(
- IAccessibleTable * This,
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )(
- IAccessibleTable * This,
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected);
-
- HRESULT ( STDMETHODCALLTYPE *selectRow )(
- IAccessibleTable * This,
- /* [in] */ long row);
-
- HRESULT ( STDMETHODCALLTYPE *selectColumn )(
- IAccessibleTable * This,
- /* [in] */ long column);
-
- HRESULT ( STDMETHODCALLTYPE *unselectRow )(
- IAccessibleTable * This,
- /* [in] */ long row);
-
- HRESULT ( STDMETHODCALLTYPE *unselectColumn )(
- IAccessibleTable * This,
- /* [in] */ long column);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtentsAtIndex )(
- IAccessibleTable * This,
- /* [in] */ long index,
- /* [out] */ long *row,
- /* [out] */ long *column,
- /* [out] */ long *rowExtents,
- /* [out] */ long *columnExtents,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )(
- IAccessibleTable * This,
- /* [retval][out] */ IA2TableModelChange *modelChange);
-
- END_INTERFACE
- } IAccessibleTableVtbl;
-
- interface IAccessibleTable
- {
- CONST_VTBL struct IAccessibleTableVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleTable_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleTable_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleTable_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleTable_get_accessibleAt(This,row,column,accessible) \
- ( (This)->lpVtbl -> get_accessibleAt(This,row,column,accessible) )
-
-#define IAccessibleTable_get_caption(This,accessible) \
- ( (This)->lpVtbl -> get_caption(This,accessible) )
-
-#define IAccessibleTable_get_childIndex(This,rowIndex,columnIndex,cellIndex) \
- ( (This)->lpVtbl -> get_childIndex(This,rowIndex,columnIndex,cellIndex) )
-
-#define IAccessibleTable_get_columnDescription(This,column,description) \
- ( (This)->lpVtbl -> get_columnDescription(This,column,description) )
-
-#define IAccessibleTable_get_columnExtentAt(This,row,column,nColumnsSpanned) \
- ( (This)->lpVtbl -> get_columnExtentAt(This,row,column,nColumnsSpanned) )
-
-#define IAccessibleTable_get_columnHeader(This,accessibleTable,startingRowIndex) \
- ( (This)->lpVtbl -> get_columnHeader(This,accessibleTable,startingRowIndex) )
-
-#define IAccessibleTable_get_columnIndex(This,cellIndex,columnIndex) \
- ( (This)->lpVtbl -> get_columnIndex(This,cellIndex,columnIndex) )
-
-#define IAccessibleTable_get_nColumns(This,columnCount) \
- ( (This)->lpVtbl -> get_nColumns(This,columnCount) )
-
-#define IAccessibleTable_get_nRows(This,rowCount) \
- ( (This)->lpVtbl -> get_nRows(This,rowCount) )
-
-#define IAccessibleTable_get_nSelectedChildren(This,cellCount) \
- ( (This)->lpVtbl -> get_nSelectedChildren(This,cellCount) )
-
-#define IAccessibleTable_get_nSelectedColumns(This,columnCount) \
- ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) )
-
-#define IAccessibleTable_get_nSelectedRows(This,rowCount) \
- ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) )
-
-#define IAccessibleTable_get_rowDescription(This,row,description) \
- ( (This)->lpVtbl -> get_rowDescription(This,row,description) )
-
-#define IAccessibleTable_get_rowExtentAt(This,row,column,nRowsSpanned) \
- ( (This)->lpVtbl -> get_rowExtentAt(This,row,column,nRowsSpanned) )
-
-#define IAccessibleTable_get_rowHeader(This,accessibleTable,startingColumnIndex) \
- ( (This)->lpVtbl -> get_rowHeader(This,accessibleTable,startingColumnIndex) )
-
-#define IAccessibleTable_get_rowIndex(This,cellIndex,rowIndex) \
- ( (This)->lpVtbl -> get_rowIndex(This,cellIndex,rowIndex) )
-
-#define IAccessibleTable_get_selectedChildren(This,maxChildren,children,nChildren) \
- ( (This)->lpVtbl -> get_selectedChildren(This,maxChildren,children,nChildren) )
-
-#define IAccessibleTable_get_selectedColumns(This,maxColumns,columns,nColumns) \
- ( (This)->lpVtbl -> get_selectedColumns(This,maxColumns,columns,nColumns) )
-
-#define IAccessibleTable_get_selectedRows(This,maxRows,rows,nRows) \
- ( (This)->lpVtbl -> get_selectedRows(This,maxRows,rows,nRows) )
-
-#define IAccessibleTable_get_summary(This,accessible) \
- ( (This)->lpVtbl -> get_summary(This,accessible) )
-
-#define IAccessibleTable_get_isColumnSelected(This,column,isSelected) \
- ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) )
-
-#define IAccessibleTable_get_isRowSelected(This,row,isSelected) \
- ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) )
-
-#define IAccessibleTable_get_isSelected(This,row,column,isSelected) \
- ( (This)->lpVtbl -> get_isSelected(This,row,column,isSelected) )
-
-#define IAccessibleTable_selectRow(This,row) \
- ( (This)->lpVtbl -> selectRow(This,row) )
-
-#define IAccessibleTable_selectColumn(This,column) \
- ( (This)->lpVtbl -> selectColumn(This,column) )
-
-#define IAccessibleTable_unselectRow(This,row) \
- ( (This)->lpVtbl -> unselectRow(This,row) )
-
-#define IAccessibleTable_unselectColumn(This,column) \
- ( (This)->lpVtbl -> unselectColumn(This,column) )
-
-#define IAccessibleTable_get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) \
- ( (This)->lpVtbl -> get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) )
-
-#define IAccessibleTable_get_modelChange(This,modelChange) \
- ( (This)->lpVtbl -> get_modelChange(This,modelChange) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleTable_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2.h
deleted file mode 100644
index d511869de4..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2.h
+++ /dev/null
@@ -1,367 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleTable2.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleTable2_h__
-#define __AccessibleTable2_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleTable2_FWD_DEFINED__
-#define __IAccessibleTable2_FWD_DEFINED__
-typedef interface IAccessibleTable2 IAccessibleTable2;
-#endif /* __IAccessibleTable2_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "Accessible2.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleTable2_INTERFACE_DEFINED__
-#define __IAccessibleTable2_INTERFACE_DEFINED__
-
-/* interface IAccessibleTable2 */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleTable2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6167f295-06f0-4cdd-a1fa-02e25153d869")
- IAccessibleTable2 : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt(
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ IUnknown **cell) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
- /* [retval][out] */ IUnknown **accessible) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
- /* [in] */ long column,
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
- /* [retval][out] */ long *columnCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
- /* [retval][out] */ long *rowCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells(
- /* [retval][out] */ long *cellCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
- /* [retval][out] */ long *columnCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
- /* [retval][out] */ long *rowCount) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
- /* [in] */ long row,
- /* [retval][out] */ BSTR *description) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells(
- /* [size_is][size_is][size_is][out] */ IUnknown ***cells,
- /* [retval][out] */ long *nSelectedCells) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
- /* [size_is][size_is][out] */ long **selectedColumns,
- /* [retval][out] */ long *nColumns) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
- /* [size_is][size_is][out] */ long **selectedRows,
- /* [retval][out] */ long *nRows) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
- /* [retval][out] */ IUnknown **accessible) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
- /* [in] */ long row,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE selectRow(
- /* [in] */ long row) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE selectColumn(
- /* [in] */ long column) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE unselectRow(
- /* [in] */ long row) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE unselectColumn(
- /* [in] */ long column) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
- /* [retval][out] */ IA2TableModelChange *modelChange) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleTable2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleTable2 * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleTable2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleTable2 * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellAt )(
- IAccessibleTable2 * This,
- /* [in] */ long row,
- /* [in] */ long column,
- /* [retval][out] */ IUnknown **cell);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )(
- IAccessibleTable2 * This,
- /* [retval][out] */ IUnknown **accessible);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )(
- IAccessibleTable2 * This,
- /* [in] */ long column,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )(
- IAccessibleTable2 * This,
- /* [retval][out] */ long *columnCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )(
- IAccessibleTable2 * This,
- /* [retval][out] */ long *rowCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedCells )(
- IAccessibleTable2 * This,
- /* [retval][out] */ long *cellCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )(
- IAccessibleTable2 * This,
- /* [retval][out] */ long *columnCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )(
- IAccessibleTable2 * This,
- /* [retval][out] */ long *rowCount);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )(
- IAccessibleTable2 * This,
- /* [in] */ long row,
- /* [retval][out] */ BSTR *description);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedCells )(
- IAccessibleTable2 * This,
- /* [size_is][size_is][size_is][out] */ IUnknown ***cells,
- /* [retval][out] */ long *nSelectedCells);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )(
- IAccessibleTable2 * This,
- /* [size_is][size_is][out] */ long **selectedColumns,
- /* [retval][out] */ long *nColumns);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )(
- IAccessibleTable2 * This,
- /* [size_is][size_is][out] */ long **selectedRows,
- /* [retval][out] */ long *nRows);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )(
- IAccessibleTable2 * This,
- /* [retval][out] */ IUnknown **accessible);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )(
- IAccessibleTable2 * This,
- /* [in] */ long column,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )(
- IAccessibleTable2 * This,
- /* [in] */ long row,
- /* [retval][out] */ boolean *isSelected);
-
- HRESULT ( STDMETHODCALLTYPE *selectRow )(
- IAccessibleTable2 * This,
- /* [in] */ long row);
-
- HRESULT ( STDMETHODCALLTYPE *selectColumn )(
- IAccessibleTable2 * This,
- /* [in] */ long column);
-
- HRESULT ( STDMETHODCALLTYPE *unselectRow )(
- IAccessibleTable2 * This,
- /* [in] */ long row);
-
- HRESULT ( STDMETHODCALLTYPE *unselectColumn )(
- IAccessibleTable2 * This,
- /* [in] */ long column);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )(
- IAccessibleTable2 * This,
- /* [retval][out] */ IA2TableModelChange *modelChange);
-
- END_INTERFACE
- } IAccessibleTable2Vtbl;
-
- interface IAccessibleTable2
- {
- CONST_VTBL struct IAccessibleTable2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleTable2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleTable2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleTable2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleTable2_get_cellAt(This,row,column,cell) \
- ( (This)->lpVtbl -> get_cellAt(This,row,column,cell) )
-
-#define IAccessibleTable2_get_caption(This,accessible) \
- ( (This)->lpVtbl -> get_caption(This,accessible) )
-
-#define IAccessibleTable2_get_columnDescription(This,column,description) \
- ( (This)->lpVtbl -> get_columnDescription(This,column,description) )
-
-#define IAccessibleTable2_get_nColumns(This,columnCount) \
- ( (This)->lpVtbl -> get_nColumns(This,columnCount) )
-
-#define IAccessibleTable2_get_nRows(This,rowCount) \
- ( (This)->lpVtbl -> get_nRows(This,rowCount) )
-
-#define IAccessibleTable2_get_nSelectedCells(This,cellCount) \
- ( (This)->lpVtbl -> get_nSelectedCells(This,cellCount) )
-
-#define IAccessibleTable2_get_nSelectedColumns(This,columnCount) \
- ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) )
-
-#define IAccessibleTable2_get_nSelectedRows(This,rowCount) \
- ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) )
-
-#define IAccessibleTable2_get_rowDescription(This,row,description) \
- ( (This)->lpVtbl -> get_rowDescription(This,row,description) )
-
-#define IAccessibleTable2_get_selectedCells(This,cells,nSelectedCells) \
- ( (This)->lpVtbl -> get_selectedCells(This,cells,nSelectedCells) )
-
-#define IAccessibleTable2_get_selectedColumns(This,selectedColumns,nColumns) \
- ( (This)->lpVtbl -> get_selectedColumns(This,selectedColumns,nColumns) )
-
-#define IAccessibleTable2_get_selectedRows(This,selectedRows,nRows) \
- ( (This)->lpVtbl -> get_selectedRows(This,selectedRows,nRows) )
-
-#define IAccessibleTable2_get_summary(This,accessible) \
- ( (This)->lpVtbl -> get_summary(This,accessible) )
-
-#define IAccessibleTable2_get_isColumnSelected(This,column,isSelected) \
- ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) )
-
-#define IAccessibleTable2_get_isRowSelected(This,row,isSelected) \
- ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) )
-
-#define IAccessibleTable2_selectRow(This,row) \
- ( (This)->lpVtbl -> selectRow(This,row) )
-
-#define IAccessibleTable2_selectColumn(This,column) \
- ( (This)->lpVtbl -> selectColumn(This,column) )
-
-#define IAccessibleTable2_unselectRow(This,row) \
- ( (This)->lpVtbl -> unselectRow(This,row) )
-
-#define IAccessibleTable2_unselectColumn(This,column) \
- ( (This)->lpVtbl -> unselectColumn(This,column) )
-
-#define IAccessibleTable2_get_modelChange(This,modelChange) \
- ( (This)->lpVtbl -> get_modelChange(This,modelChange) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleTable2_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_i.c
deleted file mode 100644
index f5444155ad..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleTable2.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleTable2,0x6167f295,0x06f0,0x4cdd,0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_p.c
deleted file mode 100644
index f4b782f9dc..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_p.c
+++ /dev/null
@@ -1,1091 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleTable2.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleTable2.h"
-
-#define TYPE_FORMAT_STRING_SIZE 141
-#define PROC_FORMAT_STRING_SIZE 775
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleTable2_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleTable2_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleTable2_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleTable2_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleTable2_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleTable2_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleTable2_MIDL_TYPE_FORMAT_STRING AccessibleTable2__MIDL_TypeFormatString;
-extern const AccessibleTable2_MIDL_PROC_FORMAT_STRING AccessibleTable2__MIDL_ProcFormatString;
-extern const AccessibleTable2_MIDL_EXPR_FORMAT_STRING AccessibleTable2__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleTable2_MIDL_PROC_FORMAT_STRING AccessibleTable2__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_cellAt */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 10 */ NdrFcShort( 0x10 ), /* 16 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 16 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 24 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 30 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter cell */
-
-/* 36 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 40 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 42 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 44 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 46 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_caption */
-
-/* 48 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 50 */ NdrFcLong( 0x0 ), /* 0 */
-/* 54 */ NdrFcShort( 0x4 ), /* 4 */
-/* 56 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-/* 60 */ NdrFcShort( 0x8 ), /* 8 */
-/* 62 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 64 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 66 */ NdrFcShort( 0x0 ), /* 0 */
-/* 68 */ NdrFcShort( 0x0 ), /* 0 */
-/* 70 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessible */
-
-/* 72 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 74 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 76 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 80 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 82 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnDescription */
-
-/* 84 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 86 */ NdrFcLong( 0x0 ), /* 0 */
-/* 90 */ NdrFcShort( 0x5 ), /* 5 */
-/* 92 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 94 */ NdrFcShort( 0x8 ), /* 8 */
-/* 96 */ NdrFcShort( 0x8 ), /* 8 */
-/* 98 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 100 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 102 */ NdrFcShort( 0x1 ), /* 1 */
-/* 104 */ NdrFcShort( 0x0 ), /* 0 */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 108 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter description */
-
-/* 114 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 118 */ NdrFcShort( 0x36 ), /* Type Offset=54 */
-
- /* Return value */
-
-/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 122 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nColumns */
-
-/* 126 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 128 */ NdrFcLong( 0x0 ), /* 0 */
-/* 132 */ NdrFcShort( 0x6 ), /* 6 */
-/* 134 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 136 */ NdrFcShort( 0x0 ), /* 0 */
-/* 138 */ NdrFcShort( 0x24 ), /* 36 */
-/* 140 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 142 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 144 */ NdrFcShort( 0x0 ), /* 0 */
-/* 146 */ NdrFcShort( 0x0 ), /* 0 */
-/* 148 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter columnCount */
-
-/* 150 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 152 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 154 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 156 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 158 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 160 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nRows */
-
-/* 162 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 164 */ NdrFcLong( 0x0 ), /* 0 */
-/* 168 */ NdrFcShort( 0x7 ), /* 7 */
-/* 170 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 172 */ NdrFcShort( 0x0 ), /* 0 */
-/* 174 */ NdrFcShort( 0x24 ), /* 36 */
-/* 176 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 178 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 180 */ NdrFcShort( 0x0 ), /* 0 */
-/* 182 */ NdrFcShort( 0x0 ), /* 0 */
-/* 184 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowCount */
-
-/* 186 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 188 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 190 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 194 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 196 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedCells */
-
-/* 198 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 200 */ NdrFcLong( 0x0 ), /* 0 */
-/* 204 */ NdrFcShort( 0x8 ), /* 8 */
-/* 206 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 208 */ NdrFcShort( 0x0 ), /* 0 */
-/* 210 */ NdrFcShort( 0x24 ), /* 36 */
-/* 212 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 214 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 216 */ NdrFcShort( 0x0 ), /* 0 */
-/* 218 */ NdrFcShort( 0x0 ), /* 0 */
-/* 220 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellCount */
-
-/* 222 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 224 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 226 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 228 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 230 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 232 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedColumns */
-
-/* 234 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 236 */ NdrFcLong( 0x0 ), /* 0 */
-/* 240 */ NdrFcShort( 0x9 ), /* 9 */
-/* 242 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 244 */ NdrFcShort( 0x0 ), /* 0 */
-/* 246 */ NdrFcShort( 0x24 ), /* 36 */
-/* 248 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 250 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 252 */ NdrFcShort( 0x0 ), /* 0 */
-/* 254 */ NdrFcShort( 0x0 ), /* 0 */
-/* 256 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter columnCount */
-
-/* 258 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 260 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 262 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 264 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 266 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 268 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedRows */
-
-/* 270 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 272 */ NdrFcLong( 0x0 ), /* 0 */
-/* 276 */ NdrFcShort( 0xa ), /* 10 */
-/* 278 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 280 */ NdrFcShort( 0x0 ), /* 0 */
-/* 282 */ NdrFcShort( 0x24 ), /* 36 */
-/* 284 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 286 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 288 */ NdrFcShort( 0x0 ), /* 0 */
-/* 290 */ NdrFcShort( 0x0 ), /* 0 */
-/* 292 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowCount */
-
-/* 294 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 296 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 298 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 300 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 302 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 304 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowDescription */
-
-/* 306 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 308 */ NdrFcLong( 0x0 ), /* 0 */
-/* 312 */ NdrFcShort( 0xb ), /* 11 */
-/* 314 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 316 */ NdrFcShort( 0x8 ), /* 8 */
-/* 318 */ NdrFcShort( 0x8 ), /* 8 */
-/* 320 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 322 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 324 */ NdrFcShort( 0x1 ), /* 1 */
-/* 326 */ NdrFcShort( 0x0 ), /* 0 */
-/* 328 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 330 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 332 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 334 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter description */
-
-/* 336 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 338 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 340 */ NdrFcShort( 0x36 ), /* Type Offset=54 */
-
- /* Return value */
-
-/* 342 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 344 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 346 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedCells */
-
-/* 348 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 350 */ NdrFcLong( 0x0 ), /* 0 */
-/* 354 */ NdrFcShort( 0xc ), /* 12 */
-/* 356 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 358 */ NdrFcShort( 0x0 ), /* 0 */
-/* 360 */ NdrFcShort( 0x24 ), /* 36 */
-/* 362 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 364 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 366 */ NdrFcShort( 0x1 ), /* 1 */
-/* 368 */ NdrFcShort( 0x0 ), /* 0 */
-/* 370 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cells */
-
-/* 372 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 374 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 376 */ NdrFcShort( 0x44 ), /* Type Offset=68 */
-
- /* Parameter nSelectedCells */
-
-/* 378 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 380 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 382 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 384 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 386 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 388 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedColumns */
-
-/* 390 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 392 */ NdrFcLong( 0x0 ), /* 0 */
-/* 396 */ NdrFcShort( 0xd ), /* 13 */
-/* 398 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 400 */ NdrFcShort( 0x0 ), /* 0 */
-/* 402 */ NdrFcShort( 0x24 ), /* 36 */
-/* 404 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 406 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 408 */ NdrFcShort( 0x1 ), /* 1 */
-/* 410 */ NdrFcShort( 0x0 ), /* 0 */
-/* 412 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter selectedColumns */
-
-/* 414 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 416 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 418 */ NdrFcShort( 0x62 ), /* Type Offset=98 */
-
- /* Parameter nColumns */
-
-/* 420 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 422 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 424 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 426 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 428 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 430 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedRows */
-
-/* 432 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 434 */ NdrFcLong( 0x0 ), /* 0 */
-/* 438 */ NdrFcShort( 0xe ), /* 14 */
-/* 440 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 442 */ NdrFcShort( 0x0 ), /* 0 */
-/* 444 */ NdrFcShort( 0x24 ), /* 36 */
-/* 446 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 448 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 450 */ NdrFcShort( 0x1 ), /* 1 */
-/* 452 */ NdrFcShort( 0x0 ), /* 0 */
-/* 454 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter selectedRows */
-
-/* 456 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 458 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 460 */ NdrFcShort( 0x62 ), /* Type Offset=98 */
-
- /* Parameter nRows */
-
-/* 462 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 464 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 466 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 468 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 470 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 472 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_summary */
-
-/* 474 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 476 */ NdrFcLong( 0x0 ), /* 0 */
-/* 480 */ NdrFcShort( 0xf ), /* 15 */
-/* 482 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 484 */ NdrFcShort( 0x0 ), /* 0 */
-/* 486 */ NdrFcShort( 0x8 ), /* 8 */
-/* 488 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 490 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 492 */ NdrFcShort( 0x0 ), /* 0 */
-/* 494 */ NdrFcShort( 0x0 ), /* 0 */
-/* 496 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessible */
-
-/* 498 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 500 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 502 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 504 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 506 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 508 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isColumnSelected */
-
-/* 510 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 512 */ NdrFcLong( 0x0 ), /* 0 */
-/* 516 */ NdrFcShort( 0x10 ), /* 16 */
-/* 518 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 520 */ NdrFcShort( 0x8 ), /* 8 */
-/* 522 */ NdrFcShort( 0x21 ), /* 33 */
-/* 524 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 526 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 528 */ NdrFcShort( 0x0 ), /* 0 */
-/* 530 */ NdrFcShort( 0x0 ), /* 0 */
-/* 532 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 534 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 536 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 538 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 540 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 542 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 544 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 546 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 548 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 550 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isRowSelected */
-
-/* 552 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 554 */ NdrFcLong( 0x0 ), /* 0 */
-/* 558 */ NdrFcShort( 0x11 ), /* 17 */
-/* 560 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 562 */ NdrFcShort( 0x8 ), /* 8 */
-/* 564 */ NdrFcShort( 0x21 ), /* 33 */
-/* 566 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 568 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 570 */ NdrFcShort( 0x0 ), /* 0 */
-/* 572 */ NdrFcShort( 0x0 ), /* 0 */
-/* 574 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 576 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 578 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 580 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 582 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 584 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 586 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 588 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 590 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 592 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure selectRow */
-
-/* 594 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 596 */ NdrFcLong( 0x0 ), /* 0 */
-/* 600 */ NdrFcShort( 0x12 ), /* 18 */
-/* 602 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 604 */ NdrFcShort( 0x8 ), /* 8 */
-/* 606 */ NdrFcShort( 0x8 ), /* 8 */
-/* 608 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 610 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 612 */ NdrFcShort( 0x0 ), /* 0 */
-/* 614 */ NdrFcShort( 0x0 ), /* 0 */
-/* 616 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 618 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 620 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 622 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 624 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 626 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 628 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure selectColumn */
-
-/* 630 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 632 */ NdrFcLong( 0x0 ), /* 0 */
-/* 636 */ NdrFcShort( 0x13 ), /* 19 */
-/* 638 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 640 */ NdrFcShort( 0x8 ), /* 8 */
-/* 642 */ NdrFcShort( 0x8 ), /* 8 */
-/* 644 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 646 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 648 */ NdrFcShort( 0x0 ), /* 0 */
-/* 650 */ NdrFcShort( 0x0 ), /* 0 */
-/* 652 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 654 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 656 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 658 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 660 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 662 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 664 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure unselectRow */
-
-/* 666 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 668 */ NdrFcLong( 0x0 ), /* 0 */
-/* 672 */ NdrFcShort( 0x14 ), /* 20 */
-/* 674 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 676 */ NdrFcShort( 0x8 ), /* 8 */
-/* 678 */ NdrFcShort( 0x8 ), /* 8 */
-/* 680 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 682 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 684 */ NdrFcShort( 0x0 ), /* 0 */
-/* 686 */ NdrFcShort( 0x0 ), /* 0 */
-/* 688 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 690 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 692 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 694 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 696 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 698 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 700 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure unselectColumn */
-
-/* 702 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 704 */ NdrFcLong( 0x0 ), /* 0 */
-/* 708 */ NdrFcShort( 0x15 ), /* 21 */
-/* 710 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 712 */ NdrFcShort( 0x8 ), /* 8 */
-/* 714 */ NdrFcShort( 0x8 ), /* 8 */
-/* 716 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 718 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 720 */ NdrFcShort( 0x0 ), /* 0 */
-/* 722 */ NdrFcShort( 0x0 ), /* 0 */
-/* 724 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 726 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 728 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 730 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 732 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 734 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 736 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_modelChange */
-
-/* 738 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 740 */ NdrFcLong( 0x0 ), /* 0 */
-/* 744 */ NdrFcShort( 0x16 ), /* 22 */
-/* 746 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 748 */ NdrFcShort( 0x0 ), /* 0 */
-/* 750 */ NdrFcShort( 0x8 ), /* 8 */
-/* 752 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 754 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 756 */ NdrFcShort( 0x0 ), /* 0 */
-/* 758 */ NdrFcShort( 0x0 ), /* 0 */
-/* 760 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter modelChange */
-
-/* 762 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
-/* 764 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 766 */ NdrFcShort( 0x7e ), /* Type Offset=126 */
-
- /* Return value */
-
-/* 768 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 770 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 772 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleTable2_MIDL_TYPE_FORMAT_STRING AccessibleTable2__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 4 */ NdrFcShort( 0x2 ), /* Offset= 2 (6) */
-/* 6 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 8 */ NdrFcLong( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x0 ), /* 0 */
-/* 14 */ NdrFcShort( 0x0 ), /* 0 */
-/* 16 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 18 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 20 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 22 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 24 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 26 */ NdrFcShort( 0x1c ), /* Offset= 28 (54) */
-/* 28 */
- 0x13, 0x0, /* FC_OP */
-/* 30 */ NdrFcShort( 0xe ), /* Offset= 14 (44) */
-/* 32 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 34 */ NdrFcShort( 0x2 ), /* 2 */
-/* 36 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 38 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 40 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 42 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 44 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 46 */ NdrFcShort( 0x8 ), /* 8 */
-/* 48 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (32) */
-/* 50 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 52 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 54 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x4 ), /* 4 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0xffde ), /* Offset= -34 (28) */
-/* 64 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 66 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 68 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */
-/* 72 */
- 0x13, 0x0, /* FC_OP */
-/* 74 */ NdrFcShort( 0x2 ), /* Offset= 2 (76) */
-/* 76 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 78 */ NdrFcShort( 0x0 ), /* 0 */
-/* 80 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 82 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 84 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 86 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 90 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 92 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 94 */ NdrFcShort( 0xffa8 ), /* Offset= -88 (6) */
-/* 96 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 98 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */
-/* 102 */
- 0x13, 0x0, /* FC_OP */
-/* 104 */ NdrFcShort( 0x2 ), /* Offset= 2 (106) */
-/* 106 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 108 */ NdrFcShort( 0x4 ), /* 4 */
-/* 110 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 112 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 114 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 116 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 118 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 120 */ 0x3, /* FC_SMALL */
- 0x5c, /* FC_PAD */
-/* 122 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 124 */ NdrFcShort( 0x2 ), /* Offset= 2 (126) */
-/* 126 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 128 */ NdrFcShort( 0x14 ), /* 20 */
-/* 130 */ NdrFcShort( 0x0 ), /* 0 */
-/* 132 */ NdrFcShort( 0x0 ), /* Offset= 0 (132) */
-/* 134 */ 0xd, /* FC_ENUM16 */
- 0x8, /* FC_LONG */
-/* 136 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 138 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleTable2, ver. 0.0,
- GUID={0x6167f295,0x06f0,0x4cdd,{0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleTable2_FormatStringOffsetTable[] =
- {
- 0,
- 48,
- 84,
- 126,
- 162,
- 198,
- 234,
- 270,
- 306,
- 348,
- 390,
- 432,
- 474,
- 510,
- 552,
- 594,
- 630,
- 666,
- 702,
- 738
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleTable2__MIDL_ProcFormatString.Format,
- &IAccessibleTable2_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleTable2__MIDL_ProcFormatString.Format,
- &IAccessibleTable2_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(23) _IAccessibleTable2ProxyVtbl =
-{
- &IAccessibleTable2_ProxyInfo,
- &IID_IAccessibleTable2,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_cellAt */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_caption */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_columnDescription */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedCells */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_rowDescription */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedCells */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_summary */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isColumnSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isRowSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::selectRow */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::selectColumn */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectRow */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectColumn */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable2::get_modelChange */
-};
-
-const CInterfaceStubVtbl _IAccessibleTable2StubVtbl =
-{
- &IID_IAccessibleTable2,
- &IAccessibleTable2_ServerInfo,
- 23,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleTable2__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleTable2_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleTable2ProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleTable2_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleTable2StubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleTable2_InterfaceNamesList[] =
-{
- "IAccessibleTable2",
- 0
-};
-
-
-#define _AccessibleTable2_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTable2, pIID, n)
-
-int __stdcall _AccessibleTable2_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleTable2_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleTable2_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleTable2_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleTable2_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleTable2_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleTable2_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell.h
deleted file mode 100644
index 621768e149..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell.h
+++ /dev/null
@@ -1,246 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleTableCell.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleTableCell_h__
-#define __AccessibleTableCell_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleTableCell_FWD_DEFINED__
-#define __IAccessibleTableCell_FWD_DEFINED__
-typedef interface IAccessibleTableCell IAccessibleTableCell;
-#endif /* __IAccessibleTableCell_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "Accessible2.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleTableCell_INTERFACE_DEFINED__
-#define __IAccessibleTableCell_INTERFACE_DEFINED__
-
-/* interface IAccessibleTableCell */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleTableCell;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("594116B1-C99F-4847-AD06-0A7A86ECE645")
- IAccessibleTableCell : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtent(
- /* [retval][out] */ long *nColumnsSpanned) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeaderCells(
- /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles,
- /* [retval][out] */ long *nColumnHeaderCells) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
- /* [retval][out] */ long *columnIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtent(
- /* [retval][out] */ long *nRowsSpanned) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeaderCells(
- /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles,
- /* [retval][out] */ long *nRowHeaderCells) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
- /* [retval][out] */ long *rowIndex) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtents(
- /* [out] */ long *row,
- /* [out] */ long *column,
- /* [out] */ long *rowExtents,
- /* [out] */ long *columnExtents,
- /* [retval][out] */ boolean *isSelected) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_table(
- /* [retval][out] */ IUnknown **table) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleTableCellVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleTableCell * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleTableCell * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleTableCell * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtent )(
- IAccessibleTableCell * This,
- /* [retval][out] */ long *nColumnsSpanned);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeaderCells )(
- IAccessibleTableCell * This,
- /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles,
- /* [retval][out] */ long *nColumnHeaderCells);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )(
- IAccessibleTableCell * This,
- /* [retval][out] */ long *columnIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtent )(
- IAccessibleTableCell * This,
- /* [retval][out] */ long *nRowsSpanned);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeaderCells )(
- IAccessibleTableCell * This,
- /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles,
- /* [retval][out] */ long *nRowHeaderCells);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )(
- IAccessibleTableCell * This,
- /* [retval][out] */ long *rowIndex);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )(
- IAccessibleTableCell * This,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtents )(
- IAccessibleTableCell * This,
- /* [out] */ long *row,
- /* [out] */ long *column,
- /* [out] */ long *rowExtents,
- /* [out] */ long *columnExtents,
- /* [retval][out] */ boolean *isSelected);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_table )(
- IAccessibleTableCell * This,
- /* [retval][out] */ IUnknown **table);
-
- END_INTERFACE
- } IAccessibleTableCellVtbl;
-
- interface IAccessibleTableCell
- {
- CONST_VTBL struct IAccessibleTableCellVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleTableCell_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleTableCell_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleTableCell_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleTableCell_get_columnExtent(This,nColumnsSpanned) \
- ( (This)->lpVtbl -> get_columnExtent(This,nColumnsSpanned) )
-
-#define IAccessibleTableCell_get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) \
- ( (This)->lpVtbl -> get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) )
-
-#define IAccessibleTableCell_get_columnIndex(This,columnIndex) \
- ( (This)->lpVtbl -> get_columnIndex(This,columnIndex) )
-
-#define IAccessibleTableCell_get_rowExtent(This,nRowsSpanned) \
- ( (This)->lpVtbl -> get_rowExtent(This,nRowsSpanned) )
-
-#define IAccessibleTableCell_get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) \
- ( (This)->lpVtbl -> get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) )
-
-#define IAccessibleTableCell_get_rowIndex(This,rowIndex) \
- ( (This)->lpVtbl -> get_rowIndex(This,rowIndex) )
-
-#define IAccessibleTableCell_get_isSelected(This,isSelected) \
- ( (This)->lpVtbl -> get_isSelected(This,isSelected) )
-
-#define IAccessibleTableCell_get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) \
- ( (This)->lpVtbl -> get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) )
-
-#define IAccessibleTableCell_get_table(This,table) \
- ( (This)->lpVtbl -> get_table(This,table) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleTableCell_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_i.c
deleted file mode 100644
index 4ea10e057d..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleTableCell.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleTableCell,0x594116B1,0xC99F,0x4847,0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_p.c
deleted file mode 100644
index 2627caaef9..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_p.c
+++ /dev/null
@@ -1,637 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleTableCell.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleTableCell.h"
-
-#define TYPE_FORMAT_STRING_SIZE 63
-#define PROC_FORMAT_STRING_SIZE 361
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 0
-
-typedef struct _AccessibleTableCell_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleTableCell_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleTableCell_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleTableCell_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleTableCell_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleTableCell_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleTableCell_MIDL_TYPE_FORMAT_STRING AccessibleTableCell__MIDL_TypeFormatString;
-extern const AccessibleTableCell_MIDL_PROC_FORMAT_STRING AccessibleTableCell__MIDL_ProcFormatString;
-extern const AccessibleTableCell_MIDL_EXPR_FORMAT_STRING AccessibleTableCell__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo;
-
-
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleTableCell_MIDL_PROC_FORMAT_STRING AccessibleTableCell__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_columnExtent */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x24 ), /* 36 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nColumnsSpanned */
-
-/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnHeaderCells */
-
-/* 36 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 38 */ NdrFcLong( 0x0 ), /* 0 */
-/* 42 */ NdrFcShort( 0x4 ), /* 4 */
-/* 44 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 46 */ NdrFcShort( 0x0 ), /* 0 */
-/* 48 */ NdrFcShort( 0x24 ), /* 36 */
-/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 52 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 54 */ NdrFcShort( 0x1 ), /* 1 */
-/* 56 */ NdrFcShort( 0x0 ), /* 0 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellAccessibles */
-
-/* 60 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 64 */ NdrFcShort( 0x6 ), /* Type Offset=6 */
-
- /* Parameter nColumnHeaderCells */
-
-/* 66 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 70 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 72 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 74 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 76 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnIndex */
-
-/* 78 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 80 */ NdrFcLong( 0x0 ), /* 0 */
-/* 84 */ NdrFcShort( 0x5 ), /* 5 */
-/* 86 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 88 */ NdrFcShort( 0x0 ), /* 0 */
-/* 90 */ NdrFcShort( 0x24 ), /* 36 */
-/* 92 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 94 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 96 */ NdrFcShort( 0x0 ), /* 0 */
-/* 98 */ NdrFcShort( 0x0 ), /* 0 */
-/* 100 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter columnIndex */
-
-/* 102 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 104 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 106 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 110 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowExtent */
-
-/* 114 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 116 */ NdrFcLong( 0x0 ), /* 0 */
-/* 120 */ NdrFcShort( 0x6 ), /* 6 */
-/* 122 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 124 */ NdrFcShort( 0x0 ), /* 0 */
-/* 126 */ NdrFcShort( 0x24 ), /* 36 */
-/* 128 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 130 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 132 */ NdrFcShort( 0x0 ), /* 0 */
-/* 134 */ NdrFcShort( 0x0 ), /* 0 */
-/* 136 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nRowsSpanned */
-
-/* 138 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 140 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 142 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 144 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 146 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 148 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowHeaderCells */
-
-/* 150 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 152 */ NdrFcLong( 0x0 ), /* 0 */
-/* 156 */ NdrFcShort( 0x7 ), /* 7 */
-/* 158 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 160 */ NdrFcShort( 0x0 ), /* 0 */
-/* 162 */ NdrFcShort( 0x24 ), /* 36 */
-/* 164 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 166 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 168 */ NdrFcShort( 0x1 ), /* 1 */
-/* 170 */ NdrFcShort( 0x0 ), /* 0 */
-/* 172 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellAccessibles */
-
-/* 174 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 176 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 178 */ NdrFcShort( 0x6 ), /* Type Offset=6 */
-
- /* Parameter nRowHeaderCells */
-
-/* 180 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 182 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 184 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 186 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 188 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 190 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowIndex */
-
-/* 192 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 194 */ NdrFcLong( 0x0 ), /* 0 */
-/* 198 */ NdrFcShort( 0x8 ), /* 8 */
-/* 200 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 202 */ NdrFcShort( 0x0 ), /* 0 */
-/* 204 */ NdrFcShort( 0x24 ), /* 36 */
-/* 206 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 208 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 210 */ NdrFcShort( 0x0 ), /* 0 */
-/* 212 */ NdrFcShort( 0x0 ), /* 0 */
-/* 214 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowIndex */
-
-/* 216 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 218 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 220 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 222 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 224 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 226 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isSelected */
-
-/* 228 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 230 */ NdrFcLong( 0x0 ), /* 0 */
-/* 234 */ NdrFcShort( 0x9 ), /* 9 */
-/* 236 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 238 */ NdrFcShort( 0x0 ), /* 0 */
-/* 240 */ NdrFcShort( 0x21 ), /* 33 */
-/* 242 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 244 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 246 */ NdrFcShort( 0x0 ), /* 0 */
-/* 248 */ NdrFcShort( 0x0 ), /* 0 */
-/* 250 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter isSelected */
-
-/* 252 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 254 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 256 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 258 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 260 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 262 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowColumnExtents */
-
-/* 264 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 266 */ NdrFcLong( 0x0 ), /* 0 */
-/* 270 */ NdrFcShort( 0xa ), /* 10 */
-/* 272 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
-/* 274 */ NdrFcShort( 0x0 ), /* 0 */
-/* 276 */ NdrFcShort( 0x91 ), /* 145 */
-/* 278 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x6, /* 6 */
-/* 280 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 282 */ NdrFcShort( 0x0 ), /* 0 */
-/* 284 */ NdrFcShort( 0x0 ), /* 0 */
-/* 286 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 288 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 290 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 292 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 294 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 296 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 298 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter rowExtents */
-
-/* 300 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 302 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 304 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter columnExtents */
-
-/* 306 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 308 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 310 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 312 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 314 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 316 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 318 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 320 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
-/* 322 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_table */
-
-/* 324 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 326 */ NdrFcLong( 0x0 ), /* 0 */
-/* 330 */ NdrFcShort( 0xb ), /* 11 */
-/* 332 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 334 */ NdrFcShort( 0x0 ), /* 0 */
-/* 336 */ NdrFcShort( 0x8 ), /* 8 */
-/* 338 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 340 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 342 */ NdrFcShort( 0x0 ), /* 0 */
-/* 344 */ NdrFcShort( 0x0 ), /* 0 */
-/* 346 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter table */
-
-/* 348 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 350 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 352 */ NdrFcShort( 0x3a ), /* Type Offset=58 */
-
- /* Return value */
-
-/* 354 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 356 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 358 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleTableCell_MIDL_TYPE_FORMAT_STRING AccessibleTableCell__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 6 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */
-/* 10 */
- 0x13, 0x0, /* FC_OP */
-/* 12 */ NdrFcShort( 0x14 ), /* Offset= 20 (32) */
-/* 14 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 16 */ NdrFcLong( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-/* 24 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 26 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 28 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 30 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 32 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 34 */ NdrFcShort( 0x0 ), /* 0 */
-/* 36 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 38 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 40 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 42 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 46 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 48 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 50 */ NdrFcShort( 0xffdc ), /* Offset= -36 (14) */
-/* 52 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 54 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 56 */ 0x3, /* FC_SMALL */
- 0x5c, /* FC_PAD */
-/* 58 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 60 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (14) */
-
- 0x0
- }
- };
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleTableCell, ver. 0.0,
- GUID={0x594116B1,0xC99F,0x4847,{0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleTableCell_FormatStringOffsetTable[] =
- {
- 0,
- 36,
- 78,
- 114,
- 150,
- 192,
- 228,
- 264,
- 324
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleTableCell__MIDL_ProcFormatString.Format,
- &IAccessibleTableCell_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleTableCell__MIDL_ProcFormatString.Format,
- &IAccessibleTableCell_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(12) _IAccessibleTableCellProxyVtbl =
-{
- &IAccessibleTableCell_ProxyInfo,
- &IID_IAccessibleTableCell,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnExtent */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnHeaderCells */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowExtent */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowHeaderCells */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_isSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowColumnExtents */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_table */
-};
-
-const CInterfaceStubVtbl _IAccessibleTableCellStubVtbl =
-{
- &IID_IAccessibleTableCell,
- &IAccessibleTableCell_ServerInfo,
- 12,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleTableCell__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- 0,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleTableCell_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleTableCellProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleTableCell_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleTableCellStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleTableCell_InterfaceNamesList[] =
-{
- "IAccessibleTableCell",
- 0
-};
-
-
-#define _AccessibleTableCell_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTableCell, pIID, n)
-
-int __stdcall _AccessibleTableCell_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleTableCell_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleTableCell_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleTableCell_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleTableCell_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleTableCell_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleTableCell_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_i.c
deleted file mode 100644
index 0fa33967ac..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:54 2012
- */
-/* Compiler settings for AccessibleTable.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleTable,0x35AD8070,0xC20C,0x4fb4,0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_p.c
deleted file mode 100644
index 9ec9ffdb46..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_p.c
+++ /dev/null
@@ -1,1526 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:54 2012
- */
-/* Compiler settings for AccessibleTable.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleTable.h"
-
-#define TYPE_FORMAT_STRING_SIZE 139
-#define PROC_FORMAT_STRING_SIZE 1219
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleTable_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleTable_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleTable_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleTable_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleTable_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleTable_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleTable_MIDL_TYPE_FORMAT_STRING AccessibleTable__MIDL_TypeFormatString;
-extern const AccessibleTable_MIDL_PROC_FORMAT_STRING AccessibleTable__MIDL_ProcFormatString;
-extern const AccessibleTable_MIDL_EXPR_FORMAT_STRING AccessibleTable__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleTable_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleTable_MIDL_PROC_FORMAT_STRING AccessibleTable__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_accessibleAt */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 10 */ NdrFcShort( 0x10 ), /* 16 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 16 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 24 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 30 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter accessible */
-
-/* 36 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 40 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 42 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 44 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 46 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_caption */
-
-/* 48 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 50 */ NdrFcLong( 0x0 ), /* 0 */
-/* 54 */ NdrFcShort( 0x4 ), /* 4 */
-/* 56 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-/* 60 */ NdrFcShort( 0x8 ), /* 8 */
-/* 62 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 64 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 66 */ NdrFcShort( 0x0 ), /* 0 */
-/* 68 */ NdrFcShort( 0x0 ), /* 0 */
-/* 70 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessible */
-
-/* 72 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 74 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 76 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 80 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 82 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_childIndex */
-
-/* 84 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 86 */ NdrFcLong( 0x0 ), /* 0 */
-/* 90 */ NdrFcShort( 0x5 ), /* 5 */
-/* 92 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 94 */ NdrFcShort( 0x10 ), /* 16 */
-/* 96 */ NdrFcShort( 0x24 ), /* 36 */
-/* 98 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 100 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 102 */ NdrFcShort( 0x0 ), /* 0 */
-/* 104 */ NdrFcShort( 0x0 ), /* 0 */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowIndex */
-
-/* 108 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 112 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter columnIndex */
-
-/* 114 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 118 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter cellIndex */
-
-/* 120 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 122 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 128 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 130 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnDescription */
-
-/* 132 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 134 */ NdrFcLong( 0x0 ), /* 0 */
-/* 138 */ NdrFcShort( 0x6 ), /* 6 */
-/* 140 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 142 */ NdrFcShort( 0x8 ), /* 8 */
-/* 144 */ NdrFcShort( 0x8 ), /* 8 */
-/* 146 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 148 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 150 */ NdrFcShort( 0x1 ), /* 1 */
-/* 152 */ NdrFcShort( 0x0 ), /* 0 */
-/* 154 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 156 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 158 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 160 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter description */
-
-/* 162 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 164 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 166 */ NdrFcShort( 0x3a ), /* Type Offset=58 */
-
- /* Return value */
-
-/* 168 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 170 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 172 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnExtentAt */
-
-/* 174 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 176 */ NdrFcLong( 0x0 ), /* 0 */
-/* 180 */ NdrFcShort( 0x7 ), /* 7 */
-/* 182 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 184 */ NdrFcShort( 0x10 ), /* 16 */
-/* 186 */ NdrFcShort( 0x24 ), /* 36 */
-/* 188 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 190 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 192 */ NdrFcShort( 0x0 ), /* 0 */
-/* 194 */ NdrFcShort( 0x0 ), /* 0 */
-/* 196 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 198 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 200 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 202 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 204 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 206 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 208 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter nColumnsSpanned */
-
-/* 210 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 212 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 214 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 216 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 218 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 220 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnHeader */
-
-/* 222 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 224 */ NdrFcLong( 0x0 ), /* 0 */
-/* 228 */ NdrFcShort( 0x8 ), /* 8 */
-/* 230 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 232 */ NdrFcShort( 0x0 ), /* 0 */
-/* 234 */ NdrFcShort( 0x24 ), /* 36 */
-/* 236 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 238 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 240 */ NdrFcShort( 0x0 ), /* 0 */
-/* 242 */ NdrFcShort( 0x0 ), /* 0 */
-/* 244 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessibleTable */
-
-/* 246 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 248 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 250 */ NdrFcShort( 0x44 ), /* Type Offset=68 */
-
- /* Parameter startingRowIndex */
-
-/* 252 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 254 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 256 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 258 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 260 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 262 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_columnIndex */
-
-/* 264 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 266 */ NdrFcLong( 0x0 ), /* 0 */
-/* 270 */ NdrFcShort( 0x9 ), /* 9 */
-/* 272 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 274 */ NdrFcShort( 0x8 ), /* 8 */
-/* 276 */ NdrFcShort( 0x24 ), /* 36 */
-/* 278 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 280 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 282 */ NdrFcShort( 0x0 ), /* 0 */
-/* 284 */ NdrFcShort( 0x0 ), /* 0 */
-/* 286 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellIndex */
-
-/* 288 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 290 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 292 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter columnIndex */
-
-/* 294 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 296 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 298 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 300 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 302 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 304 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nColumns */
-
-/* 306 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 308 */ NdrFcLong( 0x0 ), /* 0 */
-/* 312 */ NdrFcShort( 0xa ), /* 10 */
-/* 314 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 316 */ NdrFcShort( 0x0 ), /* 0 */
-/* 318 */ NdrFcShort( 0x24 ), /* 36 */
-/* 320 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 322 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 324 */ NdrFcShort( 0x0 ), /* 0 */
-/* 326 */ NdrFcShort( 0x0 ), /* 0 */
-/* 328 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter columnCount */
-
-/* 330 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 332 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 334 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 336 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 338 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 340 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nRows */
-
-/* 342 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 344 */ NdrFcLong( 0x0 ), /* 0 */
-/* 348 */ NdrFcShort( 0xb ), /* 11 */
-/* 350 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 352 */ NdrFcShort( 0x0 ), /* 0 */
-/* 354 */ NdrFcShort( 0x24 ), /* 36 */
-/* 356 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 358 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 360 */ NdrFcShort( 0x0 ), /* 0 */
-/* 362 */ NdrFcShort( 0x0 ), /* 0 */
-/* 364 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowCount */
-
-/* 366 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 368 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 370 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 372 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 374 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 376 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedChildren */
-
-/* 378 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 380 */ NdrFcLong( 0x0 ), /* 0 */
-/* 384 */ NdrFcShort( 0xc ), /* 12 */
-/* 386 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 388 */ NdrFcShort( 0x0 ), /* 0 */
-/* 390 */ NdrFcShort( 0x24 ), /* 36 */
-/* 392 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 394 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 396 */ NdrFcShort( 0x0 ), /* 0 */
-/* 398 */ NdrFcShort( 0x0 ), /* 0 */
-/* 400 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellCount */
-
-/* 402 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 404 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 406 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 408 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 410 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 412 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedColumns */
-
-/* 414 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 416 */ NdrFcLong( 0x0 ), /* 0 */
-/* 420 */ NdrFcShort( 0xd ), /* 13 */
-/* 422 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 424 */ NdrFcShort( 0x0 ), /* 0 */
-/* 426 */ NdrFcShort( 0x24 ), /* 36 */
-/* 428 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 430 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 432 */ NdrFcShort( 0x0 ), /* 0 */
-/* 434 */ NdrFcShort( 0x0 ), /* 0 */
-/* 436 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter columnCount */
-
-/* 438 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 440 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 442 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 444 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 446 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 448 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelectedRows */
-
-/* 450 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 452 */ NdrFcLong( 0x0 ), /* 0 */
-/* 456 */ NdrFcShort( 0xe ), /* 14 */
-/* 458 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 460 */ NdrFcShort( 0x0 ), /* 0 */
-/* 462 */ NdrFcShort( 0x24 ), /* 36 */
-/* 464 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 466 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 468 */ NdrFcShort( 0x0 ), /* 0 */
-/* 470 */ NdrFcShort( 0x0 ), /* 0 */
-/* 472 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter rowCount */
-
-/* 474 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 476 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 478 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 480 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 482 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 484 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowDescription */
-
-/* 486 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 488 */ NdrFcLong( 0x0 ), /* 0 */
-/* 492 */ NdrFcShort( 0xf ), /* 15 */
-/* 494 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 496 */ NdrFcShort( 0x8 ), /* 8 */
-/* 498 */ NdrFcShort( 0x8 ), /* 8 */
-/* 500 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 502 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 504 */ NdrFcShort( 0x1 ), /* 1 */
-/* 506 */ NdrFcShort( 0x0 ), /* 0 */
-/* 508 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 510 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 512 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 514 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter description */
-
-/* 516 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 518 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 520 */ NdrFcShort( 0x3a ), /* Type Offset=58 */
-
- /* Return value */
-
-/* 522 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 524 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 526 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowExtentAt */
-
-/* 528 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 530 */ NdrFcLong( 0x0 ), /* 0 */
-/* 534 */ NdrFcShort( 0x10 ), /* 16 */
-/* 536 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 538 */ NdrFcShort( 0x10 ), /* 16 */
-/* 540 */ NdrFcShort( 0x24 ), /* 36 */
-/* 542 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 544 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 546 */ NdrFcShort( 0x0 ), /* 0 */
-/* 548 */ NdrFcShort( 0x0 ), /* 0 */
-/* 550 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 552 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 554 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 556 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 558 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 560 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 562 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter nRowsSpanned */
-
-/* 564 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 566 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 568 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 570 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 572 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 574 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowHeader */
-
-/* 576 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 578 */ NdrFcLong( 0x0 ), /* 0 */
-/* 582 */ NdrFcShort( 0x11 ), /* 17 */
-/* 584 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 586 */ NdrFcShort( 0x0 ), /* 0 */
-/* 588 */ NdrFcShort( 0x24 ), /* 36 */
-/* 590 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x3, /* 3 */
-/* 592 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 594 */ NdrFcShort( 0x0 ), /* 0 */
-/* 596 */ NdrFcShort( 0x0 ), /* 0 */
-/* 598 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessibleTable */
-
-/* 600 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 602 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 604 */ NdrFcShort( 0x44 ), /* Type Offset=68 */
-
- /* Parameter startingColumnIndex */
-
-/* 606 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 608 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 610 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 612 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 614 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 616 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowIndex */
-
-/* 618 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 620 */ NdrFcLong( 0x0 ), /* 0 */
-/* 624 */ NdrFcShort( 0x12 ), /* 18 */
-/* 626 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 628 */ NdrFcShort( 0x8 ), /* 8 */
-/* 630 */ NdrFcShort( 0x24 ), /* 36 */
-/* 632 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 634 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 636 */ NdrFcShort( 0x0 ), /* 0 */
-/* 638 */ NdrFcShort( 0x0 ), /* 0 */
-/* 640 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter cellIndex */
-
-/* 642 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 644 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 646 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter rowIndex */
-
-/* 648 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 650 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 652 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 654 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 656 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 658 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedChildren */
-
-/* 660 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 662 */ NdrFcLong( 0x0 ), /* 0 */
-/* 666 */ NdrFcShort( 0x13 ), /* 19 */
-/* 668 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 670 */ NdrFcShort( 0x8 ), /* 8 */
-/* 672 */ NdrFcShort( 0x24 ), /* 36 */
-/* 674 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 676 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 678 */ NdrFcShort( 0x1 ), /* 1 */
-/* 680 */ NdrFcShort( 0x0 ), /* 0 */
-/* 682 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxChildren */
-
-/* 684 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 686 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 688 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter children */
-
-/* 690 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 692 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 694 */ NdrFcShort( 0x5a ), /* Type Offset=90 */
-
- /* Parameter nChildren */
-
-/* 696 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 698 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 700 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 702 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 704 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 706 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedColumns */
-
-/* 708 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 710 */ NdrFcLong( 0x0 ), /* 0 */
-/* 714 */ NdrFcShort( 0x14 ), /* 20 */
-/* 716 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 718 */ NdrFcShort( 0x8 ), /* 8 */
-/* 720 */ NdrFcShort( 0x24 ), /* 36 */
-/* 722 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 724 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 726 */ NdrFcShort( 0x1 ), /* 1 */
-/* 728 */ NdrFcShort( 0x0 ), /* 0 */
-/* 730 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxColumns */
-
-/* 732 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 734 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 736 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter columns */
-
-/* 738 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 740 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 742 */ NdrFcShort( 0x5a ), /* Type Offset=90 */
-
- /* Parameter nColumns */
-
-/* 744 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 746 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 748 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 750 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 752 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 754 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selectedRows */
-
-/* 756 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 758 */ NdrFcLong( 0x0 ), /* 0 */
-/* 762 */ NdrFcShort( 0x15 ), /* 21 */
-/* 764 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 766 */ NdrFcShort( 0x8 ), /* 8 */
-/* 768 */ NdrFcShort( 0x24 ), /* 36 */
-/* 770 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 772 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 774 */ NdrFcShort( 0x1 ), /* 1 */
-/* 776 */ NdrFcShort( 0x0 ), /* 0 */
-/* 778 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maxRows */
-
-/* 780 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 782 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 784 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter rows */
-
-/* 786 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
-/* 788 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 790 */ NdrFcShort( 0x5a ), /* Type Offset=90 */
-
- /* Parameter nRows */
-
-/* 792 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 794 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 796 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 798 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 800 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 802 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_summary */
-
-/* 804 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 806 */ NdrFcLong( 0x0 ), /* 0 */
-/* 810 */ NdrFcShort( 0x16 ), /* 22 */
-/* 812 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 814 */ NdrFcShort( 0x0 ), /* 0 */
-/* 816 */ NdrFcShort( 0x8 ), /* 8 */
-/* 818 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 820 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 822 */ NdrFcShort( 0x0 ), /* 0 */
-/* 824 */ NdrFcShort( 0x0 ), /* 0 */
-/* 826 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter accessible */
-
-/* 828 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
-/* 830 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 832 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
-
- /* Return value */
-
-/* 834 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 836 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 838 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isColumnSelected */
-
-/* 840 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 842 */ NdrFcLong( 0x0 ), /* 0 */
-/* 846 */ NdrFcShort( 0x17 ), /* 23 */
-/* 848 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 850 */ NdrFcShort( 0x8 ), /* 8 */
-/* 852 */ NdrFcShort( 0x21 ), /* 33 */
-/* 854 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 856 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 858 */ NdrFcShort( 0x0 ), /* 0 */
-/* 860 */ NdrFcShort( 0x0 ), /* 0 */
-/* 862 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 864 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 866 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 868 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 870 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 872 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 874 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 876 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 878 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 880 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isRowSelected */
-
-/* 882 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 884 */ NdrFcLong( 0x0 ), /* 0 */
-/* 888 */ NdrFcShort( 0x18 ), /* 24 */
-/* 890 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 892 */ NdrFcShort( 0x8 ), /* 8 */
-/* 894 */ NdrFcShort( 0x21 ), /* 33 */
-/* 896 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 898 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 900 */ NdrFcShort( 0x0 ), /* 0 */
-/* 902 */ NdrFcShort( 0x0 ), /* 0 */
-/* 904 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 906 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 908 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 910 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 912 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 914 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 916 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 918 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 920 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 922 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_isSelected */
-
-/* 924 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 926 */ NdrFcLong( 0x0 ), /* 0 */
-/* 930 */ NdrFcShort( 0x19 ), /* 25 */
-/* 932 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 934 */ NdrFcShort( 0x10 ), /* 16 */
-/* 936 */ NdrFcShort( 0x21 ), /* 33 */
-/* 938 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 940 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 942 */ NdrFcShort( 0x0 ), /* 0 */
-/* 944 */ NdrFcShort( 0x0 ), /* 0 */
-/* 946 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 948 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 950 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 952 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 954 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 956 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 958 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 960 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 962 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 964 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 966 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 968 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 970 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure selectRow */
-
-/* 972 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 974 */ NdrFcLong( 0x0 ), /* 0 */
-/* 978 */ NdrFcShort( 0x1a ), /* 26 */
-/* 980 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 982 */ NdrFcShort( 0x8 ), /* 8 */
-/* 984 */ NdrFcShort( 0x8 ), /* 8 */
-/* 986 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 988 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 990 */ NdrFcShort( 0x0 ), /* 0 */
-/* 992 */ NdrFcShort( 0x0 ), /* 0 */
-/* 994 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 996 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 998 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 1000 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 1002 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1004 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 1006 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure selectColumn */
-
-/* 1008 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 1010 */ NdrFcLong( 0x0 ), /* 0 */
-/* 1014 */ NdrFcShort( 0x1b ), /* 27 */
-/* 1016 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 1018 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1020 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1022 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 1024 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 1026 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1028 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1030 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 1032 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 1034 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 1036 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 1038 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1040 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 1042 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure unselectRow */
-
-/* 1044 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 1046 */ NdrFcLong( 0x0 ), /* 0 */
-/* 1050 */ NdrFcShort( 0x1c ), /* 28 */
-/* 1052 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 1054 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1056 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1058 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 1060 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 1062 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1064 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1066 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter row */
-
-/* 1068 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 1070 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 1072 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 1074 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1076 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 1078 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure unselectColumn */
-
-/* 1080 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 1082 */ NdrFcLong( 0x0 ), /* 0 */
-/* 1086 */ NdrFcShort( 0x1d ), /* 29 */
-/* 1088 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 1090 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1092 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1094 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 1096 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 1098 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1100 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1102 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter column */
-
-/* 1104 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 1106 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 1108 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 1110 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1112 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 1114 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_rowColumnExtentsAtIndex */
-
-/* 1116 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 1118 */ NdrFcLong( 0x0 ), /* 0 */
-/* 1122 */ NdrFcShort( 0x1e ), /* 30 */
-/* 1124 */ NdrFcShort( 0x20 ), /* x86 Stack size/offset = 32 */
-/* 1126 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1128 */ NdrFcShort( 0x91 ), /* 145 */
-/* 1130 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x7, /* 7 */
-/* 1132 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 1134 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1136 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1138 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter index */
-
-/* 1140 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 1142 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 1144 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter row */
-
-/* 1146 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 1148 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 1150 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter column */
-
-/* 1152 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 1154 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 1156 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter rowExtents */
-
-/* 1158 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 1160 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 1162 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter columnExtents */
-
-/* 1164 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 1166 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 1168 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter isSelected */
-
-/* 1170 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 1172 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
-/* 1174 */ 0x3, /* FC_SMALL */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 1176 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1178 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
-/* 1180 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_modelChange */
-
-/* 1182 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 1184 */ NdrFcLong( 0x0 ), /* 0 */
-/* 1188 */ NdrFcShort( 0x1f ), /* 31 */
-/* 1190 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 1192 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1194 */ NdrFcShort( 0x8 ), /* 8 */
-/* 1196 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 1198 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 1200 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1202 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1204 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter modelChange */
-
-/* 1206 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
-/* 1208 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 1210 */ NdrFcShort( 0x7c ), /* Type Offset=124 */
-
- /* Return value */
-
-/* 1212 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 1214 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 1216 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleTable_MIDL_TYPE_FORMAT_STRING AccessibleTable__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 4 */ NdrFcShort( 0x2 ), /* Offset= 2 (6) */
-/* 6 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 8 */ NdrFcLong( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x0 ), /* 0 */
-/* 14 */ NdrFcShort( 0x0 ), /* 0 */
-/* 16 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 18 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 20 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 22 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 24 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 26 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 28 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 30 */ NdrFcShort( 0x1c ), /* Offset= 28 (58) */
-/* 32 */
- 0x13, 0x0, /* FC_OP */
-/* 34 */ NdrFcShort( 0xe ), /* Offset= 14 (48) */
-/* 36 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 38 */ NdrFcShort( 0x2 ), /* 2 */
-/* 40 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 42 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 44 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 46 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 48 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 50 */ NdrFcShort( 0x8 ), /* 8 */
-/* 52 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (36) */
-/* 54 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 56 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 58 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 60 */ NdrFcShort( 0x0 ), /* 0 */
-/* 62 */ NdrFcShort( 0x4 ), /* 4 */
-/* 64 */ NdrFcShort( 0x0 ), /* 0 */
-/* 66 */ NdrFcShort( 0xffde ), /* Offset= -34 (32) */
-/* 68 */
- 0x11, 0x10, /* FC_RP [pointer_deref] */
-/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */
-/* 72 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 74 */ NdrFcLong( 0x35ad8070 ), /* 900563056 */
-/* 78 */ NdrFcShort( 0xc20c ), /* -15860 */
-/* 80 */ NdrFcShort( 0x4fb4 ), /* 20404 */
-/* 82 */ 0xb0, /* 176 */
- 0x94, /* 148 */
-/* 84 */ 0xf4, /* 244 */
- 0xf7, /* 247 */
-/* 86 */ 0x27, /* 39 */
- 0x5d, /* 93 */
-/* 88 */ 0xd4, /* 212 */
- 0x69, /* 105 */
-/* 90 */
- 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
-/* 92 */ NdrFcShort( 0x2 ), /* Offset= 2 (94) */
-/* 94 */
- 0x13, 0x0, /* FC_OP */
-/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */
-/* 98 */
- 0x1c, /* FC_CVARRAY */
- 0x3, /* 3 */
-/* 100 */ NdrFcShort( 0x4 ), /* 4 */
-/* 102 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x0, /* */
-/* 104 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 106 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 108 */ 0x28, /* Corr desc: parameter, FC_LONG */
- 0x54, /* FC_DEREFERENCE */
-/* 110 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 112 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 114 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 116 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 118 */ 0x3, /* FC_SMALL */
- 0x5c, /* FC_PAD */
-/* 120 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 122 */ NdrFcShort( 0x2 ), /* Offset= 2 (124) */
-/* 124 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 126 */ NdrFcShort( 0x14 ), /* 20 */
-/* 128 */ NdrFcShort( 0x0 ), /* 0 */
-/* 130 */ NdrFcShort( 0x0 ), /* Offset= 0 (130) */
-/* 132 */ 0xd, /* FC_ENUM16 */
- 0x8, /* FC_LONG */
-/* 134 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 136 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleTable, ver. 0.0,
- GUID={0x35AD8070,0xC20C,0x4fb4,{0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleTable_FormatStringOffsetTable[] =
- {
- 0,
- 48,
- 84,
- 132,
- 174,
- 222,
- 264,
- 306,
- 342,
- 378,
- 414,
- 450,
- 486,
- 528,
- 576,
- 618,
- 660,
- 708,
- 756,
- 804,
- 840,
- 882,
- 924,
- 972,
- 1008,
- 1044,
- 1080,
- 1116,
- 1182
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleTable__MIDL_ProcFormatString.Format,
- &IAccessibleTable_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleTable_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleTable__MIDL_ProcFormatString.Format,
- &IAccessibleTable_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(32) _IAccessibleTableProxyVtbl =
-{
- &IAccessibleTable_ProxyInfo,
- &IID_IAccessibleTable,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_accessibleAt */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_caption */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_childIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnDescription */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnExtentAt */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnHeader */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_nColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_nRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedChildren */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowDescription */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowExtentAt */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowHeader */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedChildren */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedColumns */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedRows */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_summary */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_isColumnSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_isRowSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_isSelected */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::selectRow */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::selectColumn */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::unselectRow */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::unselectColumn */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowColumnExtentsAtIndex */ ,
- (void *) (INT_PTR) -1 /* IAccessibleTable::get_modelChange */
-};
-
-const CInterfaceStubVtbl _IAccessibleTableStubVtbl =
-{
- &IID_IAccessibleTable,
- &IAccessibleTable_ServerInfo,
- 32,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleTable__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleTable_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleTableProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleTable_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleTableStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleTable_InterfaceNamesList[] =
-{
- "IAccessibleTable",
- 0
-};
-
-
-#define _AccessibleTable_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTable, pIID, n)
-
-int __stdcall _AccessibleTable_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleTable_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleTable_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleTable_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleTable_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleTable_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleTable_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleText.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleText.h
deleted file mode 100644
index 4ad53cfa7e..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleText.h
+++ /dev/null
@@ -1,435 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleText.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleText_h__
-#define __AccessibleText_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleText_FWD_DEFINED__
-#define __IAccessibleText_FWD_DEFINED__
-typedef interface IAccessibleText IAccessibleText;
-#endif /* __IAccessibleText_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-#include "IA2CommonTypes.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_AccessibleText_0000_0000 */
-/* [local] */
-
-typedef struct IA2TextSegment
- {
- BSTR text;
- long start;
- long end;
- } IA2TextSegment;
-
-
-enum IA2TextBoundaryType
- { IA2_TEXT_BOUNDARY_CHAR = 0,
- IA2_TEXT_BOUNDARY_WORD = ( IA2_TEXT_BOUNDARY_CHAR + 1 ) ,
- IA2_TEXT_BOUNDARY_SENTENCE = ( IA2_TEXT_BOUNDARY_WORD + 1 ) ,
- IA2_TEXT_BOUNDARY_PARAGRAPH = ( IA2_TEXT_BOUNDARY_SENTENCE + 1 ) ,
- IA2_TEXT_BOUNDARY_LINE = ( IA2_TEXT_BOUNDARY_PARAGRAPH + 1 ) ,
- IA2_TEXT_BOUNDARY_ALL = ( IA2_TEXT_BOUNDARY_LINE + 1 )
- } ;
-
-
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleText_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_AccessibleText_0000_0000_v0_0_s_ifspec;
-
-#ifndef __IAccessibleText_INTERFACE_DEFINED__
-#define __IAccessibleText_INTERFACE_DEFINED__
-
-/* interface IAccessibleText */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleText;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B")
- IAccessibleText : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE addSelection(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes(
- /* [in] */ long offset,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *textAttributes) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caretOffset(
- /* [retval][out] */ long *offset) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_characterExtents(
- /* [in] */ long offset,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [out] */ long *x,
- /* [out] */ long *y,
- /* [out] */ long *width,
- /* [retval][out] */ long *height) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelections(
- /* [retval][out] */ long *nSelections) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_offsetAtPoint(
- /* [in] */ long x,
- /* [in] */ long y,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [retval][out] */ long *offset) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selection(
- /* [in] */ long selectionIndex,
- /* [out] */ long *startOffset,
- /* [retval][out] */ long *endOffset) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_text(
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [retval][out] */ BSTR *text) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textBeforeOffset(
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAfterOffset(
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAtOffset(
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE removeSelection(
- /* [in] */ long selectionIndex) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE setCaretOffset(
- /* [in] */ long offset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE setSelection(
- /* [in] */ long selectionIndex,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nCharacters(
- /* [retval][out] */ long *nCharacters) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE scrollSubstringTo(
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2ScrollType scrollType) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE scrollSubstringToPoint(
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [in] */ long x,
- /* [in] */ long y) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_newText(
- /* [retval][out] */ IA2TextSegment *newText) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_oldText(
- /* [retval][out] */ IA2TextSegment *oldText) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleTextVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleText * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleText * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleText * This);
-
- HRESULT ( STDMETHODCALLTYPE *addSelection )(
- IAccessibleText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
- IAccessibleText * This,
- /* [in] */ long offset,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *textAttributes);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
- IAccessibleText * This,
- /* [retval][out] */ long *offset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
- IAccessibleText * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [out] */ long *x,
- /* [out] */ long *y,
- /* [out] */ long *width,
- /* [retval][out] */ long *height);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
- IAccessibleText * This,
- /* [retval][out] */ long *nSelections);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
- IAccessibleText * This,
- /* [in] */ long x,
- /* [in] */ long y,
- /* [in] */ enum IA2CoordinateType coordType,
- /* [retval][out] */ long *offset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
- IAccessibleText * This,
- /* [in] */ long selectionIndex,
- /* [out] */ long *startOffset,
- /* [retval][out] */ long *endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
- IAccessibleText * This,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
- IAccessibleText * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
- IAccessibleText * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
- IAccessibleText * This,
- /* [in] */ long offset,
- /* [in] */ enum IA2TextBoundaryType boundaryType,
- /* [out] */ long *startOffset,
- /* [out] */ long *endOffset,
- /* [retval][out] */ BSTR *text);
-
- HRESULT ( STDMETHODCALLTYPE *removeSelection )(
- IAccessibleText * This,
- /* [in] */ long selectionIndex);
-
- HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
- IAccessibleText * This,
- /* [in] */ long offset);
-
- HRESULT ( STDMETHODCALLTYPE *setSelection )(
- IAccessibleText * This,
- /* [in] */ long selectionIndex,
- /* [in] */ long startOffset,
- /* [in] */ long endOffset);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
- IAccessibleText * This,
- /* [retval][out] */ long *nCharacters);
-
- HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
- IAccessibleText * This,
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2ScrollType scrollType);
-
- HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
- IAccessibleText * This,
- /* [in] */ long startIndex,
- /* [in] */ long endIndex,
- /* [in] */ enum IA2CoordinateType coordinateType,
- /* [in] */ long x,
- /* [in] */ long y);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
- IAccessibleText * This,
- /* [retval][out] */ IA2TextSegment *newText);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
- IAccessibleText * This,
- /* [retval][out] */ IA2TextSegment *oldText);
-
- END_INTERFACE
- } IAccessibleTextVtbl;
-
- interface IAccessibleText
- {
- CONST_VTBL struct IAccessibleTextVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleText_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleText_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleText_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleText_addSelection(This,startOffset,endOffset) \
- ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
-
-#define IAccessibleText_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
- ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
-
-#define IAccessibleText_get_caretOffset(This,offset) \
- ( (This)->lpVtbl -> get_caretOffset(This,offset) )
-
-#define IAccessibleText_get_characterExtents(This,offset,coordType,x,y,width,height) \
- ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
-
-#define IAccessibleText_get_nSelections(This,nSelections) \
- ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
-
-#define IAccessibleText_get_offsetAtPoint(This,x,y,coordType,offset) \
- ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
-
-#define IAccessibleText_get_selection(This,selectionIndex,startOffset,endOffset) \
- ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
-
-#define IAccessibleText_get_text(This,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
-
-#define IAccessibleText_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleText_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleText_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
- ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
-
-#define IAccessibleText_removeSelection(This,selectionIndex) \
- ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
-
-#define IAccessibleText_setCaretOffset(This,offset) \
- ( (This)->lpVtbl -> setCaretOffset(This,offset) )
-
-#define IAccessibleText_setSelection(This,selectionIndex,startOffset,endOffset) \
- ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
-
-#define IAccessibleText_get_nCharacters(This,nCharacters) \
- ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
-
-#define IAccessibleText_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
- ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
-
-#define IAccessibleText_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
- ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
-
-#define IAccessibleText_get_newText(This,newText) \
- ( (This)->lpVtbl -> get_newText(This,newText) )
-
-#define IAccessibleText_get_oldText(This,oldText) \
- ( (This)->lpVtbl -> get_oldText(This,oldText) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleText_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
-unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
-unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
-void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleText_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleText_i.c
deleted file mode 100644
index bfa9e763c1..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleText_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleText.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleText,0x24FD2FFB,0x3AAD,0x4a08,0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleText_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleText_p.c
deleted file mode 100644
index ea56621c62..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleText_p.c
+++ /dev/null
@@ -1,1196 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleText.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleText.h"
-
-#define TYPE_FORMAT_STRING_SIZE 67
-#define PROC_FORMAT_STRING_SIZE 901
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleText_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleText_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleText_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleText_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleText_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleText_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleText_MIDL_TYPE_FORMAT_STRING AccessibleText__MIDL_TypeFormatString;
-extern const AccessibleText_MIDL_PROC_FORMAT_STRING AccessibleText__MIDL_ProcFormatString;
-extern const AccessibleText_MIDL_EXPR_FORMAT_STRING AccessibleText__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleText_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleText_MIDL_PROC_FORMAT_STRING AccessibleText__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure addSelection */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 10 */ NdrFcShort( 0x10 ), /* 16 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x3, /* 3 */
-/* 16 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 18 */ NdrFcShort( 0x0 ), /* 0 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 24 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 30 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 36 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 40 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_attributes */
-
-/* 42 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 44 */ NdrFcLong( 0x0 ), /* 0 */
-/* 48 */ NdrFcShort( 0x4 ), /* 4 */
-/* 50 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
-/* 52 */ NdrFcShort( 0x8 ), /* 8 */
-/* 54 */ NdrFcShort( 0x40 ), /* 64 */
-/* 56 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x5, /* 5 */
-/* 58 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 60 */ NdrFcShort( 0x1 ), /* 1 */
-/* 62 */ NdrFcShort( 0x0 ), /* 0 */
-/* 64 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 66 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 68 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 70 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 72 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 74 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 76 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 78 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 82 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter textAttributes */
-
-/* 84 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 86 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 88 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 90 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 92 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 94 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_caretOffset */
-
-/* 96 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 98 */ NdrFcLong( 0x0 ), /* 0 */
-/* 102 */ NdrFcShort( 0x5 ), /* 5 */
-/* 104 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 106 */ NdrFcShort( 0x0 ), /* 0 */
-/* 108 */ NdrFcShort( 0x24 ), /* 36 */
-/* 110 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 112 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 114 */ NdrFcShort( 0x0 ), /* 0 */
-/* 116 */ NdrFcShort( 0x0 ), /* 0 */
-/* 118 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 120 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 122 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 124 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 128 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 130 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_characterExtents */
-
-/* 132 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 134 */ NdrFcLong( 0x0 ), /* 0 */
-/* 138 */ NdrFcShort( 0x6 ), /* 6 */
-/* 140 */ NdrFcShort( 0x20 ), /* x86 Stack size/offset = 32 */
-/* 142 */ NdrFcShort( 0xe ), /* 14 */
-/* 144 */ NdrFcShort( 0x78 ), /* 120 */
-/* 146 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x7, /* 7 */
-/* 148 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 150 */ NdrFcShort( 0x0 ), /* 0 */
-/* 152 */ NdrFcShort( 0x0 ), /* 0 */
-/* 154 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 156 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 158 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 160 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter coordType */
-
-/* 162 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 164 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 166 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter x */
-
-/* 168 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 170 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 172 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 174 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 176 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 178 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter width */
-
-/* 180 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 182 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 184 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter height */
-
-/* 186 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 188 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
-/* 190 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 194 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
-/* 196 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nSelections */
-
-/* 198 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 200 */ NdrFcLong( 0x0 ), /* 0 */
-/* 204 */ NdrFcShort( 0x7 ), /* 7 */
-/* 206 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 208 */ NdrFcShort( 0x0 ), /* 0 */
-/* 210 */ NdrFcShort( 0x24 ), /* 36 */
-/* 212 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 214 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 216 */ NdrFcShort( 0x0 ), /* 0 */
-/* 218 */ NdrFcShort( 0x0 ), /* 0 */
-/* 220 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nSelections */
-
-/* 222 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 224 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 226 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 228 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 230 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 232 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_offsetAtPoint */
-
-/* 234 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 236 */ NdrFcLong( 0x0 ), /* 0 */
-/* 240 */ NdrFcShort( 0x8 ), /* 8 */
-/* 242 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
-/* 244 */ NdrFcShort( 0x16 ), /* 22 */
-/* 246 */ NdrFcShort( 0x24 ), /* 36 */
-/* 248 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x5, /* 5 */
-/* 250 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 252 */ NdrFcShort( 0x0 ), /* 0 */
-/* 254 */ NdrFcShort( 0x0 ), /* 0 */
-/* 256 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter x */
-
-/* 258 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 260 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 262 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 264 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 266 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 268 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter coordType */
-
-/* 270 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 272 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 274 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter offset */
-
-/* 276 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 278 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 280 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 282 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 284 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 286 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_selection */
-
-/* 288 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 290 */ NdrFcLong( 0x0 ), /* 0 */
-/* 294 */ NdrFcShort( 0x9 ), /* 9 */
-/* 296 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 298 */ NdrFcShort( 0x8 ), /* 8 */
-/* 300 */ NdrFcShort( 0x40 ), /* 64 */
-/* 302 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 304 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 306 */ NdrFcShort( 0x0 ), /* 0 */
-/* 308 */ NdrFcShort( 0x0 ), /* 0 */
-/* 310 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter selectionIndex */
-
-/* 312 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 314 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 316 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 318 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 320 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 322 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 324 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 326 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 328 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 330 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 332 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 334 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_text */
-
-/* 336 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 338 */ NdrFcLong( 0x0 ), /* 0 */
-/* 342 */ NdrFcShort( 0xa ), /* 10 */
-/* 344 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 346 */ NdrFcShort( 0x10 ), /* 16 */
-/* 348 */ NdrFcShort( 0x8 ), /* 8 */
-/* 350 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x4, /* 4 */
-/* 352 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 354 */ NdrFcShort( 0x1 ), /* 1 */
-/* 356 */ NdrFcShort( 0x0 ), /* 0 */
-/* 358 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startOffset */
-
-/* 360 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 362 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 364 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 366 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 368 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 370 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 372 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 374 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 376 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 378 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 380 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 382 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_textBeforeOffset */
-
-/* 384 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 386 */ NdrFcLong( 0x0 ), /* 0 */
-/* 390 */ NdrFcShort( 0xb ), /* 11 */
-/* 392 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
-/* 394 */ NdrFcShort( 0xe ), /* 14 */
-/* 396 */ NdrFcShort( 0x40 ), /* 64 */
-/* 398 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x6, /* 6 */
-/* 400 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 402 */ NdrFcShort( 0x1 ), /* 1 */
-/* 404 */ NdrFcShort( 0x0 ), /* 0 */
-/* 406 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 408 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 410 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 412 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter boundaryType */
-
-/* 414 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 416 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 418 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 420 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 422 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 424 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 426 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 428 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 430 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 432 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 434 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 436 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 438 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 440 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
-/* 442 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_textAfterOffset */
-
-/* 444 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 446 */ NdrFcLong( 0x0 ), /* 0 */
-/* 450 */ NdrFcShort( 0xc ), /* 12 */
-/* 452 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
-/* 454 */ NdrFcShort( 0xe ), /* 14 */
-/* 456 */ NdrFcShort( 0x40 ), /* 64 */
-/* 458 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x6, /* 6 */
-/* 460 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 462 */ NdrFcShort( 0x1 ), /* 1 */
-/* 464 */ NdrFcShort( 0x0 ), /* 0 */
-/* 466 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 468 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 470 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 472 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter boundaryType */
-
-/* 474 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 476 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 478 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 480 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 482 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 484 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 486 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 488 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 490 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 492 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 494 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 496 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 498 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 500 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
-/* 502 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_textAtOffset */
-
-/* 504 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 506 */ NdrFcLong( 0x0 ), /* 0 */
-/* 510 */ NdrFcShort( 0xd ), /* 13 */
-/* 512 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
-/* 514 */ NdrFcShort( 0xe ), /* 14 */
-/* 516 */ NdrFcShort( 0x40 ), /* 64 */
-/* 518 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x6, /* 6 */
-/* 520 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 522 */ NdrFcShort( 0x1 ), /* 1 */
-/* 524 */ NdrFcShort( 0x0 ), /* 0 */
-/* 526 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 528 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 530 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 532 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter boundaryType */
-
-/* 534 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 536 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 538 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 540 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 542 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 544 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 546 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 548 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 550 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter text */
-
-/* 552 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
-/* 554 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 556 */ NdrFcShort( 0x24 ), /* Type Offset=36 */
-
- /* Return value */
-
-/* 558 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 560 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
-/* 562 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure removeSelection */
-
-/* 564 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 566 */ NdrFcLong( 0x0 ), /* 0 */
-/* 570 */ NdrFcShort( 0xe ), /* 14 */
-/* 572 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 574 */ NdrFcShort( 0x8 ), /* 8 */
-/* 576 */ NdrFcShort( 0x8 ), /* 8 */
-/* 578 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 580 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 582 */ NdrFcShort( 0x0 ), /* 0 */
-/* 584 */ NdrFcShort( 0x0 ), /* 0 */
-/* 586 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter selectionIndex */
-
-/* 588 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 590 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 592 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 594 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 596 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 598 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure setCaretOffset */
-
-/* 600 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 602 */ NdrFcLong( 0x0 ), /* 0 */
-/* 606 */ NdrFcShort( 0xf ), /* 15 */
-/* 608 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 610 */ NdrFcShort( 0x8 ), /* 8 */
-/* 612 */ NdrFcShort( 0x8 ), /* 8 */
-/* 614 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 616 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 618 */ NdrFcShort( 0x0 ), /* 0 */
-/* 620 */ NdrFcShort( 0x0 ), /* 0 */
-/* 622 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter offset */
-
-/* 624 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 626 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 628 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 630 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 632 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 634 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure setSelection */
-
-/* 636 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 638 */ NdrFcLong( 0x0 ), /* 0 */
-/* 642 */ NdrFcShort( 0x10 ), /* 16 */
-/* 644 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 646 */ NdrFcShort( 0x18 ), /* 24 */
-/* 648 */ NdrFcShort( 0x8 ), /* 8 */
-/* 650 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 652 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 654 */ NdrFcShort( 0x0 ), /* 0 */
-/* 656 */ NdrFcShort( 0x0 ), /* 0 */
-/* 658 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter selectionIndex */
-
-/* 660 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 662 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 664 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter startOffset */
-
-/* 666 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 668 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 670 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endOffset */
-
-/* 672 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 674 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 676 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 678 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 680 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 682 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_nCharacters */
-
-/* 684 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 686 */ NdrFcLong( 0x0 ), /* 0 */
-/* 690 */ NdrFcShort( 0x11 ), /* 17 */
-/* 692 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 694 */ NdrFcShort( 0x0 ), /* 0 */
-/* 696 */ NdrFcShort( 0x24 ), /* 36 */
-/* 698 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x2, /* 2 */
-/* 700 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 702 */ NdrFcShort( 0x0 ), /* 0 */
-/* 704 */ NdrFcShort( 0x0 ), /* 0 */
-/* 706 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter nCharacters */
-
-/* 708 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
-/* 710 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 712 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 714 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 716 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 718 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure scrollSubstringTo */
-
-/* 720 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 722 */ NdrFcLong( 0x0 ), /* 0 */
-/* 726 */ NdrFcShort( 0x12 ), /* 18 */
-/* 728 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 730 */ NdrFcShort( 0x16 ), /* 22 */
-/* 732 */ NdrFcShort( 0x8 ), /* 8 */
-/* 734 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x4, /* 4 */
-/* 736 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 738 */ NdrFcShort( 0x0 ), /* 0 */
-/* 740 */ NdrFcShort( 0x0 ), /* 0 */
-/* 742 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startIndex */
-
-/* 744 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 746 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 748 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endIndex */
-
-/* 750 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 752 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 754 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter scrollType */
-
-/* 756 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 758 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 760 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 762 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 764 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 766 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure scrollSubstringToPoint */
-
-/* 768 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 770 */ NdrFcLong( 0x0 ), /* 0 */
-/* 774 */ NdrFcShort( 0x13 ), /* 19 */
-/* 776 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
-/* 778 */ NdrFcShort( 0x26 ), /* 38 */
-/* 780 */ NdrFcShort( 0x8 ), /* 8 */
-/* 782 */ 0x44, /* Oi2 Flags: has return, has ext, */
- 0x6, /* 6 */
-/* 784 */ 0x8, /* 8 */
- 0x1, /* Ext Flags: new corr desc, */
-/* 786 */ NdrFcShort( 0x0 ), /* 0 */
-/* 788 */ NdrFcShort( 0x0 ), /* 0 */
-/* 790 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter startIndex */
-
-/* 792 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 794 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 796 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter endIndex */
-
-/* 798 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 800 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 802 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter coordinateType */
-
-/* 804 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 806 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 808 */ 0xd, /* FC_ENUM16 */
- 0x0, /* 0 */
-
- /* Parameter x */
-
-/* 810 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 812 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
-/* 814 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Parameter y */
-
-/* 816 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
-/* 818 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 820 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Return value */
-
-/* 822 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 824 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
-/* 826 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_newText */
-
-/* 828 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 830 */ NdrFcLong( 0x0 ), /* 0 */
-/* 834 */ NdrFcShort( 0x14 ), /* 20 */
-/* 836 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 838 */ NdrFcShort( 0x0 ), /* 0 */
-/* 840 */ NdrFcShort( 0x8 ), /* 8 */
-/* 842 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 844 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 846 */ NdrFcShort( 0x1 ), /* 1 */
-/* 848 */ NdrFcShort( 0x0 ), /* 0 */
-/* 850 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter newText */
-
-/* 852 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
-/* 854 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 856 */ NdrFcShort( 0x32 ), /* Type Offset=50 */
-
- /* Return value */
-
-/* 858 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 860 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 862 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_oldText */
-
-/* 864 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 866 */ NdrFcLong( 0x0 ), /* 0 */
-/* 870 */ NdrFcShort( 0x15 ), /* 21 */
-/* 872 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 874 */ NdrFcShort( 0x0 ), /* 0 */
-/* 876 */ NdrFcShort( 0x8 ), /* 8 */
-/* 878 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 880 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 882 */ NdrFcShort( 0x1 ), /* 1 */
-/* 884 */ NdrFcShort( 0x0 ), /* 0 */
-/* 886 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter oldText */
-
-/* 888 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
-/* 890 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 892 */ NdrFcShort( 0x32 ), /* Type Offset=50 */
-
- /* Return value */
-
-/* 894 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 896 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 898 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleText_MIDL_TYPE_FORMAT_STRING AccessibleText__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
-/* 4 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 6 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 8 */ NdrFcShort( 0x1c ), /* Offset= 28 (36) */
-/* 10 */
- 0x13, 0x0, /* FC_OP */
-/* 12 */ NdrFcShort( 0xe ), /* Offset= 14 (26) */
-/* 14 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 16 */ NdrFcShort( 0x2 ), /* 2 */
-/* 18 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 20 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 22 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 24 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 26 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 28 */ NdrFcShort( 0x8 ), /* 8 */
-/* 30 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (14) */
-/* 32 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 34 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 36 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 38 */ NdrFcShort( 0x0 ), /* 0 */
-/* 40 */ NdrFcShort( 0x4 ), /* 4 */
-/* 42 */ NdrFcShort( 0x0 ), /* 0 */
-/* 44 */ NdrFcShort( 0xffde ), /* Offset= -34 (10) */
-/* 46 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */
-/* 50 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 52 */ NdrFcShort( 0xc ), /* 12 */
-/* 54 */ NdrFcShort( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x0 ), /* Offset= 0 (56) */
-/* 58 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 60 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (36) */
-/* 62 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 64 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- BSTR_UserSize
- ,BSTR_UserMarshal
- ,BSTR_UserUnmarshal
- ,BSTR_UserFree
- }
-
- };
-
-
-
-/* Standard interface: __MIDL_itf_AccessibleText_0000_0000, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleText, ver. 0.0,
- GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleText_FormatStringOffsetTable[] =
- {
- 0,
- 42,
- 96,
- 132,
- 198,
- 234,
- 288,
- 336,
- 384,
- 444,
- 504,
- 564,
- 600,
- 636,
- 684,
- 720,
- 768,
- 828,
- 864
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleText__MIDL_ProcFormatString.Format,
- &IAccessibleText_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleText_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleText__MIDL_ProcFormatString.Format,
- &IAccessibleText_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(22) _IAccessibleTextProxyVtbl =
-{
- &IAccessibleText_ProxyInfo,
- &IID_IAccessibleText,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ ,
- (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */
-};
-
-const CInterfaceStubVtbl _IAccessibleTextStubVtbl =
-{
- &IID_IAccessibleText,
- &IAccessibleText_ServerInfo,
- 22,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleText__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleText_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleTextProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleText_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleTextStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleText_InterfaceNamesList[] =
-{
- "IAccessibleText",
- 0
-};
-
-
-#define _AccessibleText_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleText, pIID, n)
-
-int __stdcall _AccessibleText_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleText_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleText_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleText_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleText_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleText_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleText_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleValue.h
deleted file mode 100644
index 6ef70c261f..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue.h
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleValue.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __AccessibleValue_h__
-#define __AccessibleValue_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifndef __IAccessibleValue_FWD_DEFINED__
-#define __IAccessibleValue_FWD_DEFINED__
-typedef interface IAccessibleValue IAccessibleValue;
-#endif /* __IAccessibleValue_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "objidl.h"
-#include "oaidl.h"
-#include "oleacc.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#ifndef __IAccessibleValue_INTERFACE_DEFINED__
-#define __IAccessibleValue_INTERFACE_DEFINED__
-
-/* interface IAccessibleValue */
-/* [uuid][object] */
-
-
-EXTERN_C const IID IID_IAccessibleValue;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("35855B5B-C566-4fd0-A7B1-E65465600394")
- IAccessibleValue : public IUnknown
- {
- public:
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentValue(
- /* [retval][out] */ VARIANT *currentValue) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE setCurrentValue(
- /* [in] */ VARIANT value) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_maximumValue(
- /* [retval][out] */ VARIANT *maximumValue) = 0;
-
- virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_minimumValue(
- /* [retval][out] */ VARIANT *minimumValue) = 0;
-
- };
-
-#else /* C style interface */
-
- typedef struct IAccessibleValueVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IAccessibleValue * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IAccessibleValue * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IAccessibleValue * This);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentValue )(
- IAccessibleValue * This,
- /* [retval][out] */ VARIANT *currentValue);
-
- HRESULT ( STDMETHODCALLTYPE *setCurrentValue )(
- IAccessibleValue * This,
- /* [in] */ VARIANT value);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_maximumValue )(
- IAccessibleValue * This,
- /* [retval][out] */ VARIANT *maximumValue);
-
- /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_minimumValue )(
- IAccessibleValue * This,
- /* [retval][out] */ VARIANT *minimumValue);
-
- END_INTERFACE
- } IAccessibleValueVtbl;
-
- interface IAccessibleValue
- {
- CONST_VTBL struct IAccessibleValueVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define IAccessibleValue_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define IAccessibleValue_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define IAccessibleValue_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define IAccessibleValue_get_currentValue(This,currentValue) \
- ( (This)->lpVtbl -> get_currentValue(This,currentValue) )
-
-#define IAccessibleValue_setCurrentValue(This,value) \
- ( (This)->lpVtbl -> setCurrentValue(This,value) )
-
-#define IAccessibleValue_get_maximumValue(This,maximumValue) \
- ( (This)->lpVtbl -> get_maximumValue(This,maximumValue) )
-
-#define IAccessibleValue_get_minimumValue(This,minimumValue) \
- ( (This)->lpVtbl -> get_minimumValue(This,minimumValue) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __IAccessibleValue_INTERFACE_DEFINED__ */
-
-
-/* Additional Prototypes for ALL interfaces */
-
-unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
-unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
-unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
-void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_i.c
deleted file mode 100644
index dffdb123af..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleValue.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IAccessibleValue,0x35855B5B,0xC566,0x4fd0,0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_p.c
deleted file mode 100644
index 166e2149b4..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_p.c
+++ /dev/null
@@ -1,1105 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the proxy stub code */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:55 2012
- */
-/* Compiler settings for AccessibleValue.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#if !defined(_M_IA64) && !defined(_M_AMD64)
-
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-#if _MSC_VER >= 1200
-#pragma warning(push)
-#endif
-
-#pragma warning( disable: 4211 ) /* redefine extern to static */
-#pragma warning( disable: 4232 ) /* dllimport identity*/
-#pragma warning( disable: 4024 ) /* array to pointer mapping*/
-#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
-#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
-
-#pragma optimize("", off )
-
-#define USE_STUBLESS_PROXY
-
-
-/* verify that the <rpcproxy.h> version is high enough to compile this file*/
-#ifndef __REDQ_RPCPROXY_H_VERSION__
-#define __REQUIRED_RPCPROXY_H_VERSION__ 475
-#endif
-
-
-#include "rpcproxy.h"
-#ifndef __RPCPROXY_H_VERSION__
-#error this stub requires an updated version of <rpcproxy.h>
-#endif /* __RPCPROXY_H_VERSION__ */
-
-
-#include "AccessibleValue.h"
-
-#define TYPE_FORMAT_STRING_SIZE 1053
-#define PROC_FORMAT_STRING_SIZE 145
-#define EXPR_FORMAT_STRING_SIZE 1
-#define TRANSMIT_AS_TABLE_SIZE 0
-#define WIRE_MARSHAL_TABLE_SIZE 1
-
-typedef struct _AccessibleValue_MIDL_TYPE_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
- } AccessibleValue_MIDL_TYPE_FORMAT_STRING;
-
-typedef struct _AccessibleValue_MIDL_PROC_FORMAT_STRING
- {
- short Pad;
- unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
- } AccessibleValue_MIDL_PROC_FORMAT_STRING;
-
-typedef struct _AccessibleValue_MIDL_EXPR_FORMAT_STRING
- {
- long Pad;
- unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
- } AccessibleValue_MIDL_EXPR_FORMAT_STRING;
-
-
-static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
-{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
-
-
-extern const AccessibleValue_MIDL_TYPE_FORMAT_STRING AccessibleValue__MIDL_TypeFormatString;
-extern const AccessibleValue_MIDL_PROC_FORMAT_STRING AccessibleValue__MIDL_ProcFormatString;
-extern const AccessibleValue_MIDL_EXPR_FORMAT_STRING AccessibleValue__MIDL_ExprFormatString;
-
-
-extern const MIDL_STUB_DESC Object_StubDesc;
-
-
-extern const MIDL_SERVER_INFO IAccessibleValue_ServerInfo;
-extern const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo;
-
-
-extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
-
-#if !defined(__RPC_WIN32__)
-#error Invalid build platform for this stub.
-#endif
-
-#if !(TARGET_IS_NT50_OR_LATER)
-#error You need Windows 2000 or later to run this stub because it uses these features:
-#error /robust command line switch.
-#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
-#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
-#endif
-
-
-static const AccessibleValue_MIDL_PROC_FORMAT_STRING AccessibleValue__MIDL_ProcFormatString =
- {
- 0,
- {
-
- /* Procedure get_currentValue */
-
- 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 2 */ NdrFcLong( 0x0 ), /* 0 */
-/* 6 */ NdrFcShort( 0x3 ), /* 3 */
-/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 10 */ NdrFcShort( 0x0 ), /* 0 */
-/* 12 */ NdrFcShort( 0x8 ), /* 8 */
-/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 16 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 18 */ NdrFcShort( 0x1 ), /* 1 */
-/* 20 */ NdrFcShort( 0x0 ), /* 0 */
-/* 22 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter currentValue */
-
-/* 24 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
-/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 28 */ NdrFcShort( 0x404 ), /* Type Offset=1028 */
-
- /* Return value */
-
-/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 34 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure setCurrentValue */
-
-/* 36 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 38 */ NdrFcLong( 0x0 ), /* 0 */
-/* 42 */ NdrFcShort( 0x4 ), /* 4 */
-/* 44 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
-/* 46 */ NdrFcShort( 0x0 ), /* 0 */
-/* 48 */ NdrFcShort( 0x8 ), /* 8 */
-/* 50 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
- 0x2, /* 2 */
-/* 52 */ 0x8, /* 8 */
- 0x5, /* Ext Flags: new corr desc, srv corr check, */
-/* 54 */ NdrFcShort( 0x0 ), /* 0 */
-/* 56 */ NdrFcShort( 0x1 ), /* 1 */
-/* 58 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter value */
-
-/* 60 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
-/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 64 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */
-
- /* Return value */
-
-/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 68 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
-/* 70 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_maximumValue */
-
-/* 72 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 74 */ NdrFcLong( 0x0 ), /* 0 */
-/* 78 */ NdrFcShort( 0x5 ), /* 5 */
-/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 82 */ NdrFcShort( 0x0 ), /* 0 */
-/* 84 */ NdrFcShort( 0x8 ), /* 8 */
-/* 86 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 88 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 90 */ NdrFcShort( 0x1 ), /* 1 */
-/* 92 */ NdrFcShort( 0x0 ), /* 0 */
-/* 94 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter maximumValue */
-
-/* 96 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
-/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 100 */ NdrFcShort( 0x404 ), /* Type Offset=1028 */
-
- /* Return value */
-
-/* 102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 106 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- /* Procedure get_minimumValue */
-
-/* 108 */ 0x33, /* FC_AUTO_HANDLE */
- 0x6c, /* Old Flags: object, Oi2 */
-/* 110 */ NdrFcLong( 0x0 ), /* 0 */
-/* 114 */ NdrFcShort( 0x6 ), /* 6 */
-/* 116 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
-/* 118 */ NdrFcShort( 0x0 ), /* 0 */
-/* 120 */ NdrFcShort( 0x8 ), /* 8 */
-/* 122 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
- 0x2, /* 2 */
-/* 124 */ 0x8, /* 8 */
- 0x3, /* Ext Flags: new corr desc, clt corr check, */
-/* 126 */ NdrFcShort( 0x1 ), /* 1 */
-/* 128 */ NdrFcShort( 0x0 ), /* 0 */
-/* 130 */ NdrFcShort( 0x0 ), /* 0 */
-
- /* Parameter minimumValue */
-
-/* 132 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
-/* 134 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
-/* 136 */ NdrFcShort( 0x404 ), /* Type Offset=1028 */
-
- /* Return value */
-
-/* 138 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
-/* 140 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
-/* 142 */ 0x8, /* FC_LONG */
- 0x0, /* 0 */
-
- 0x0
- }
- };
-
-static const AccessibleValue_MIDL_TYPE_FORMAT_STRING AccessibleValue__MIDL_TypeFormatString =
- {
- 0,
- {
- NdrFcShort( 0x0 ), /* 0 */
-/* 2 */
- 0x11, 0x4, /* FC_RP [alloced_on_stack] */
-/* 4 */ NdrFcShort( 0x400 ), /* Offset= 1024 (1028) */
-/* 6 */
- 0x13, 0x0, /* FC_OP */
-/* 8 */ NdrFcShort( 0x3e8 ), /* Offset= 1000 (1008) */
-/* 10 */
- 0x2b, /* FC_NON_ENCAPSULATED_UNION */
- 0x9, /* FC_ULONG */
-/* 12 */ 0x7, /* Corr desc: FC_USHORT */
- 0x0, /* */
-/* 14 */ NdrFcShort( 0xfff8 ), /* -8 */
-/* 16 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 18 */ NdrFcShort( 0x2 ), /* Offset= 2 (20) */
-/* 20 */ NdrFcShort( 0x10 ), /* 16 */
-/* 22 */ NdrFcShort( 0x2f ), /* 47 */
-/* 24 */ NdrFcLong( 0x14 ), /* 20 */
-/* 28 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
-/* 30 */ NdrFcLong( 0x3 ), /* 3 */
-/* 34 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 36 */ NdrFcLong( 0x11 ), /* 17 */
-/* 40 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */
-/* 42 */ NdrFcLong( 0x2 ), /* 2 */
-/* 46 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 48 */ NdrFcLong( 0x4 ), /* 4 */
-/* 52 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */
-/* 54 */ NdrFcLong( 0x5 ), /* 5 */
-/* 58 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
-/* 60 */ NdrFcLong( 0xb ), /* 11 */
-/* 64 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 66 */ NdrFcLong( 0xa ), /* 10 */
-/* 70 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 72 */ NdrFcLong( 0x6 ), /* 6 */
-/* 76 */ NdrFcShort( 0xe8 ), /* Offset= 232 (308) */
-/* 78 */ NdrFcLong( 0x7 ), /* 7 */
-/* 82 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
-/* 84 */ NdrFcLong( 0x8 ), /* 8 */
-/* 88 */ NdrFcShort( 0xe2 ), /* Offset= 226 (314) */
-/* 90 */ NdrFcLong( 0xd ), /* 13 */
-/* 94 */ NdrFcShort( 0xf6 ), /* Offset= 246 (340) */
-/* 96 */ NdrFcLong( 0x9 ), /* 9 */
-/* 100 */ NdrFcShort( 0x102 ), /* Offset= 258 (358) */
-/* 102 */ NdrFcLong( 0x2000 ), /* 8192 */
-/* 106 */ NdrFcShort( 0x10e ), /* Offset= 270 (376) */
-/* 108 */ NdrFcLong( 0x24 ), /* 36 */
-/* 112 */ NdrFcShort( 0x336 ), /* Offset= 822 (934) */
-/* 114 */ NdrFcLong( 0x4024 ), /* 16420 */
-/* 118 */ NdrFcShort( 0x330 ), /* Offset= 816 (934) */
-/* 120 */ NdrFcLong( 0x4011 ), /* 16401 */
-/* 124 */ NdrFcShort( 0x32e ), /* Offset= 814 (938) */
-/* 126 */ NdrFcLong( 0x4002 ), /* 16386 */
-/* 130 */ NdrFcShort( 0x32c ), /* Offset= 812 (942) */
-/* 132 */ NdrFcLong( 0x4003 ), /* 16387 */
-/* 136 */ NdrFcShort( 0x32a ), /* Offset= 810 (946) */
-/* 138 */ NdrFcLong( 0x4014 ), /* 16404 */
-/* 142 */ NdrFcShort( 0x328 ), /* Offset= 808 (950) */
-/* 144 */ NdrFcLong( 0x4004 ), /* 16388 */
-/* 148 */ NdrFcShort( 0x326 ), /* Offset= 806 (954) */
-/* 150 */ NdrFcLong( 0x4005 ), /* 16389 */
-/* 154 */ NdrFcShort( 0x324 ), /* Offset= 804 (958) */
-/* 156 */ NdrFcLong( 0x400b ), /* 16395 */
-/* 160 */ NdrFcShort( 0x30e ), /* Offset= 782 (942) */
-/* 162 */ NdrFcLong( 0x400a ), /* 16394 */
-/* 166 */ NdrFcShort( 0x30c ), /* Offset= 780 (946) */
-/* 168 */ NdrFcLong( 0x4006 ), /* 16390 */
-/* 172 */ NdrFcShort( 0x316 ), /* Offset= 790 (962) */
-/* 174 */ NdrFcLong( 0x4007 ), /* 16391 */
-/* 178 */ NdrFcShort( 0x30c ), /* Offset= 780 (958) */
-/* 180 */ NdrFcLong( 0x4008 ), /* 16392 */
-/* 184 */ NdrFcShort( 0x30e ), /* Offset= 782 (966) */
-/* 186 */ NdrFcLong( 0x400d ), /* 16397 */
-/* 190 */ NdrFcShort( 0x30c ), /* Offset= 780 (970) */
-/* 192 */ NdrFcLong( 0x4009 ), /* 16393 */
-/* 196 */ NdrFcShort( 0x30a ), /* Offset= 778 (974) */
-/* 198 */ NdrFcLong( 0x6000 ), /* 24576 */
-/* 202 */ NdrFcShort( 0x308 ), /* Offset= 776 (978) */
-/* 204 */ NdrFcLong( 0x400c ), /* 16396 */
-/* 208 */ NdrFcShort( 0x306 ), /* Offset= 774 (982) */
-/* 210 */ NdrFcLong( 0x10 ), /* 16 */
-/* 214 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */
-/* 216 */ NdrFcLong( 0x12 ), /* 18 */
-/* 220 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
-/* 222 */ NdrFcLong( 0x13 ), /* 19 */
-/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 228 */ NdrFcLong( 0x15 ), /* 21 */
-/* 232 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
-/* 234 */ NdrFcLong( 0x16 ), /* 22 */
-/* 238 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 240 */ NdrFcLong( 0x17 ), /* 23 */
-/* 244 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
-/* 246 */ NdrFcLong( 0xe ), /* 14 */
-/* 250 */ NdrFcShort( 0x2e4 ), /* Offset= 740 (990) */
-/* 252 */ NdrFcLong( 0x400e ), /* 16398 */
-/* 256 */ NdrFcShort( 0x2e8 ), /* Offset= 744 (1000) */
-/* 258 */ NdrFcLong( 0x4010 ), /* 16400 */
-/* 262 */ NdrFcShort( 0x2e6 ), /* Offset= 742 (1004) */
-/* 264 */ NdrFcLong( 0x4012 ), /* 16402 */
-/* 268 */ NdrFcShort( 0x2a2 ), /* Offset= 674 (942) */
-/* 270 */ NdrFcLong( 0x4013 ), /* 16403 */
-/* 274 */ NdrFcShort( 0x2a0 ), /* Offset= 672 (946) */
-/* 276 */ NdrFcLong( 0x4015 ), /* 16405 */
-/* 280 */ NdrFcShort( 0x29e ), /* Offset= 670 (950) */
-/* 282 */ NdrFcLong( 0x4016 ), /* 16406 */
-/* 286 */ NdrFcShort( 0x294 ), /* Offset= 660 (946) */
-/* 288 */ NdrFcLong( 0x4017 ), /* 16407 */
-/* 292 */ NdrFcShort( 0x28e ), /* Offset= 654 (946) */
-/* 294 */ NdrFcLong( 0x0 ), /* 0 */
-/* 298 */ NdrFcShort( 0x0 ), /* Offset= 0 (298) */
-/* 300 */ NdrFcLong( 0x1 ), /* 1 */
-/* 304 */ NdrFcShort( 0x0 ), /* Offset= 0 (304) */
-/* 306 */ NdrFcShort( 0xffff ), /* Offset= -1 (305) */
-/* 308 */
- 0x15, /* FC_STRUCT */
- 0x7, /* 7 */
-/* 310 */ NdrFcShort( 0x8 ), /* 8 */
-/* 312 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 314 */
- 0x13, 0x0, /* FC_OP */
-/* 316 */ NdrFcShort( 0xe ), /* Offset= 14 (330) */
-/* 318 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 320 */ NdrFcShort( 0x2 ), /* 2 */
-/* 322 */ 0x9, /* Corr desc: FC_ULONG */
- 0x0, /* */
-/* 324 */ NdrFcShort( 0xfffc ), /* -4 */
-/* 326 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 328 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 330 */
- 0x17, /* FC_CSTRUCT */
- 0x3, /* 3 */
-/* 332 */ NdrFcShort( 0x8 ), /* 8 */
-/* 334 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (318) */
-/* 336 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 338 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 340 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 342 */ NdrFcLong( 0x0 ), /* 0 */
-/* 346 */ NdrFcShort( 0x0 ), /* 0 */
-/* 348 */ NdrFcShort( 0x0 ), /* 0 */
-/* 350 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 352 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 354 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 356 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 358 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 360 */ NdrFcLong( 0x20400 ), /* 132096 */
-/* 364 */ NdrFcShort( 0x0 ), /* 0 */
-/* 366 */ NdrFcShort( 0x0 ), /* 0 */
-/* 368 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 370 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 372 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 374 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 376 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 378 */ NdrFcShort( 0x2 ), /* Offset= 2 (380) */
-/* 380 */
- 0x13, 0x0, /* FC_OP */
-/* 382 */ NdrFcShort( 0x216 ), /* Offset= 534 (916) */
-/* 384 */
- 0x2a, /* FC_ENCAPSULATED_UNION */
- 0x49, /* 73 */
-/* 386 */ NdrFcShort( 0x18 ), /* 24 */
-/* 388 */ NdrFcShort( 0xa ), /* 10 */
-/* 390 */ NdrFcLong( 0x8 ), /* 8 */
-/* 394 */ NdrFcShort( 0x5a ), /* Offset= 90 (484) */
-/* 396 */ NdrFcLong( 0xd ), /* 13 */
-/* 400 */ NdrFcShort( 0x7e ), /* Offset= 126 (526) */
-/* 402 */ NdrFcLong( 0x9 ), /* 9 */
-/* 406 */ NdrFcShort( 0x9e ), /* Offset= 158 (564) */
-/* 408 */ NdrFcLong( 0xc ), /* 12 */
-/* 412 */ NdrFcShort( 0xc8 ), /* Offset= 200 (612) */
-/* 414 */ NdrFcLong( 0x24 ), /* 36 */
-/* 418 */ NdrFcShort( 0x124 ), /* Offset= 292 (710) */
-/* 420 */ NdrFcLong( 0x800d ), /* 32781 */
-/* 424 */ NdrFcShort( 0x140 ), /* Offset= 320 (744) */
-/* 426 */ NdrFcLong( 0x10 ), /* 16 */
-/* 430 */ NdrFcShort( 0x15a ), /* Offset= 346 (776) */
-/* 432 */ NdrFcLong( 0x2 ), /* 2 */
-/* 436 */ NdrFcShort( 0x174 ), /* Offset= 372 (808) */
-/* 438 */ NdrFcLong( 0x3 ), /* 3 */
-/* 442 */ NdrFcShort( 0x18e ), /* Offset= 398 (840) */
-/* 444 */ NdrFcLong( 0x14 ), /* 20 */
-/* 448 */ NdrFcShort( 0x1a8 ), /* Offset= 424 (872) */
-/* 450 */ NdrFcShort( 0xffff ), /* Offset= -1 (449) */
-/* 452 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 454 */ NdrFcShort( 0x4 ), /* 4 */
-/* 456 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 458 */ NdrFcShort( 0x0 ), /* 0 */
-/* 460 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 462 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 464 */
- 0x48, /* FC_VARIABLE_REPEAT */
- 0x49, /* FC_FIXED_OFFSET */
-/* 466 */ NdrFcShort( 0x4 ), /* 4 */
-/* 468 */ NdrFcShort( 0x0 ), /* 0 */
-/* 470 */ NdrFcShort( 0x1 ), /* 1 */
-/* 472 */ NdrFcShort( 0x0 ), /* 0 */
-/* 474 */ NdrFcShort( 0x0 ), /* 0 */
-/* 476 */ 0x13, 0x0, /* FC_OP */
-/* 478 */ NdrFcShort( 0xff6c ), /* Offset= -148 (330) */
-/* 480 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 482 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 484 */
- 0x16, /* FC_PSTRUCT */
- 0x3, /* 3 */
-/* 486 */ NdrFcShort( 0x8 ), /* 8 */
-/* 488 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 490 */
- 0x46, /* FC_NO_REPEAT */
- 0x5c, /* FC_PAD */
-/* 492 */ NdrFcShort( 0x4 ), /* 4 */
-/* 494 */ NdrFcShort( 0x4 ), /* 4 */
-/* 496 */ 0x11, 0x0, /* FC_RP */
-/* 498 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (452) */
-/* 500 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 502 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 504 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 506 */ NdrFcShort( 0x0 ), /* 0 */
-/* 508 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 510 */ NdrFcShort( 0x0 ), /* 0 */
-/* 512 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 514 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 518 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 520 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 522 */ NdrFcShort( 0xff4a ), /* Offset= -182 (340) */
-/* 524 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 526 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 528 */ NdrFcShort( 0x8 ), /* 8 */
-/* 530 */ NdrFcShort( 0x0 ), /* 0 */
-/* 532 */ NdrFcShort( 0x6 ), /* Offset= 6 (538) */
-/* 534 */ 0x8, /* FC_LONG */
- 0x36, /* FC_POINTER */
-/* 536 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 538 */
- 0x11, 0x0, /* FC_RP */
-/* 540 */ NdrFcShort( 0xffdc ), /* Offset= -36 (504) */
-/* 542 */
- 0x21, /* FC_BOGUS_ARRAY */
- 0x3, /* 3 */
-/* 544 */ NdrFcShort( 0x0 ), /* 0 */
-/* 546 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 548 */ NdrFcShort( 0x0 ), /* 0 */
-/* 550 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 552 */ NdrFcLong( 0xffffffff ), /* -1 */
-/* 556 */ NdrFcShort( 0x0 ), /* Corr flags: */
-/* 558 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 560 */ NdrFcShort( 0xff36 ), /* Offset= -202 (358) */
-/* 562 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 564 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 566 */ NdrFcShort( 0x8 ), /* 8 */
-/* 568 */ NdrFcShort( 0x0 ), /* 0 */
-/* 570 */ NdrFcShort( 0x6 ), /* Offset= 6 (576) */
-/* 572 */ 0x8, /* FC_LONG */
- 0x36, /* FC_POINTER */
-/* 574 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 576 */
- 0x11, 0x0, /* FC_RP */
-/* 578 */ NdrFcShort( 0xffdc ), /* Offset= -36 (542) */
-/* 580 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 582 */ NdrFcShort( 0x4 ), /* 4 */
-/* 584 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 586 */ NdrFcShort( 0x0 ), /* 0 */
-/* 588 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 590 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 592 */
- 0x48, /* FC_VARIABLE_REPEAT */
- 0x49, /* FC_FIXED_OFFSET */
-/* 594 */ NdrFcShort( 0x4 ), /* 4 */
-/* 596 */ NdrFcShort( 0x0 ), /* 0 */
-/* 598 */ NdrFcShort( 0x1 ), /* 1 */
-/* 600 */ NdrFcShort( 0x0 ), /* 0 */
-/* 602 */ NdrFcShort( 0x0 ), /* 0 */
-/* 604 */ 0x13, 0x0, /* FC_OP */
-/* 606 */ NdrFcShort( 0x192 ), /* Offset= 402 (1008) */
-/* 608 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 610 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 612 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 614 */ NdrFcShort( 0x8 ), /* 8 */
-/* 616 */ NdrFcShort( 0x0 ), /* 0 */
-/* 618 */ NdrFcShort( 0x6 ), /* Offset= 6 (624) */
-/* 620 */ 0x8, /* FC_LONG */
- 0x36, /* FC_POINTER */
-/* 622 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 624 */
- 0x11, 0x0, /* FC_RP */
-/* 626 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (580) */
-/* 628 */
- 0x2f, /* FC_IP */
- 0x5a, /* FC_CONSTANT_IID */
-/* 630 */ NdrFcLong( 0x2f ), /* 47 */
-/* 634 */ NdrFcShort( 0x0 ), /* 0 */
-/* 636 */ NdrFcShort( 0x0 ), /* 0 */
-/* 638 */ 0xc0, /* 192 */
- 0x0, /* 0 */
-/* 640 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 642 */ 0x0, /* 0 */
- 0x0, /* 0 */
-/* 644 */ 0x0, /* 0 */
- 0x46, /* 70 */
-/* 646 */
- 0x1b, /* FC_CARRAY */
- 0x0, /* 0 */
-/* 648 */ NdrFcShort( 0x1 ), /* 1 */
-/* 650 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 652 */ NdrFcShort( 0x4 ), /* 4 */
-/* 654 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 656 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 658 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 660 */ NdrFcShort( 0x10 ), /* 16 */
-/* 662 */ NdrFcShort( 0x0 ), /* 0 */
-/* 664 */ NdrFcShort( 0xa ), /* Offset= 10 (674) */
-/* 666 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 668 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 670 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (628) */
-/* 672 */ 0x36, /* FC_POINTER */
- 0x5b, /* FC_END */
-/* 674 */
- 0x13, 0x0, /* FC_OP */
-/* 676 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (646) */
-/* 678 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 680 */ NdrFcShort( 0x4 ), /* 4 */
-/* 682 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 684 */ NdrFcShort( 0x0 ), /* 0 */
-/* 686 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 688 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 690 */
- 0x48, /* FC_VARIABLE_REPEAT */
- 0x49, /* FC_FIXED_OFFSET */
-/* 692 */ NdrFcShort( 0x4 ), /* 4 */
-/* 694 */ NdrFcShort( 0x0 ), /* 0 */
-/* 696 */ NdrFcShort( 0x1 ), /* 1 */
-/* 698 */ NdrFcShort( 0x0 ), /* 0 */
-/* 700 */ NdrFcShort( 0x0 ), /* 0 */
-/* 702 */ 0x13, 0x0, /* FC_OP */
-/* 704 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (658) */
-/* 706 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 708 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 710 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 712 */ NdrFcShort( 0x8 ), /* 8 */
-/* 714 */ NdrFcShort( 0x0 ), /* 0 */
-/* 716 */ NdrFcShort( 0x6 ), /* Offset= 6 (722) */
-/* 718 */ 0x8, /* FC_LONG */
- 0x36, /* FC_POINTER */
-/* 720 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 722 */
- 0x11, 0x0, /* FC_RP */
-/* 724 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (678) */
-/* 726 */
- 0x1d, /* FC_SMFARRAY */
- 0x0, /* 0 */
-/* 728 */ NdrFcShort( 0x8 ), /* 8 */
-/* 730 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 732 */
- 0x15, /* FC_STRUCT */
- 0x3, /* 3 */
-/* 734 */ NdrFcShort( 0x10 ), /* 16 */
-/* 736 */ 0x8, /* FC_LONG */
- 0x6, /* FC_SHORT */
-/* 738 */ 0x6, /* FC_SHORT */
- 0x4c, /* FC_EMBEDDED_COMPLEX */
-/* 740 */ 0x0, /* 0 */
- NdrFcShort( 0xfff1 ), /* Offset= -15 (726) */
- 0x5b, /* FC_END */
-/* 744 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 746 */ NdrFcShort( 0x18 ), /* 24 */
-/* 748 */ NdrFcShort( 0x0 ), /* 0 */
-/* 750 */ NdrFcShort( 0xa ), /* Offset= 10 (760) */
-/* 752 */ 0x8, /* FC_LONG */
- 0x36, /* FC_POINTER */
-/* 754 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 756 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (732) */
-/* 758 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 760 */
- 0x11, 0x0, /* FC_RP */
-/* 762 */ NdrFcShort( 0xfefe ), /* Offset= -258 (504) */
-/* 764 */
- 0x1b, /* FC_CARRAY */
- 0x0, /* 0 */
-/* 766 */ NdrFcShort( 0x1 ), /* 1 */
-/* 768 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 770 */ NdrFcShort( 0x0 ), /* 0 */
-/* 772 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 774 */ 0x1, /* FC_BYTE */
- 0x5b, /* FC_END */
-/* 776 */
- 0x16, /* FC_PSTRUCT */
- 0x3, /* 3 */
-/* 778 */ NdrFcShort( 0x8 ), /* 8 */
-/* 780 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 782 */
- 0x46, /* FC_NO_REPEAT */
- 0x5c, /* FC_PAD */
-/* 784 */ NdrFcShort( 0x4 ), /* 4 */
-/* 786 */ NdrFcShort( 0x4 ), /* 4 */
-/* 788 */ 0x13, 0x0, /* FC_OP */
-/* 790 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (764) */
-/* 792 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 794 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 796 */
- 0x1b, /* FC_CARRAY */
- 0x1, /* 1 */
-/* 798 */ NdrFcShort( 0x2 ), /* 2 */
-/* 800 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 802 */ NdrFcShort( 0x0 ), /* 0 */
-/* 804 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 806 */ 0x6, /* FC_SHORT */
- 0x5b, /* FC_END */
-/* 808 */
- 0x16, /* FC_PSTRUCT */
- 0x3, /* 3 */
-/* 810 */ NdrFcShort( 0x8 ), /* 8 */
-/* 812 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 814 */
- 0x46, /* FC_NO_REPEAT */
- 0x5c, /* FC_PAD */
-/* 816 */ NdrFcShort( 0x4 ), /* 4 */
-/* 818 */ NdrFcShort( 0x4 ), /* 4 */
-/* 820 */ 0x13, 0x0, /* FC_OP */
-/* 822 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (796) */
-/* 824 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 826 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 828 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 830 */ NdrFcShort( 0x4 ), /* 4 */
-/* 832 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 834 */ NdrFcShort( 0x0 ), /* 0 */
-/* 836 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 838 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 840 */
- 0x16, /* FC_PSTRUCT */
- 0x3, /* 3 */
-/* 842 */ NdrFcShort( 0x8 ), /* 8 */
-/* 844 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 846 */
- 0x46, /* FC_NO_REPEAT */
- 0x5c, /* FC_PAD */
-/* 848 */ NdrFcShort( 0x4 ), /* 4 */
-/* 850 */ NdrFcShort( 0x4 ), /* 4 */
-/* 852 */ 0x13, 0x0, /* FC_OP */
-/* 854 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (828) */
-/* 856 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 858 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 860 */
- 0x1b, /* FC_CARRAY */
- 0x7, /* 7 */
-/* 862 */ NdrFcShort( 0x8 ), /* 8 */
-/* 864 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
- 0x0, /* */
-/* 866 */ NdrFcShort( 0x0 ), /* 0 */
-/* 868 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 870 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 872 */
- 0x16, /* FC_PSTRUCT */
- 0x3, /* 3 */
-/* 874 */ NdrFcShort( 0x8 ), /* 8 */
-/* 876 */
- 0x4b, /* FC_PP */
- 0x5c, /* FC_PAD */
-/* 878 */
- 0x46, /* FC_NO_REPEAT */
- 0x5c, /* FC_PAD */
-/* 880 */ NdrFcShort( 0x4 ), /* 4 */
-/* 882 */ NdrFcShort( 0x4 ), /* 4 */
-/* 884 */ 0x13, 0x0, /* FC_OP */
-/* 886 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (860) */
-/* 888 */
- 0x5b, /* FC_END */
-
- 0x8, /* FC_LONG */
-/* 890 */ 0x8, /* FC_LONG */
- 0x5b, /* FC_END */
-/* 892 */
- 0x15, /* FC_STRUCT */
- 0x3, /* 3 */
-/* 894 */ NdrFcShort( 0x8 ), /* 8 */
-/* 896 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 898 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 900 */
- 0x1b, /* FC_CARRAY */
- 0x3, /* 3 */
-/* 902 */ NdrFcShort( 0x8 ), /* 8 */
-/* 904 */ 0x7, /* Corr desc: FC_USHORT */
- 0x0, /* */
-/* 906 */ NdrFcShort( 0xffd8 ), /* -40 */
-/* 908 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
-/* 910 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 912 */ NdrFcShort( 0xffec ), /* Offset= -20 (892) */
-/* 914 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 916 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x3, /* 3 */
-/* 918 */ NdrFcShort( 0x28 ), /* 40 */
-/* 920 */ NdrFcShort( 0xffec ), /* Offset= -20 (900) */
-/* 922 */ NdrFcShort( 0x0 ), /* Offset= 0 (922) */
-/* 924 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 926 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 928 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 930 */ NdrFcShort( 0xfdde ), /* Offset= -546 (384) */
-/* 932 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 934 */
- 0x13, 0x0, /* FC_OP */
-/* 936 */ NdrFcShort( 0xfeea ), /* Offset= -278 (658) */
-/* 938 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 940 */ 0x1, /* FC_BYTE */
- 0x5c, /* FC_PAD */
-/* 942 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 944 */ 0x6, /* FC_SHORT */
- 0x5c, /* FC_PAD */
-/* 946 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 948 */ 0x8, /* FC_LONG */
- 0x5c, /* FC_PAD */
-/* 950 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 952 */ 0xb, /* FC_HYPER */
- 0x5c, /* FC_PAD */
-/* 954 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 956 */ 0xa, /* FC_FLOAT */
- 0x5c, /* FC_PAD */
-/* 958 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 960 */ 0xc, /* FC_DOUBLE */
- 0x5c, /* FC_PAD */
-/* 962 */
- 0x13, 0x0, /* FC_OP */
-/* 964 */ NdrFcShort( 0xfd70 ), /* Offset= -656 (308) */
-/* 966 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 968 */ NdrFcShort( 0xfd72 ), /* Offset= -654 (314) */
-/* 970 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 972 */ NdrFcShort( 0xfd88 ), /* Offset= -632 (340) */
-/* 974 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 976 */ NdrFcShort( 0xfd96 ), /* Offset= -618 (358) */
-/* 978 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 980 */ NdrFcShort( 0xfda4 ), /* Offset= -604 (376) */
-/* 982 */
- 0x13, 0x10, /* FC_OP [pointer_deref] */
-/* 984 */ NdrFcShort( 0x2 ), /* Offset= 2 (986) */
-/* 986 */
- 0x13, 0x0, /* FC_OP */
-/* 988 */ NdrFcShort( 0x14 ), /* Offset= 20 (1008) */
-/* 990 */
- 0x15, /* FC_STRUCT */
- 0x7, /* 7 */
-/* 992 */ NdrFcShort( 0x10 ), /* 16 */
-/* 994 */ 0x6, /* FC_SHORT */
- 0x1, /* FC_BYTE */
-/* 996 */ 0x1, /* FC_BYTE */
- 0x8, /* FC_LONG */
-/* 998 */ 0xb, /* FC_HYPER */
- 0x5b, /* FC_END */
-/* 1000 */
- 0x13, 0x0, /* FC_OP */
-/* 1002 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (990) */
-/* 1004 */
- 0x13, 0x8, /* FC_OP [simple_pointer] */
-/* 1006 */ 0x2, /* FC_CHAR */
- 0x5c, /* FC_PAD */
-/* 1008 */
- 0x1a, /* FC_BOGUS_STRUCT */
- 0x7, /* 7 */
-/* 1010 */ NdrFcShort( 0x20 ), /* 32 */
-/* 1012 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1014 */ NdrFcShort( 0x0 ), /* Offset= 0 (1014) */
-/* 1016 */ 0x8, /* FC_LONG */
- 0x8, /* FC_LONG */
-/* 1018 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 1020 */ 0x6, /* FC_SHORT */
- 0x6, /* FC_SHORT */
-/* 1022 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
- 0x0, /* 0 */
-/* 1024 */ NdrFcShort( 0xfc0a ), /* Offset= -1014 (10) */
-/* 1026 */ 0x5c, /* FC_PAD */
- 0x5b, /* FC_END */
-/* 1028 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 1030 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1032 */ NdrFcShort( 0x10 ), /* 16 */
-/* 1034 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1036 */ NdrFcShort( 0xfbfa ), /* Offset= -1030 (6) */
-/* 1038 */
- 0x12, 0x0, /* FC_UP */
-/* 1040 */ NdrFcShort( 0xffe0 ), /* Offset= -32 (1008) */
-/* 1042 */ 0xb4, /* FC_USER_MARSHAL */
- 0x83, /* 131 */
-/* 1044 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1046 */ NdrFcShort( 0x10 ), /* 16 */
-/* 1048 */ NdrFcShort( 0x0 ), /* 0 */
-/* 1050 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1038) */
-
- 0x0
- }
- };
-
-static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
- {
-
- {
- VARIANT_UserSize
- ,VARIANT_UserMarshal
- ,VARIANT_UserUnmarshal
- ,VARIANT_UserFree
- }
-
- };
-
-
-
-/* Object interface: IUnknown, ver. 0.0,
- GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
-
-
-/* Object interface: IAccessibleValue, ver. 0.0,
- GUID={0x35855B5B,0xC566,0x4fd0,{0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94}} */
-
-#pragma code_seg(".orpc")
-static const unsigned short IAccessibleValue_FormatStringOffsetTable[] =
- {
- 0,
- 36,
- 72,
- 108
- };
-
-static const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo =
- {
- &Object_StubDesc,
- AccessibleValue__MIDL_ProcFormatString.Format,
- &IAccessibleValue_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0
- };
-
-
-static const MIDL_SERVER_INFO IAccessibleValue_ServerInfo =
- {
- &Object_StubDesc,
- 0,
- AccessibleValue__MIDL_ProcFormatString.Format,
- &IAccessibleValue_FormatStringOffsetTable[-3],
- 0,
- 0,
- 0,
- 0};
-CINTERFACE_PROXY_VTABLE(7) _IAccessibleValueProxyVtbl =
-{
- &IAccessibleValue_ProxyInfo,
- &IID_IAccessibleValue,
- IUnknown_QueryInterface_Proxy,
- IUnknown_AddRef_Proxy,
- IUnknown_Release_Proxy ,
- (void *) (INT_PTR) -1 /* IAccessibleValue::get_currentValue */ ,
- (void *) (INT_PTR) -1 /* IAccessibleValue::setCurrentValue */ ,
- (void *) (INT_PTR) -1 /* IAccessibleValue::get_maximumValue */ ,
- (void *) (INT_PTR) -1 /* IAccessibleValue::get_minimumValue */
-};
-
-const CInterfaceStubVtbl _IAccessibleValueStubVtbl =
-{
- &IID_IAccessibleValue,
- &IAccessibleValue_ServerInfo,
- 7,
- 0, /* pure interpreted */
- CStdStubBuffer_METHODS
-};
-
-static const MIDL_STUB_DESC Object_StubDesc =
- {
- 0,
- NdrOleAllocate,
- NdrOleFree,
- 0,
- 0,
- 0,
- 0,
- 0,
- AccessibleValue__MIDL_TypeFormatString.Format,
- 1, /* -error bounds_check flag */
- 0x50002, /* Ndr library version */
- 0,
- 0x700022b, /* MIDL Version 7.0.555 */
- 0,
- UserMarshalRoutines,
- 0, /* notify & notify_flag routine table */
- 0x1, /* MIDL flag */
- 0, /* cs routines */
- 0, /* proxy/server info */
- 0
- };
-
-const CInterfaceProxyVtbl * const _AccessibleValue_ProxyVtblList[] =
-{
- ( CInterfaceProxyVtbl *) &_IAccessibleValueProxyVtbl,
- 0
-};
-
-const CInterfaceStubVtbl * const _AccessibleValue_StubVtblList[] =
-{
- ( CInterfaceStubVtbl *) &_IAccessibleValueStubVtbl,
- 0
-};
-
-PCInterfaceName const _AccessibleValue_InterfaceNamesList[] =
-{
- "IAccessibleValue",
- 0
-};
-
-
-#define _AccessibleValue_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleValue, pIID, n)
-
-int __stdcall _AccessibleValue_IID_Lookup( const IID * pIID, int * pIndex )
-{
-
- if(!_AccessibleValue_CHECK_IID(0))
- {
- *pIndex = 0;
- return 1;
- }
-
- return 0;
-}
-
-const ExtendedProxyFileInfo AccessibleValue_ProxyFileInfo =
-{
- (PCInterfaceProxyVtblList *) & _AccessibleValue_ProxyVtblList,
- (PCInterfaceStubVtblList *) & _AccessibleValue_StubVtblList,
- (const PCInterfaceName * ) & _AccessibleValue_InterfaceNamesList,
- 0, /* no delegation */
- & _AccessibleValue_IID_Lookup,
- 1,
- 2,
- 0, /* table of [async_uuid] interfaces */
- 0, /* Filler1 */
- 0, /* Filler2 */
- 0 /* Filler3 */
-};
-#pragma optimize("", on )
-#if _MSC_VER >= 1200
-#pragma warning(pop)
-#endif
-
-
-#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/IA2CommonTypes.h b/src/3rdparty/iaccessible2/generated/x86/IA2CommonTypes.h
deleted file mode 100644
index 7d1df601e6..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/IA2CommonTypes.h
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:56 2012
- */
-/* Compiler settings for IA2CommonTypes.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-
-#ifndef __IA2CommonTypes_h__
-#define __IA2CommonTypes_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_IA2CommonTypes_0000_0000 */
-/* [local] */
-
-
-enum IA2ScrollType
- { IA2_SCROLL_TYPE_TOP_LEFT = 0,
- IA2_SCROLL_TYPE_BOTTOM_RIGHT = ( IA2_SCROLL_TYPE_TOP_LEFT + 1 ) ,
- IA2_SCROLL_TYPE_TOP_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_RIGHT + 1 ) ,
- IA2_SCROLL_TYPE_BOTTOM_EDGE = ( IA2_SCROLL_TYPE_TOP_EDGE + 1 ) ,
- IA2_SCROLL_TYPE_LEFT_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_EDGE + 1 ) ,
- IA2_SCROLL_TYPE_RIGHT_EDGE = ( IA2_SCROLL_TYPE_LEFT_EDGE + 1 ) ,
- IA2_SCROLL_TYPE_ANYWHERE = ( IA2_SCROLL_TYPE_RIGHT_EDGE + 1 )
- } ;
-
-enum IA2CoordinateType
- { IA2_COORDTYPE_SCREEN_RELATIVE = 0,
- IA2_COORDTYPE_PARENT_RELATIVE = ( IA2_COORDTYPE_SCREEN_RELATIVE + 1 )
- } ;
-
-enum IA2TextSpecialOffsets
- { IA2_TEXT_OFFSET_LENGTH = -1,
- IA2_TEXT_OFFSET_CARET = -2
- } ;
-
-enum IA2TableModelChangeType
- { IA2_TABLE_MODEL_CHANGE_INSERT = 0,
- IA2_TABLE_MODEL_CHANGE_DELETE = ( IA2_TABLE_MODEL_CHANGE_INSERT + 1 ) ,
- IA2_TABLE_MODEL_CHANGE_UPDATE = ( IA2_TABLE_MODEL_CHANGE_DELETE + 1 )
- } ;
-typedef struct IA2TableModelChange
- {
- enum IA2TableModelChangeType type;
- long firstRow;
- long lastRow;
- long firstColumn;
- long lastColumn;
- } IA2TableModelChange;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_IA2CommonTypes_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_IA2CommonTypes_0000_0000_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.h b/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.h
deleted file mode 100644
index e80b2722f9..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.h
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:56 2012
- */
-/* Compiler settings for IA2TypeLibrary.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
-
-
-#ifndef __IA2TypeLibrary_h__
-#define __IA2TypeLibrary_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-/* Forward Declarations */
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_IA2TypeLibrary_0000_0000 */
-/* [local] */
-
-
-// Type Library Definitions
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_IA2TypeLibrary_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_IA2TypeLibrary_0000_0000_v0_0_s_ifspec;
-
-
-#ifndef __IAccessible2Lib_LIBRARY_DEFINED__
-#define __IAccessible2Lib_LIBRARY_DEFINED__
-
-/* library IAccessible2Lib */
-/* [hidden][version][helpstring][uuid] */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-EXTERN_C const IID LIBID_IAccessible2Lib;
-#endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.tlb b/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.tlb
deleted file mode 100644
index b4c56c7aaa..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.tlb
+++ /dev/null
Binary files differ
diff --git a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary_i.c b/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary_i.c
deleted file mode 100644
index 1bf9d5159d..0000000000
--- a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary_i.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0555 */
-/* at Thu Mar 08 14:53:56 2012
- */
-/* Compiler settings for IA2TypeLibrary.idl:
- Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-/* @@MIDL_FILE_HEADING( ) */
-
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
- unsigned long x;
- unsigned short s1;
- unsigned short s2;
- unsigned char c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
- const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, LIBID_IAccessible2Lib,0xc974e070,0x3787,0x490a,0x87,0xb0,0xe3,0x33,0xb0,0x6c,0xa1,0xe2);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/3rdparty/iaccessible2/generated/x86/dlldata.c b/src/3rdparty/iaccessible2/generated/x86/dlldata.c
index e1e15a1fc0..1685d8340a 100644
--- a/src/3rdparty/iaccessible2/generated/x86/dlldata.c
+++ b/src/3rdparty/iaccessible2/generated/x86/dlldata.c
@@ -19,38 +19,12 @@
extern "C" {
#endif
-EXTERN_PROXY_FILE( Accessible2 )
-EXTERN_PROXY_FILE( AccessibleAction )
-EXTERN_PROXY_FILE( AccessibleApplication )
-EXTERN_PROXY_FILE( AccessibleComponent )
-EXTERN_PROXY_FILE( AccessibleEditableText )
-EXTERN_PROXY_FILE( AccessibleHyperlink )
-EXTERN_PROXY_FILE( AccessibleHypertext )
-EXTERN_PROXY_FILE( AccessibleImage )
-EXTERN_PROXY_FILE( AccessibleRelation )
-EXTERN_PROXY_FILE( AccessibleTable )
-EXTERN_PROXY_FILE( AccessibleTable2 )
-EXTERN_PROXY_FILE( AccessibleTableCell )
-EXTERN_PROXY_FILE( AccessibleText )
-EXTERN_PROXY_FILE( AccessibleValue )
+EXTERN_PROXY_FILE( ia2_api_all )
PROXYFILE_LIST_START
/* Start of list */
- REFERENCE_PROXY_FILE( Accessible2 ),
- REFERENCE_PROXY_FILE( AccessibleAction ),
- REFERENCE_PROXY_FILE( AccessibleApplication ),
- REFERENCE_PROXY_FILE( AccessibleComponent ),
- REFERENCE_PROXY_FILE( AccessibleEditableText ),
- REFERENCE_PROXY_FILE( AccessibleHyperlink ),
- REFERENCE_PROXY_FILE( AccessibleHypertext ),
- REFERENCE_PROXY_FILE( AccessibleImage ),
- REFERENCE_PROXY_FILE( AccessibleRelation ),
- REFERENCE_PROXY_FILE( AccessibleTable ),
- REFERENCE_PROXY_FILE( AccessibleTable2 ),
- REFERENCE_PROXY_FILE( AccessibleTableCell ),
- REFERENCE_PROXY_FILE( AccessibleText ),
- REFERENCE_PROXY_FILE( AccessibleValue ),
+ REFERENCE_PROXY_FILE( ia2_api_all ),
/* End of list */
PROXYFILE_LIST_END
diff --git a/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.h b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.h
new file mode 100644
index 0000000000..eb3b57b8bd
--- /dev/null
+++ b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.h
@@ -0,0 +1,4667 @@
+
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+ /* File created by MIDL compiler version 7.00.0555 */
+/* at Mon Aug 11 14:34:41 2014
+ */
+/* Compiler settings for ia2_api_all.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+/* @@MIDL_FILE_HEADING( ) */
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of <rpcndr.h>
+#endif // __RPCNDR_H_VERSION__
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif /*COM_NO_WINDOWS_H*/
+
+#ifndef __ia2_api_all_h__
+#define __ia2_api_all_h__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+/* Forward Declarations */
+
+#ifndef __IAccessibleRelation_FWD_DEFINED__
+#define __IAccessibleRelation_FWD_DEFINED__
+typedef interface IAccessibleRelation IAccessibleRelation;
+#endif /* __IAccessibleRelation_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleAction_FWD_DEFINED__
+#define __IAccessibleAction_FWD_DEFINED__
+typedef interface IAccessibleAction IAccessibleAction;
+#endif /* __IAccessibleAction_FWD_DEFINED__ */
+
+
+#ifndef __IAccessible2_FWD_DEFINED__
+#define __IAccessible2_FWD_DEFINED__
+typedef interface IAccessible2 IAccessible2;
+#endif /* __IAccessible2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessible2_2_FWD_DEFINED__
+#define __IAccessible2_2_FWD_DEFINED__
+typedef interface IAccessible2_2 IAccessible2_2;
+#endif /* __IAccessible2_2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleComponent_FWD_DEFINED__
+#define __IAccessibleComponent_FWD_DEFINED__
+typedef interface IAccessibleComponent IAccessibleComponent;
+#endif /* __IAccessibleComponent_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleValue_FWD_DEFINED__
+#define __IAccessibleValue_FWD_DEFINED__
+typedef interface IAccessibleValue IAccessibleValue;
+#endif /* __IAccessibleValue_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleText_FWD_DEFINED__
+#define __IAccessibleText_FWD_DEFINED__
+typedef interface IAccessibleText IAccessibleText;
+#endif /* __IAccessibleText_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleText2_FWD_DEFINED__
+#define __IAccessibleText2_FWD_DEFINED__
+typedef interface IAccessibleText2 IAccessibleText2;
+#endif /* __IAccessibleText2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleEditableText_FWD_DEFINED__
+#define __IAccessibleEditableText_FWD_DEFINED__
+typedef interface IAccessibleEditableText IAccessibleEditableText;
+#endif /* __IAccessibleEditableText_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHyperlink_FWD_DEFINED__
+#define __IAccessibleHyperlink_FWD_DEFINED__
+typedef interface IAccessibleHyperlink IAccessibleHyperlink;
+#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext_FWD_DEFINED__
+#define __IAccessibleHypertext_FWD_DEFINED__
+typedef interface IAccessibleHypertext IAccessibleHypertext;
+#endif /* __IAccessibleHypertext_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext2_FWD_DEFINED__
+#define __IAccessibleHypertext2_FWD_DEFINED__
+typedef interface IAccessibleHypertext2 IAccessibleHypertext2;
+#endif /* __IAccessibleHypertext2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTable_FWD_DEFINED__
+#define __IAccessibleTable_FWD_DEFINED__
+typedef interface IAccessibleTable IAccessibleTable;
+#endif /* __IAccessibleTable_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTable2_FWD_DEFINED__
+#define __IAccessibleTable2_FWD_DEFINED__
+typedef interface IAccessibleTable2 IAccessibleTable2;
+#endif /* __IAccessibleTable2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTableCell_FWD_DEFINED__
+#define __IAccessibleTableCell_FWD_DEFINED__
+typedef interface IAccessibleTableCell IAccessibleTableCell;
+#endif /* __IAccessibleTableCell_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleImage_FWD_DEFINED__
+#define __IAccessibleImage_FWD_DEFINED__
+typedef interface IAccessibleImage IAccessibleImage;
+#endif /* __IAccessibleImage_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleApplication_FWD_DEFINED__
+#define __IAccessibleApplication_FWD_DEFINED__
+typedef interface IAccessibleApplication IAccessibleApplication;
+#endif /* __IAccessibleApplication_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleDocument_FWD_DEFINED__
+#define __IAccessibleDocument_FWD_DEFINED__
+typedef interface IAccessibleDocument IAccessibleDocument;
+#endif /* __IAccessibleDocument_FWD_DEFINED__ */
+
+
+#ifndef __IAccessible2_FWD_DEFINED__
+#define __IAccessible2_FWD_DEFINED__
+typedef interface IAccessible2 IAccessible2;
+#endif /* __IAccessible2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessible2_2_FWD_DEFINED__
+#define __IAccessible2_2_FWD_DEFINED__
+typedef interface IAccessible2_2 IAccessible2_2;
+#endif /* __IAccessible2_2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleAction_FWD_DEFINED__
+#define __IAccessibleAction_FWD_DEFINED__
+typedef interface IAccessibleAction IAccessibleAction;
+#endif /* __IAccessibleAction_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleApplication_FWD_DEFINED__
+#define __IAccessibleApplication_FWD_DEFINED__
+typedef interface IAccessibleApplication IAccessibleApplication;
+#endif /* __IAccessibleApplication_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleComponent_FWD_DEFINED__
+#define __IAccessibleComponent_FWD_DEFINED__
+typedef interface IAccessibleComponent IAccessibleComponent;
+#endif /* __IAccessibleComponent_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleDocument_FWD_DEFINED__
+#define __IAccessibleDocument_FWD_DEFINED__
+typedef interface IAccessibleDocument IAccessibleDocument;
+#endif /* __IAccessibleDocument_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleEditableText_FWD_DEFINED__
+#define __IAccessibleEditableText_FWD_DEFINED__
+typedef interface IAccessibleEditableText IAccessibleEditableText;
+#endif /* __IAccessibleEditableText_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHyperlink_FWD_DEFINED__
+#define __IAccessibleHyperlink_FWD_DEFINED__
+typedef interface IAccessibleHyperlink IAccessibleHyperlink;
+#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleText_FWD_DEFINED__
+#define __IAccessibleText_FWD_DEFINED__
+typedef interface IAccessibleText IAccessibleText;
+#endif /* __IAccessibleText_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext_FWD_DEFINED__
+#define __IAccessibleHypertext_FWD_DEFINED__
+typedef interface IAccessibleHypertext IAccessibleHypertext;
+#endif /* __IAccessibleHypertext_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext2_FWD_DEFINED__
+#define __IAccessibleHypertext2_FWD_DEFINED__
+typedef interface IAccessibleHypertext2 IAccessibleHypertext2;
+#endif /* __IAccessibleHypertext2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleImage_FWD_DEFINED__
+#define __IAccessibleImage_FWD_DEFINED__
+typedef interface IAccessibleImage IAccessibleImage;
+#endif /* __IAccessibleImage_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleRelation_FWD_DEFINED__
+#define __IAccessibleRelation_FWD_DEFINED__
+typedef interface IAccessibleRelation IAccessibleRelation;
+#endif /* __IAccessibleRelation_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTable_FWD_DEFINED__
+#define __IAccessibleTable_FWD_DEFINED__
+typedef interface IAccessibleTable IAccessibleTable;
+#endif /* __IAccessibleTable_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTable2_FWD_DEFINED__
+#define __IAccessibleTable2_FWD_DEFINED__
+typedef interface IAccessibleTable2 IAccessibleTable2;
+#endif /* __IAccessibleTable2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleTableCell_FWD_DEFINED__
+#define __IAccessibleTableCell_FWD_DEFINED__
+typedef interface IAccessibleTableCell IAccessibleTableCell;
+#endif /* __IAccessibleTableCell_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleText2_FWD_DEFINED__
+#define __IAccessibleText2_FWD_DEFINED__
+typedef interface IAccessibleText2 IAccessibleText2;
+#endif /* __IAccessibleText2_FWD_DEFINED__ */
+
+
+#ifndef __IAccessibleValue_FWD_DEFINED__
+#define __IAccessibleValue_FWD_DEFINED__
+typedef interface IAccessibleValue IAccessibleValue;
+#endif /* __IAccessibleValue_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "objidl.h"
+#include "oaidl.h"
+#include "oleacc.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0000 */
+/* [local] */
+
+
+enum IA2ScrollType
+ { IA2_SCROLL_TYPE_TOP_LEFT = 0,
+ IA2_SCROLL_TYPE_BOTTOM_RIGHT = ( IA2_SCROLL_TYPE_TOP_LEFT + 1 ) ,
+ IA2_SCROLL_TYPE_TOP_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_RIGHT + 1 ) ,
+ IA2_SCROLL_TYPE_BOTTOM_EDGE = ( IA2_SCROLL_TYPE_TOP_EDGE + 1 ) ,
+ IA2_SCROLL_TYPE_LEFT_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_EDGE + 1 ) ,
+ IA2_SCROLL_TYPE_RIGHT_EDGE = ( IA2_SCROLL_TYPE_LEFT_EDGE + 1 ) ,
+ IA2_SCROLL_TYPE_ANYWHERE = ( IA2_SCROLL_TYPE_RIGHT_EDGE + 1 )
+ } ;
+
+enum IA2CoordinateType
+ { IA2_COORDTYPE_SCREEN_RELATIVE = 0,
+ IA2_COORDTYPE_PARENT_RELATIVE = ( IA2_COORDTYPE_SCREEN_RELATIVE + 1 )
+ } ;
+
+enum IA2TextSpecialOffsets
+ { IA2_TEXT_OFFSET_LENGTH = -1,
+ IA2_TEXT_OFFSET_CARET = -2
+ } ;
+
+enum IA2TableModelChangeType
+ { IA2_TABLE_MODEL_CHANGE_INSERT = 0,
+ IA2_TABLE_MODEL_CHANGE_DELETE = ( IA2_TABLE_MODEL_CHANGE_INSERT + 1 ) ,
+ IA2_TABLE_MODEL_CHANGE_UPDATE = ( IA2_TABLE_MODEL_CHANGE_DELETE + 1 )
+ } ;
+typedef struct IA2TableModelChange
+ {
+ enum IA2TableModelChangeType type;
+ long firstRow;
+ long lastRow;
+ long firstColumn;
+ long lastColumn;
+ } IA2TableModelChange;
+
+#define IA2_RELATION_CONTAINING_APPLICATION ( L"containingApplication" )
+
+#define IA2_RELATION_CONTAINING_DOCUMENT ( L"containingDocument" )
+
+#define IA2_RELATION_CONTAINING_TAB_PANE ( L"containingTabPane" )
+
+#define IA2_RELATION_CONTAINING_WINDOW ( L"containingWindow" )
+
+#define IA2_RELATION_CONTROLLED_BY ( L"controlledBy" )
+
+#define IA2_RELATION_CONTROLLER_FOR ( L"controllerFor" )
+
+#define IA2_RELATION_DESCRIBED_BY ( L"describedBy" )
+
+#define IA2_RELATION_DESCRIPTION_FOR ( L"descriptionFor" )
+
+#define IA2_RELATION_EMBEDDED_BY ( L"embeddedBy" )
+
+#define IA2_RELATION_EMBEDS ( L"embeds" )
+
+#define IA2_RELATION_FLOWS_FROM ( L"flowsFrom" )
+
+#define IA2_RELATION_FLOWS_TO ( L"flowsTo" )
+
+#define IA2_RELATION_LABEL_FOR ( L"labelFor" )
+
+#define IA2_RELATION_LABELED_BY ( L"labelledBy" )
+
+#define IA2_RELATION_LABELLED_BY ( L"labelledBy" )
+
+#define IA2_RELATION_MEMBER_OF ( L"memberOf" )
+
+#define IA2_RELATION_NEXT_TABBABLE ( L"nextTabbable" )
+
+#define IA2_RELATION_NODE_CHILD_OF ( L"nodeChildOf" )
+
+#define IA2_RELATION_NODE_PARENT_OF ( L"nodeParentOf" )
+
+#define IA2_RELATION_PARENT_WINDOW_OF ( L"parentWindowOf" )
+
+#define IA2_RELATION_POPUP_FOR ( L"popupFor" )
+
+#define IA2_RELATION_PREVIOUS_TABBABLE ( L"previousTabbable" )
+
+#define IA2_RELATION_SUBWINDOW_OF ( L"subwindowOf" )
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_s_ifspec;
+
+#ifndef __IAccessibleRelation_INTERFACE_DEFINED__
+#define __IAccessibleRelation_INTERFACE_DEFINED__
+
+/* interface IAccessibleRelation */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleRelation;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("7CDF86EE-C3DA-496a-BDA4-281B336E1FDC")
+ IAccessibleRelation : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationType(
+ /* [retval][out] */ BSTR *relationType) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedRelationType(
+ /* [retval][out] */ BSTR *localizedRelationType) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nTargets(
+ /* [retval][out] */ long *nTargets) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_target(
+ /* [in] */ long targetIndex,
+ /* [retval][out] */ IUnknown **target) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targets(
+ /* [in] */ long maxTargets,
+ /* [length_is][size_is][out] */ IUnknown **targets,
+ /* [retval][out] */ long *nTargets) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleRelationVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleRelation * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleRelation * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleRelation * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationType )(
+ IAccessibleRelation * This,
+ /* [retval][out] */ BSTR *relationType);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedRelationType )(
+ IAccessibleRelation * This,
+ /* [retval][out] */ BSTR *localizedRelationType);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nTargets )(
+ IAccessibleRelation * This,
+ /* [retval][out] */ long *nTargets);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )(
+ IAccessibleRelation * This,
+ /* [in] */ long targetIndex,
+ /* [retval][out] */ IUnknown **target);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targets )(
+ IAccessibleRelation * This,
+ /* [in] */ long maxTargets,
+ /* [length_is][size_is][out] */ IUnknown **targets,
+ /* [retval][out] */ long *nTargets);
+
+ END_INTERFACE
+ } IAccessibleRelationVtbl;
+
+ interface IAccessibleRelation
+ {
+ CONST_VTBL struct IAccessibleRelationVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleRelation_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleRelation_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleRelation_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleRelation_get_relationType(This,relationType) \
+ ( (This)->lpVtbl -> get_relationType(This,relationType) )
+
+#define IAccessibleRelation_get_localizedRelationType(This,localizedRelationType) \
+ ( (This)->lpVtbl -> get_localizedRelationType(This,localizedRelationType) )
+
+#define IAccessibleRelation_get_nTargets(This,nTargets) \
+ ( (This)->lpVtbl -> get_nTargets(This,nTargets) )
+
+#define IAccessibleRelation_get_target(This,targetIndex,target) \
+ ( (This)->lpVtbl -> get_target(This,targetIndex,target) )
+
+#define IAccessibleRelation_get_targets(This,maxTargets,targets,nTargets) \
+ ( (This)->lpVtbl -> get_targets(This,maxTargets,targets,nTargets) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleRelation_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0001 */
+/* [local] */
+
+
+enum IA2Actions
+ { IA2_ACTION_OPEN = -1,
+ IA2_ACTION_COMPLETE = -2,
+ IA2_ACTION_CLOSE = -3
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0001_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0001_v0_0_s_ifspec;
+
+#ifndef __IAccessibleAction_INTERFACE_DEFINED__
+#define __IAccessibleAction_INTERFACE_DEFINED__
+
+/* interface IAccessibleAction */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleAction;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("B70D9F59-3B5A-4dba-AB9E-22012F607DF5")
+ IAccessibleAction : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE nActions(
+ /* [retval][out] */ long *nActions) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE doAction(
+ /* [in] */ long actionIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description(
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_keyBinding(
+ /* [in] */ long actionIndex,
+ /* [in] */ long nMaxBindings,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
+ /* [retval][out] */ long *nBindings) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_name(
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *name) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedName(
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *localizedName) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleActionVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleAction * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleAction * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleAction * This);
+
+ HRESULT ( STDMETHODCALLTYPE *nActions )(
+ IAccessibleAction * This,
+ /* [retval][out] */ long *nActions);
+
+ HRESULT ( STDMETHODCALLTYPE *doAction )(
+ IAccessibleAction * This,
+ /* [in] */ long actionIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
+ IAccessibleAction * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )(
+ IAccessibleAction * This,
+ /* [in] */ long actionIndex,
+ /* [in] */ long nMaxBindings,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
+ /* [retval][out] */ long *nBindings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IAccessibleAction * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *name);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )(
+ IAccessibleAction * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *localizedName);
+
+ END_INTERFACE
+ } IAccessibleActionVtbl;
+
+ interface IAccessibleAction
+ {
+ CONST_VTBL struct IAccessibleActionVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleAction_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleAction_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleAction_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleAction_nActions(This,nActions) \
+ ( (This)->lpVtbl -> nActions(This,nActions) )
+
+#define IAccessibleAction_doAction(This,actionIndex) \
+ ( (This)->lpVtbl -> doAction(This,actionIndex) )
+
+#define IAccessibleAction_get_description(This,actionIndex,description) \
+ ( (This)->lpVtbl -> get_description(This,actionIndex,description) )
+
+#define IAccessibleAction_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \
+ ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) )
+
+#define IAccessibleAction_get_name(This,actionIndex,name) \
+ ( (This)->lpVtbl -> get_name(This,actionIndex,name) )
+
+#define IAccessibleAction_get_localizedName(This,actionIndex,localizedName) \
+ ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleAction_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0002 */
+/* [local] */
+
+
+enum IA2Role
+ { IA2_ROLE_UNKNOWN = 0,
+ IA2_ROLE_CANVAS = 0x401,
+ IA2_ROLE_CAPTION = ( IA2_ROLE_CANVAS + 1 ) ,
+ IA2_ROLE_CHECK_MENU_ITEM = ( IA2_ROLE_CAPTION + 1 ) ,
+ IA2_ROLE_COLOR_CHOOSER = ( IA2_ROLE_CHECK_MENU_ITEM + 1 ) ,
+ IA2_ROLE_DATE_EDITOR = ( IA2_ROLE_COLOR_CHOOSER + 1 ) ,
+ IA2_ROLE_DESKTOP_ICON = ( IA2_ROLE_DATE_EDITOR + 1 ) ,
+ IA2_ROLE_DESKTOP_PANE = ( IA2_ROLE_DESKTOP_ICON + 1 ) ,
+ IA2_ROLE_DIRECTORY_PANE = ( IA2_ROLE_DESKTOP_PANE + 1 ) ,
+ IA2_ROLE_EDITBAR = ( IA2_ROLE_DIRECTORY_PANE + 1 ) ,
+ IA2_ROLE_EMBEDDED_OBJECT = ( IA2_ROLE_EDITBAR + 1 ) ,
+ IA2_ROLE_ENDNOTE = ( IA2_ROLE_EMBEDDED_OBJECT + 1 ) ,
+ IA2_ROLE_FILE_CHOOSER = ( IA2_ROLE_ENDNOTE + 1 ) ,
+ IA2_ROLE_FONT_CHOOSER = ( IA2_ROLE_FILE_CHOOSER + 1 ) ,
+ IA2_ROLE_FOOTER = ( IA2_ROLE_FONT_CHOOSER + 1 ) ,
+ IA2_ROLE_FOOTNOTE = ( IA2_ROLE_FOOTER + 1 ) ,
+ IA2_ROLE_FORM = ( IA2_ROLE_FOOTNOTE + 1 ) ,
+ IA2_ROLE_FRAME = ( IA2_ROLE_FORM + 1 ) ,
+ IA2_ROLE_GLASS_PANE = ( IA2_ROLE_FRAME + 1 ) ,
+ IA2_ROLE_HEADER = ( IA2_ROLE_GLASS_PANE + 1 ) ,
+ IA2_ROLE_HEADING = ( IA2_ROLE_HEADER + 1 ) ,
+ IA2_ROLE_ICON = ( IA2_ROLE_HEADING + 1 ) ,
+ IA2_ROLE_IMAGE_MAP = ( IA2_ROLE_ICON + 1 ) ,
+ IA2_ROLE_INPUT_METHOD_WINDOW = ( IA2_ROLE_IMAGE_MAP + 1 ) ,
+ IA2_ROLE_INTERNAL_FRAME = ( IA2_ROLE_INPUT_METHOD_WINDOW + 1 ) ,
+ IA2_ROLE_LABEL = ( IA2_ROLE_INTERNAL_FRAME + 1 ) ,
+ IA2_ROLE_LAYERED_PANE = ( IA2_ROLE_LABEL + 1 ) ,
+ IA2_ROLE_NOTE = ( IA2_ROLE_LAYERED_PANE + 1 ) ,
+ IA2_ROLE_OPTION_PANE = ( IA2_ROLE_NOTE + 1 ) ,
+ IA2_ROLE_PAGE = ( IA2_ROLE_OPTION_PANE + 1 ) ,
+ IA2_ROLE_PARAGRAPH = ( IA2_ROLE_PAGE + 1 ) ,
+ IA2_ROLE_RADIO_MENU_ITEM = ( IA2_ROLE_PARAGRAPH + 1 ) ,
+ IA2_ROLE_REDUNDANT_OBJECT = ( IA2_ROLE_RADIO_MENU_ITEM + 1 ) ,
+ IA2_ROLE_ROOT_PANE = ( IA2_ROLE_REDUNDANT_OBJECT + 1 ) ,
+ IA2_ROLE_RULER = ( IA2_ROLE_ROOT_PANE + 1 ) ,
+ IA2_ROLE_SCROLL_PANE = ( IA2_ROLE_RULER + 1 ) ,
+ IA2_ROLE_SECTION = ( IA2_ROLE_SCROLL_PANE + 1 ) ,
+ IA2_ROLE_SHAPE = ( IA2_ROLE_SECTION + 1 ) ,
+ IA2_ROLE_SPLIT_PANE = ( IA2_ROLE_SHAPE + 1 ) ,
+ IA2_ROLE_TEAR_OFF_MENU = ( IA2_ROLE_SPLIT_PANE + 1 ) ,
+ IA2_ROLE_TERMINAL = ( IA2_ROLE_TEAR_OFF_MENU + 1 ) ,
+ IA2_ROLE_TEXT_FRAME = ( IA2_ROLE_TERMINAL + 1 ) ,
+ IA2_ROLE_TOGGLE_BUTTON = ( IA2_ROLE_TEXT_FRAME + 1 ) ,
+ IA2_ROLE_VIEW_PORT = ( IA2_ROLE_TOGGLE_BUTTON + 1 ) ,
+ IA2_ROLE_COMPLEMENTARY_CONTENT = ( IA2_ROLE_VIEW_PORT + 1 )
+ } ;
+typedef long AccessibleStates;
+
+
+enum IA2States
+ { IA2_STATE_ACTIVE = 0x1,
+ IA2_STATE_ARMED = 0x2,
+ IA2_STATE_DEFUNCT = 0x4,
+ IA2_STATE_EDITABLE = 0x8,
+ IA2_STATE_HORIZONTAL = 0x10,
+ IA2_STATE_ICONIFIED = 0x20,
+ IA2_STATE_INVALID_ENTRY = 0x40,
+ IA2_STATE_MANAGES_DESCENDANTS = 0x80,
+ IA2_STATE_MODAL = 0x100,
+ IA2_STATE_MULTI_LINE = 0x200,
+ IA2_STATE_OPAQUE = 0x400,
+ IA2_STATE_REQUIRED = 0x800,
+ IA2_STATE_SELECTABLE_TEXT = 0x1000,
+ IA2_STATE_SINGLE_LINE = 0x2000,
+ IA2_STATE_STALE = 0x4000,
+ IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000,
+ IA2_STATE_TRANSIENT = 0x10000,
+ IA2_STATE_VERTICAL = 0x20000,
+ IA2_STATE_CHECKABLE = 0x40000,
+ IA2_STATE_PINNED = 0x80000
+ } ;
+typedef struct IA2Locale
+ {
+ BSTR language;
+ BSTR country;
+ BSTR variant;
+ } IA2Locale;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0002_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0002_v0_0_s_ifspec;
+
+#ifndef __IAccessible2_INTERFACE_DEFINED__
+#define __IAccessible2_INTERFACE_DEFINED__
+
+/* interface IAccessible2 */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessible2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("E89F726E-C4F4-4c19-BB19-B647D7FA8478")
+ IAccessible2 : public IAccessible
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRelations(
+ /* [retval][out] */ long *nRelations) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relation(
+ /* [in] */ long relationIndex,
+ /* [retval][out] */ IAccessibleRelation **relation) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relations(
+ /* [in] */ long maxRelations,
+ /* [length_is][size_is][out] */ IAccessibleRelation **relations,
+ /* [retval][out] */ long *nRelations) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE role(
+ /* [retval][out] */ long *role) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE scrollTo(
+ /* [in] */ enum IA2ScrollType scrollType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE scrollToPoint(
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_groupPosition(
+ /* [out] */ long *groupLevel,
+ /* [out] */ long *similarItemsInGroup,
+ /* [retval][out] */ long *positionInGroup) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_states(
+ /* [retval][out] */ AccessibleStates *states) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedRole(
+ /* [retval][out] */ BSTR *extendedRole) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedRole(
+ /* [retval][out] */ BSTR *localizedExtendedRole) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nExtendedStates(
+ /* [retval][out] */ long *nExtendedStates) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedStates(
+ /* [in] */ long maxExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
+ /* [retval][out] */ long *nExtendedStates) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedStates(
+ /* [in] */ long maxLocalizedExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
+ /* [retval][out] */ long *nLocalizedExtendedStates) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID(
+ /* [retval][out] */ long *uniqueID) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_windowHandle(
+ /* [retval][out] */ HWND *windowHandle) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_indexInParent(
+ /* [retval][out] */ long *indexInParent) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locale(
+ /* [retval][out] */ IA2Locale *locale) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes(
+ /* [retval][out] */ BSTR *attributes) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessible2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessible2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessible2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessible2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+ IAccessible2 * This,
+ /* [out] */ UINT *pctinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+ IAccessible2 * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo **ppTInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+ IAccessible2 * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR *rgszNames,
+ /* [range][in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID *rgDispId);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ IAccessible2 * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS *pDispParams,
+ /* [out] */ VARIANT *pVarResult,
+ /* [out] */ EXCEPINFO *pExcepInfo,
+ /* [out] */ UINT *puArgErr);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )(
+ IAccessible2 * This,
+ /* [retval][out] */ IDispatch **ppdispParent);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *pcountChildren);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )(
+ IAccessible2 * This,
+ /* [in] */ VARIANT varChild,
+ /* [retval][out] */ IDispatch **ppdispChild);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszName);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszValue);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszDescription);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ VARIANT *pvarRole);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ VARIANT *pvarState);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszHelp);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )(
+ IAccessible2 * This,
+ /* [out] */ BSTR *pszHelpFile,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ long *pidTopic);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszKeyboardShortcut);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )(
+ IAccessible2 * This,
+ /* [retval][out] */ VARIANT *pvarChild);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )(
+ IAccessible2 * This,
+ /* [retval][out] */ VARIANT *pvarChildren);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszDefaultAction);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )(
+ IAccessible2 * This,
+ /* [in] */ long flagsSelect,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )(
+ IAccessible2 * This,
+ /* [out] */ long *pxLeft,
+ /* [out] */ long *pyTop,
+ /* [out] */ long *pcxWidth,
+ /* [out] */ long *pcyHeight,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )(
+ IAccessible2 * This,
+ /* [in] */ long navDir,
+ /* [optional][in] */ VARIANT varStart,
+ /* [retval][out] */ VARIANT *pvarEndUpAt);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )(
+ IAccessible2 * This,
+ /* [in] */ long xLeft,
+ /* [in] */ long yTop,
+ /* [retval][out] */ VARIANT *pvarChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [in] */ BSTR szName);
+
+ /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )(
+ IAccessible2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [in] */ BSTR szValue);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *nRelations);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )(
+ IAccessible2 * This,
+ /* [in] */ long relationIndex,
+ /* [retval][out] */ IAccessibleRelation **relation);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )(
+ IAccessible2 * This,
+ /* [in] */ long maxRelations,
+ /* [length_is][size_is][out] */ IAccessibleRelation **relations,
+ /* [retval][out] */ long *nRelations);
+
+ HRESULT ( STDMETHODCALLTYPE *role )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *role);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollTo )(
+ IAccessible2 * This,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollToPoint )(
+ IAccessible2 * This,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )(
+ IAccessible2 * This,
+ /* [out] */ long *groupLevel,
+ /* [out] */ long *similarItemsInGroup,
+ /* [retval][out] */ long *positionInGroup);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )(
+ IAccessible2 * This,
+ /* [retval][out] */ AccessibleStates *states);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )(
+ IAccessible2 * This,
+ /* [retval][out] */ BSTR *extendedRole);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )(
+ IAccessible2 * This,
+ /* [retval][out] */ BSTR *localizedExtendedRole);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *nExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )(
+ IAccessible2 * This,
+ /* [in] */ long maxExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
+ /* [retval][out] */ long *nExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )(
+ IAccessible2 * This,
+ /* [in] */ long maxLocalizedExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
+ /* [retval][out] */ long *nLocalizedExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *uniqueID);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )(
+ IAccessible2 * This,
+ /* [retval][out] */ HWND *windowHandle);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )(
+ IAccessible2 * This,
+ /* [retval][out] */ long *indexInParent);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )(
+ IAccessible2 * This,
+ /* [retval][out] */ IA2Locale *locale);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessible2 * This,
+ /* [retval][out] */ BSTR *attributes);
+
+ END_INTERFACE
+ } IAccessible2Vtbl;
+
+ interface IAccessible2
+ {
+ CONST_VTBL struct IAccessible2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessible2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessible2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessible2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessible2_GetTypeInfoCount(This,pctinfo) \
+ ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
+
+#define IAccessible2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
+ ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
+
+#define IAccessible2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
+ ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
+
+#define IAccessible2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
+ ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
+
+
+#define IAccessible2_get_accParent(This,ppdispParent) \
+ ( (This)->lpVtbl -> get_accParent(This,ppdispParent) )
+
+#define IAccessible2_get_accChildCount(This,pcountChildren) \
+ ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) )
+
+#define IAccessible2_get_accChild(This,varChild,ppdispChild) \
+ ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) )
+
+#define IAccessible2_get_accName(This,varChild,pszName) \
+ ( (This)->lpVtbl -> get_accName(This,varChild,pszName) )
+
+#define IAccessible2_get_accValue(This,varChild,pszValue) \
+ ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) )
+
+#define IAccessible2_get_accDescription(This,varChild,pszDescription) \
+ ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) )
+
+#define IAccessible2_get_accRole(This,varChild,pvarRole) \
+ ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) )
+
+#define IAccessible2_get_accState(This,varChild,pvarState) \
+ ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) )
+
+#define IAccessible2_get_accHelp(This,varChild,pszHelp) \
+ ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) )
+
+#define IAccessible2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \
+ ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) )
+
+#define IAccessible2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \
+ ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) )
+
+#define IAccessible2_get_accFocus(This,pvarChild) \
+ ( (This)->lpVtbl -> get_accFocus(This,pvarChild) )
+
+#define IAccessible2_get_accSelection(This,pvarChildren) \
+ ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) )
+
+#define IAccessible2_get_accDefaultAction(This,varChild,pszDefaultAction) \
+ ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) )
+
+#define IAccessible2_accSelect(This,flagsSelect,varChild) \
+ ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) )
+
+#define IAccessible2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \
+ ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) )
+
+#define IAccessible2_accNavigate(This,navDir,varStart,pvarEndUpAt) \
+ ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) )
+
+#define IAccessible2_accHitTest(This,xLeft,yTop,pvarChild) \
+ ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) )
+
+#define IAccessible2_accDoDefaultAction(This,varChild) \
+ ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) )
+
+#define IAccessible2_put_accName(This,varChild,szName) \
+ ( (This)->lpVtbl -> put_accName(This,varChild,szName) )
+
+#define IAccessible2_put_accValue(This,varChild,szValue) \
+ ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) )
+
+
+#define IAccessible2_get_nRelations(This,nRelations) \
+ ( (This)->lpVtbl -> get_nRelations(This,nRelations) )
+
+#define IAccessible2_get_relation(This,relationIndex,relation) \
+ ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) )
+
+#define IAccessible2_get_relations(This,maxRelations,relations,nRelations) \
+ ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) )
+
+#define IAccessible2_role(This,role) \
+ ( (This)->lpVtbl -> role(This,role) )
+
+#define IAccessible2_scrollTo(This,scrollType) \
+ ( (This)->lpVtbl -> scrollTo(This,scrollType) )
+
+#define IAccessible2_scrollToPoint(This,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) )
+
+#define IAccessible2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \
+ ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) )
+
+#define IAccessible2_get_states(This,states) \
+ ( (This)->lpVtbl -> get_states(This,states) )
+
+#define IAccessible2_get_extendedRole(This,extendedRole) \
+ ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) )
+
+#define IAccessible2_get_localizedExtendedRole(This,localizedExtendedRole) \
+ ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) )
+
+#define IAccessible2_get_nExtendedStates(This,nExtendedStates) \
+ ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) )
+
+#define IAccessible2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \
+ ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) )
+
+#define IAccessible2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \
+ ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) )
+
+#define IAccessible2_get_uniqueID(This,uniqueID) \
+ ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) )
+
+#define IAccessible2_get_windowHandle(This,windowHandle) \
+ ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) )
+
+#define IAccessible2_get_indexInParent(This,indexInParent) \
+ ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) )
+
+#define IAccessible2_get_locale(This,locale) \
+ ( (This)->lpVtbl -> get_locale(This,locale) )
+
+#define IAccessible2_get_attributes(This,attributes) \
+ ( (This)->lpVtbl -> get_attributes(This,attributes) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessible2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessible2_2_INTERFACE_DEFINED__
+#define __IAccessible2_2_INTERFACE_DEFINED__
+
+/* interface IAccessible2_2 */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessible2_2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("6C9430E9-299D-4E6F-BD01-A82A1E88D3FF")
+ IAccessible2_2 : public IAccessible2
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attribute(
+ /* [in] */ BSTR name,
+ /* [retval][out] */ VARIANT *attribute) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleWithCaret(
+ /* [out] */ IUnknown **accessible,
+ /* [retval][out] */ long *caretOffset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationTargetsOfType(
+ /* [in] */ BSTR type,
+ /* [in] */ long maxTargets,
+ /* [size_is][size_is][out] */ IUnknown ***targets,
+ /* [retval][out] */ long *nTargets) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessible2_2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessible2_2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessible2_2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessible2_2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+ IAccessible2_2 * This,
+ /* [out] */ UINT *pctinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+ IAccessible2_2 * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo **ppTInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+ IAccessible2_2 * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR *rgszNames,
+ /* [range][in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID *rgDispId);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ IAccessible2_2 * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS *pDispParams,
+ /* [out] */ VARIANT *pVarResult,
+ /* [out] */ EXCEPINFO *pExcepInfo,
+ /* [out] */ UINT *puArgErr);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ IDispatch **ppdispParent);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *pcountChildren);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )(
+ IAccessible2_2 * This,
+ /* [in] */ VARIANT varChild,
+ /* [retval][out] */ IDispatch **ppdispChild);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszName);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszValue);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszDescription);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ VARIANT *pvarRole);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ VARIANT *pvarState);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszHelp);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )(
+ IAccessible2_2 * This,
+ /* [out] */ BSTR *pszHelpFile,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ long *pidTopic);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszKeyboardShortcut);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ VARIANT *pvarChild);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ VARIANT *pvarChildren);
+
+ /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [retval][out] */ BSTR *pszDefaultAction);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )(
+ IAccessible2_2 * This,
+ /* [in] */ long flagsSelect,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )(
+ IAccessible2_2 * This,
+ /* [out] */ long *pxLeft,
+ /* [out] */ long *pyTop,
+ /* [out] */ long *pcxWidth,
+ /* [out] */ long *pcyHeight,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )(
+ IAccessible2_2 * This,
+ /* [in] */ long navDir,
+ /* [optional][in] */ VARIANT varStart,
+ /* [retval][out] */ VARIANT *pvarEndUpAt);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )(
+ IAccessible2_2 * This,
+ /* [in] */ long xLeft,
+ /* [in] */ long yTop,
+ /* [retval][out] */ VARIANT *pvarChild);
+
+ /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild);
+
+ /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [in] */ BSTR szName);
+
+ /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )(
+ IAccessible2_2 * This,
+ /* [optional][in] */ VARIANT varChild,
+ /* [in] */ BSTR szValue);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *nRelations);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )(
+ IAccessible2_2 * This,
+ /* [in] */ long relationIndex,
+ /* [retval][out] */ IAccessibleRelation **relation);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )(
+ IAccessible2_2 * This,
+ /* [in] */ long maxRelations,
+ /* [length_is][size_is][out] */ IAccessibleRelation **relations,
+ /* [retval][out] */ long *nRelations);
+
+ HRESULT ( STDMETHODCALLTYPE *role )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *role);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollTo )(
+ IAccessible2_2 * This,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollToPoint )(
+ IAccessible2_2 * This,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )(
+ IAccessible2_2 * This,
+ /* [out] */ long *groupLevel,
+ /* [out] */ long *similarItemsInGroup,
+ /* [retval][out] */ long *positionInGroup);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ AccessibleStates *states);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ BSTR *extendedRole);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ BSTR *localizedExtendedRole);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *nExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )(
+ IAccessible2_2 * This,
+ /* [in] */ long maxExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
+ /* [retval][out] */ long *nExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )(
+ IAccessible2_2 * This,
+ /* [in] */ long maxLocalizedExtendedStates,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
+ /* [retval][out] */ long *nLocalizedExtendedStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *uniqueID);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ HWND *windowHandle);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ long *indexInParent);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ IA2Locale *locale);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessible2_2 * This,
+ /* [retval][out] */ BSTR *attributes);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attribute )(
+ IAccessible2_2 * This,
+ /* [in] */ BSTR name,
+ /* [retval][out] */ VARIANT *attribute);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleWithCaret )(
+ IAccessible2_2 * This,
+ /* [out] */ IUnknown **accessible,
+ /* [retval][out] */ long *caretOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationTargetsOfType )(
+ IAccessible2_2 * This,
+ /* [in] */ BSTR type,
+ /* [in] */ long maxTargets,
+ /* [size_is][size_is][out] */ IUnknown ***targets,
+ /* [retval][out] */ long *nTargets);
+
+ END_INTERFACE
+ } IAccessible2_2Vtbl;
+
+ interface IAccessible2_2
+ {
+ CONST_VTBL struct IAccessible2_2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessible2_2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessible2_2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessible2_2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessible2_2_GetTypeInfoCount(This,pctinfo) \
+ ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
+
+#define IAccessible2_2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
+ ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
+
+#define IAccessible2_2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
+ ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
+
+#define IAccessible2_2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
+ ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
+
+
+#define IAccessible2_2_get_accParent(This,ppdispParent) \
+ ( (This)->lpVtbl -> get_accParent(This,ppdispParent) )
+
+#define IAccessible2_2_get_accChildCount(This,pcountChildren) \
+ ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) )
+
+#define IAccessible2_2_get_accChild(This,varChild,ppdispChild) \
+ ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) )
+
+#define IAccessible2_2_get_accName(This,varChild,pszName) \
+ ( (This)->lpVtbl -> get_accName(This,varChild,pszName) )
+
+#define IAccessible2_2_get_accValue(This,varChild,pszValue) \
+ ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) )
+
+#define IAccessible2_2_get_accDescription(This,varChild,pszDescription) \
+ ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) )
+
+#define IAccessible2_2_get_accRole(This,varChild,pvarRole) \
+ ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) )
+
+#define IAccessible2_2_get_accState(This,varChild,pvarState) \
+ ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) )
+
+#define IAccessible2_2_get_accHelp(This,varChild,pszHelp) \
+ ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) )
+
+#define IAccessible2_2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \
+ ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) )
+
+#define IAccessible2_2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \
+ ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) )
+
+#define IAccessible2_2_get_accFocus(This,pvarChild) \
+ ( (This)->lpVtbl -> get_accFocus(This,pvarChild) )
+
+#define IAccessible2_2_get_accSelection(This,pvarChildren) \
+ ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) )
+
+#define IAccessible2_2_get_accDefaultAction(This,varChild,pszDefaultAction) \
+ ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) )
+
+#define IAccessible2_2_accSelect(This,flagsSelect,varChild) \
+ ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) )
+
+#define IAccessible2_2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \
+ ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) )
+
+#define IAccessible2_2_accNavigate(This,navDir,varStart,pvarEndUpAt) \
+ ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) )
+
+#define IAccessible2_2_accHitTest(This,xLeft,yTop,pvarChild) \
+ ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) )
+
+#define IAccessible2_2_accDoDefaultAction(This,varChild) \
+ ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) )
+
+#define IAccessible2_2_put_accName(This,varChild,szName) \
+ ( (This)->lpVtbl -> put_accName(This,varChild,szName) )
+
+#define IAccessible2_2_put_accValue(This,varChild,szValue) \
+ ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) )
+
+
+#define IAccessible2_2_get_nRelations(This,nRelations) \
+ ( (This)->lpVtbl -> get_nRelations(This,nRelations) )
+
+#define IAccessible2_2_get_relation(This,relationIndex,relation) \
+ ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) )
+
+#define IAccessible2_2_get_relations(This,maxRelations,relations,nRelations) \
+ ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) )
+
+#define IAccessible2_2_role(This,role) \
+ ( (This)->lpVtbl -> role(This,role) )
+
+#define IAccessible2_2_scrollTo(This,scrollType) \
+ ( (This)->lpVtbl -> scrollTo(This,scrollType) )
+
+#define IAccessible2_2_scrollToPoint(This,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) )
+
+#define IAccessible2_2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \
+ ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) )
+
+#define IAccessible2_2_get_states(This,states) \
+ ( (This)->lpVtbl -> get_states(This,states) )
+
+#define IAccessible2_2_get_extendedRole(This,extendedRole) \
+ ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) )
+
+#define IAccessible2_2_get_localizedExtendedRole(This,localizedExtendedRole) \
+ ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) )
+
+#define IAccessible2_2_get_nExtendedStates(This,nExtendedStates) \
+ ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) )
+
+#define IAccessible2_2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \
+ ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) )
+
+#define IAccessible2_2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \
+ ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) )
+
+#define IAccessible2_2_get_uniqueID(This,uniqueID) \
+ ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) )
+
+#define IAccessible2_2_get_windowHandle(This,windowHandle) \
+ ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) )
+
+#define IAccessible2_2_get_indexInParent(This,indexInParent) \
+ ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) )
+
+#define IAccessible2_2_get_locale(This,locale) \
+ ( (This)->lpVtbl -> get_locale(This,locale) )
+
+#define IAccessible2_2_get_attributes(This,attributes) \
+ ( (This)->lpVtbl -> get_attributes(This,attributes) )
+
+
+#define IAccessible2_2_get_attribute(This,name,attribute) \
+ ( (This)->lpVtbl -> get_attribute(This,name,attribute) )
+
+#define IAccessible2_2_get_accessibleWithCaret(This,accessible,caretOffset) \
+ ( (This)->lpVtbl -> get_accessibleWithCaret(This,accessible,caretOffset) )
+
+#define IAccessible2_2_get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) \
+ ( (This)->lpVtbl -> get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessible2_2_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0004 */
+/* [local] */
+
+typedef long IA2Color;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_s_ifspec;
+
+#ifndef __IAccessibleComponent_INTERFACE_DEFINED__
+#define __IAccessibleComponent_INTERFACE_DEFINED__
+
+/* interface IAccessibleComponent */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleComponent;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("1546D4B0-4C98-4bda-89AE-9A64748BDDE4")
+ IAccessibleComponent : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locationInParent(
+ /* [out] */ long *x,
+ /* [retval][out] */ long *y) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_foreground(
+ /* [retval][out] */ IA2Color *foreground) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_background(
+ /* [retval][out] */ IA2Color *background) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleComponentVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleComponent * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleComponent * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleComponent * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationInParent )(
+ IAccessibleComponent * This,
+ /* [out] */ long *x,
+ /* [retval][out] */ long *y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_foreground )(
+ IAccessibleComponent * This,
+ /* [retval][out] */ IA2Color *foreground);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )(
+ IAccessibleComponent * This,
+ /* [retval][out] */ IA2Color *background);
+
+ END_INTERFACE
+ } IAccessibleComponentVtbl;
+
+ interface IAccessibleComponent
+ {
+ CONST_VTBL struct IAccessibleComponentVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleComponent_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleComponent_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleComponent_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleComponent_get_locationInParent(This,x,y) \
+ ( (This)->lpVtbl -> get_locationInParent(This,x,y) )
+
+#define IAccessibleComponent_get_foreground(This,foreground) \
+ ( (This)->lpVtbl -> get_foreground(This,foreground) )
+
+#define IAccessibleComponent_get_background(This,background) \
+ ( (This)->lpVtbl -> get_background(This,background) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleComponent_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleValue_INTERFACE_DEFINED__
+#define __IAccessibleValue_INTERFACE_DEFINED__
+
+/* interface IAccessibleValue */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleValue;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("35855B5B-C566-4fd0-A7B1-E65465600394")
+ IAccessibleValue : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentValue(
+ /* [retval][out] */ VARIANT *currentValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE setCurrentValue(
+ /* [in] */ VARIANT value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_maximumValue(
+ /* [retval][out] */ VARIANT *maximumValue) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_minimumValue(
+ /* [retval][out] */ VARIANT *minimumValue) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleValueVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleValue * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleValue * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleValue * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentValue )(
+ IAccessibleValue * This,
+ /* [retval][out] */ VARIANT *currentValue);
+
+ HRESULT ( STDMETHODCALLTYPE *setCurrentValue )(
+ IAccessibleValue * This,
+ /* [in] */ VARIANT value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_maximumValue )(
+ IAccessibleValue * This,
+ /* [retval][out] */ VARIANT *maximumValue);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_minimumValue )(
+ IAccessibleValue * This,
+ /* [retval][out] */ VARIANT *minimumValue);
+
+ END_INTERFACE
+ } IAccessibleValueVtbl;
+
+ interface IAccessibleValue
+ {
+ CONST_VTBL struct IAccessibleValueVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleValue_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleValue_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleValue_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleValue_get_currentValue(This,currentValue) \
+ ( (This)->lpVtbl -> get_currentValue(This,currentValue) )
+
+#define IAccessibleValue_setCurrentValue(This,value) \
+ ( (This)->lpVtbl -> setCurrentValue(This,value) )
+
+#define IAccessibleValue_get_maximumValue(This,maximumValue) \
+ ( (This)->lpVtbl -> get_maximumValue(This,maximumValue) )
+
+#define IAccessibleValue_get_minimumValue(This,minimumValue) \
+ ( (This)->lpVtbl -> get_minimumValue(This,minimumValue) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleValue_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0006 */
+/* [local] */
+
+typedef struct IA2TextSegment
+ {
+ BSTR text;
+ long start;
+ long end;
+ } IA2TextSegment;
+
+
+enum IA2TextBoundaryType
+ { IA2_TEXT_BOUNDARY_CHAR = 0,
+ IA2_TEXT_BOUNDARY_WORD = ( IA2_TEXT_BOUNDARY_CHAR + 1 ) ,
+ IA2_TEXT_BOUNDARY_SENTENCE = ( IA2_TEXT_BOUNDARY_WORD + 1 ) ,
+ IA2_TEXT_BOUNDARY_PARAGRAPH = ( IA2_TEXT_BOUNDARY_SENTENCE + 1 ) ,
+ IA2_TEXT_BOUNDARY_LINE = ( IA2_TEXT_BOUNDARY_PARAGRAPH + 1 ) ,
+ IA2_TEXT_BOUNDARY_ALL = ( IA2_TEXT_BOUNDARY_LINE + 1 )
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_s_ifspec;
+
+#ifndef __IAccessibleText_INTERFACE_DEFINED__
+#define __IAccessibleText_INTERFACE_DEFINED__
+
+/* interface IAccessibleText */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleText;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B")
+ IAccessibleText : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE addSelection(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes(
+ /* [in] */ long offset,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *textAttributes) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caretOffset(
+ /* [retval][out] */ long *offset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_characterExtents(
+ /* [in] */ long offset,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [out] */ long *x,
+ /* [out] */ long *y,
+ /* [out] */ long *width,
+ /* [retval][out] */ long *height) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelections(
+ /* [retval][out] */ long *nSelections) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_offsetAtPoint(
+ /* [in] */ long x,
+ /* [in] */ long y,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [retval][out] */ long *offset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selection(
+ /* [in] */ long selectionIndex,
+ /* [out] */ long *startOffset,
+ /* [retval][out] */ long *endOffset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_text(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [retval][out] */ BSTR *text) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textBeforeOffset(
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAfterOffset(
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAtOffset(
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE removeSelection(
+ /* [in] */ long selectionIndex) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE setCaretOffset(
+ /* [in] */ long offset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE setSelection(
+ /* [in] */ long selectionIndex,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nCharacters(
+ /* [retval][out] */ long *nCharacters) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE scrollSubstringTo(
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2ScrollType scrollType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE scrollSubstringToPoint(
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_newText(
+ /* [retval][out] */ IA2TextSegment *newText) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_oldText(
+ /* [retval][out] */ IA2TextSegment *oldText) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleTextVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleText * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleText * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleText * This);
+
+ HRESULT ( STDMETHODCALLTYPE *addSelection )(
+ IAccessibleText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessibleText * This,
+ /* [in] */ long offset,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *textAttributes);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
+ IAccessibleText * This,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
+ IAccessibleText * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [out] */ long *x,
+ /* [out] */ long *y,
+ /* [out] */ long *width,
+ /* [retval][out] */ long *height);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
+ IAccessibleText * This,
+ /* [retval][out] */ long *nSelections);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
+ IAccessibleText * This,
+ /* [in] */ long x,
+ /* [in] */ long y,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
+ IAccessibleText * This,
+ /* [in] */ long selectionIndex,
+ /* [out] */ long *startOffset,
+ /* [retval][out] */ long *endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
+ IAccessibleText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
+ IAccessibleText * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
+ IAccessibleText * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
+ IAccessibleText * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *removeSelection )(
+ IAccessibleText * This,
+ /* [in] */ long selectionIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
+ IAccessibleText * This,
+ /* [in] */ long offset);
+
+ HRESULT ( STDMETHODCALLTYPE *setSelection )(
+ IAccessibleText * This,
+ /* [in] */ long selectionIndex,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
+ IAccessibleText * This,
+ /* [retval][out] */ long *nCharacters);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
+ IAccessibleText * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
+ IAccessibleText * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
+ IAccessibleText * This,
+ /* [retval][out] */ IA2TextSegment *newText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
+ IAccessibleText * This,
+ /* [retval][out] */ IA2TextSegment *oldText);
+
+ END_INTERFACE
+ } IAccessibleTextVtbl;
+
+ interface IAccessibleText
+ {
+ CONST_VTBL struct IAccessibleTextVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleText_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleText_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleText_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleText_addSelection(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
+
+#define IAccessibleText_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
+ ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
+
+#define IAccessibleText_get_caretOffset(This,offset) \
+ ( (This)->lpVtbl -> get_caretOffset(This,offset) )
+
+#define IAccessibleText_get_characterExtents(This,offset,coordType,x,y,width,height) \
+ ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
+
+#define IAccessibleText_get_nSelections(This,nSelections) \
+ ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
+
+#define IAccessibleText_get_offsetAtPoint(This,x,y,coordType,offset) \
+ ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
+
+#define IAccessibleText_get_selection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleText_get_text(This,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
+
+#define IAccessibleText_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText_removeSelection(This,selectionIndex) \
+ ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
+
+#define IAccessibleText_setCaretOffset(This,offset) \
+ ( (This)->lpVtbl -> setCaretOffset(This,offset) )
+
+#define IAccessibleText_setSelection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleText_get_nCharacters(This,nCharacters) \
+ ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
+
+#define IAccessibleText_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
+ ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
+
+#define IAccessibleText_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
+
+#define IAccessibleText_get_newText(This,newText) \
+ ( (This)->lpVtbl -> get_newText(This,newText) )
+
+#define IAccessibleText_get_oldText(This,oldText) \
+ ( (This)->lpVtbl -> get_oldText(This,oldText) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleText_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleText2_INTERFACE_DEFINED__
+#define __IAccessibleText2_INTERFACE_DEFINED__
+
+/* interface IAccessibleText2 */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleText2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9690A9CC-5C80-4DF5-852E-2D5AE4189A54")
+ IAccessibleText2 : public IAccessibleText
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributeRange(
+ /* [in] */ long offset,
+ /* [in] */ BSTR filter,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *attributeValues) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleText2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleText2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleText2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleText2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *addSelection )(
+ IAccessibleText2 * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *textAttributes);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
+ IAccessibleText2 * This,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [out] */ long *x,
+ /* [out] */ long *y,
+ /* [out] */ long *width,
+ /* [retval][out] */ long *height);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
+ IAccessibleText2 * This,
+ /* [retval][out] */ long *nSelections);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
+ IAccessibleText2 * This,
+ /* [in] */ long x,
+ /* [in] */ long y,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
+ IAccessibleText2 * This,
+ /* [in] */ long selectionIndex,
+ /* [out] */ long *startOffset,
+ /* [retval][out] */ long *endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
+ IAccessibleText2 * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *removeSelection )(
+ IAccessibleText2 * This,
+ /* [in] */ long selectionIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset);
+
+ HRESULT ( STDMETHODCALLTYPE *setSelection )(
+ IAccessibleText2 * This,
+ /* [in] */ long selectionIndex,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
+ IAccessibleText2 * This,
+ /* [retval][out] */ long *nCharacters);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
+ IAccessibleText2 * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
+ IAccessibleText2 * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
+ IAccessibleText2 * This,
+ /* [retval][out] */ IA2TextSegment *newText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
+ IAccessibleText2 * This,
+ /* [retval][out] */ IA2TextSegment *oldText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributeRange )(
+ IAccessibleText2 * This,
+ /* [in] */ long offset,
+ /* [in] */ BSTR filter,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *attributeValues);
+
+ END_INTERFACE
+ } IAccessibleText2Vtbl;
+
+ interface IAccessibleText2
+ {
+ CONST_VTBL struct IAccessibleText2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleText2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleText2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleText2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleText2_addSelection(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
+
+#define IAccessibleText2_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
+ ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
+
+#define IAccessibleText2_get_caretOffset(This,offset) \
+ ( (This)->lpVtbl -> get_caretOffset(This,offset) )
+
+#define IAccessibleText2_get_characterExtents(This,offset,coordType,x,y,width,height) \
+ ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
+
+#define IAccessibleText2_get_nSelections(This,nSelections) \
+ ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
+
+#define IAccessibleText2_get_offsetAtPoint(This,x,y,coordType,offset) \
+ ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
+
+#define IAccessibleText2_get_selection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleText2_get_text(This,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
+
+#define IAccessibleText2_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText2_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText2_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleText2_removeSelection(This,selectionIndex) \
+ ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
+
+#define IAccessibleText2_setCaretOffset(This,offset) \
+ ( (This)->lpVtbl -> setCaretOffset(This,offset) )
+
+#define IAccessibleText2_setSelection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleText2_get_nCharacters(This,nCharacters) \
+ ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
+
+#define IAccessibleText2_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
+ ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
+
+#define IAccessibleText2_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
+
+#define IAccessibleText2_get_newText(This,newText) \
+ ( (This)->lpVtbl -> get_newText(This,newText) )
+
+#define IAccessibleText2_get_oldText(This,oldText) \
+ ( (This)->lpVtbl -> get_oldText(This,oldText) )
+
+
+#define IAccessibleText2_get_attributeRange(This,offset,filter,startOffset,endOffset,attributeValues) \
+ ( (This)->lpVtbl -> get_attributeRange(This,offset,filter,startOffset,endOffset,attributeValues) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleText2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleEditableText_INTERFACE_DEFINED__
+#define __IAccessibleEditableText_INTERFACE_DEFINED__
+
+/* interface IAccessibleEditableText */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleEditableText;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("A59AA09A-7011-4b65-939D-32B1FB5547E3")
+ IAccessibleEditableText : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE copyText(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE deleteText(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE insertText(
+ /* [in] */ long offset,
+ /* [in] */ BSTR *text) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE cutText(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE pasteText(
+ /* [in] */ long offset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE replaceText(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [in] */ BSTR *text) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE setAttributes(
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [in] */ BSTR *attributes) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleEditableTextVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleEditableText * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleEditableText * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleEditableText * This);
+
+ HRESULT ( STDMETHODCALLTYPE *copyText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *deleteText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *insertText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long offset,
+ /* [in] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *cutText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *pasteText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long offset);
+
+ HRESULT ( STDMETHODCALLTYPE *replaceText )(
+ IAccessibleEditableText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [in] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *setAttributes )(
+ IAccessibleEditableText * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [in] */ BSTR *attributes);
+
+ END_INTERFACE
+ } IAccessibleEditableTextVtbl;
+
+ interface IAccessibleEditableText
+ {
+ CONST_VTBL struct IAccessibleEditableTextVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleEditableText_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleEditableText_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleEditableText_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleEditableText_copyText(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> copyText(This,startOffset,endOffset) )
+
+#define IAccessibleEditableText_deleteText(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> deleteText(This,startOffset,endOffset) )
+
+#define IAccessibleEditableText_insertText(This,offset,text) \
+ ( (This)->lpVtbl -> insertText(This,offset,text) )
+
+#define IAccessibleEditableText_cutText(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> cutText(This,startOffset,endOffset) )
+
+#define IAccessibleEditableText_pasteText(This,offset) \
+ ( (This)->lpVtbl -> pasteText(This,offset) )
+
+#define IAccessibleEditableText_replaceText(This,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> replaceText(This,startOffset,endOffset,text) )
+
+#define IAccessibleEditableText_setAttributes(This,startOffset,endOffset,attributes) \
+ ( (This)->lpVtbl -> setAttributes(This,startOffset,endOffset,attributes) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleEditableText_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleHyperlink_INTERFACE_DEFINED__
+#define __IAccessibleHyperlink_INTERFACE_DEFINED__
+
+/* interface IAccessibleHyperlink */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleHyperlink;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("01C20F2B-3DD2-400f-949F-AD00BDAB1D41")
+ IAccessibleHyperlink : public IAccessibleAction
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchor(
+ /* [in] */ long index,
+ /* [retval][out] */ VARIANT *anchor) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget(
+ /* [in] */ long index,
+ /* [retval][out] */ VARIANT *anchorTarget) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_startIndex(
+ /* [retval][out] */ long *index) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_endIndex(
+ /* [retval][out] */ long *index) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_valid(
+ /* [retval][out] */ boolean *valid) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleHyperlinkVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleHyperlink * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleHyperlink * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleHyperlink * This);
+
+ HRESULT ( STDMETHODCALLTYPE *nActions )(
+ IAccessibleHyperlink * This,
+ /* [retval][out] */ long *nActions);
+
+ HRESULT ( STDMETHODCALLTYPE *doAction )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long actionIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long actionIndex,
+ /* [in] */ long nMaxBindings,
+ /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
+ /* [retval][out] */ long *nBindings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *name);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long actionIndex,
+ /* [retval][out] */ BSTR *localizedName);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchor )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long index,
+ /* [retval][out] */ VARIANT *anchor);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )(
+ IAccessibleHyperlink * This,
+ /* [in] */ long index,
+ /* [retval][out] */ VARIANT *anchorTarget);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_startIndex )(
+ IAccessibleHyperlink * This,
+ /* [retval][out] */ long *index);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_endIndex )(
+ IAccessibleHyperlink * This,
+ /* [retval][out] */ long *index);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_valid )(
+ IAccessibleHyperlink * This,
+ /* [retval][out] */ boolean *valid);
+
+ END_INTERFACE
+ } IAccessibleHyperlinkVtbl;
+
+ interface IAccessibleHyperlink
+ {
+ CONST_VTBL struct IAccessibleHyperlinkVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleHyperlink_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleHyperlink_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleHyperlink_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleHyperlink_nActions(This,nActions) \
+ ( (This)->lpVtbl -> nActions(This,nActions) )
+
+#define IAccessibleHyperlink_doAction(This,actionIndex) \
+ ( (This)->lpVtbl -> doAction(This,actionIndex) )
+
+#define IAccessibleHyperlink_get_description(This,actionIndex,description) \
+ ( (This)->lpVtbl -> get_description(This,actionIndex,description) )
+
+#define IAccessibleHyperlink_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \
+ ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) )
+
+#define IAccessibleHyperlink_get_name(This,actionIndex,name) \
+ ( (This)->lpVtbl -> get_name(This,actionIndex,name) )
+
+#define IAccessibleHyperlink_get_localizedName(This,actionIndex,localizedName) \
+ ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) )
+
+
+#define IAccessibleHyperlink_get_anchor(This,index,anchor) \
+ ( (This)->lpVtbl -> get_anchor(This,index,anchor) )
+
+#define IAccessibleHyperlink_get_anchorTarget(This,index,anchorTarget) \
+ ( (This)->lpVtbl -> get_anchorTarget(This,index,anchorTarget) )
+
+#define IAccessibleHyperlink_get_startIndex(This,index) \
+ ( (This)->lpVtbl -> get_startIndex(This,index) )
+
+#define IAccessibleHyperlink_get_endIndex(This,index) \
+ ( (This)->lpVtbl -> get_endIndex(This,index) )
+
+#define IAccessibleHyperlink_get_valid(This,valid) \
+ ( (This)->lpVtbl -> get_valid(This,valid) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleHyperlink_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext_INTERFACE_DEFINED__
+#define __IAccessibleHypertext_INTERFACE_DEFINED__
+
+/* interface IAccessibleHypertext */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleHypertext;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("6B4F8BBF-F1F2-418a-B35E-A195BC4103B9")
+ IAccessibleHypertext : public IAccessibleText
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nHyperlinks(
+ /* [retval][out] */ long *hyperlinkCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlink(
+ /* [in] */ long index,
+ /* [retval][out] */ IAccessibleHyperlink **hyperlink) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinkIndex(
+ /* [in] */ long charIndex,
+ /* [retval][out] */ long *hyperlinkIndex) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleHypertextVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleHypertext * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleHypertext * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleHypertext * This);
+
+ HRESULT ( STDMETHODCALLTYPE *addSelection )(
+ IAccessibleHypertext * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *textAttributes);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [out] */ long *x,
+ /* [out] */ long *y,
+ /* [out] */ long *width,
+ /* [retval][out] */ long *height);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ long *nSelections);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
+ IAccessibleHypertext * This,
+ /* [in] */ long x,
+ /* [in] */ long y,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
+ IAccessibleHypertext * This,
+ /* [in] */ long selectionIndex,
+ /* [out] */ long *startOffset,
+ /* [retval][out] */ long *endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
+ IAccessibleHypertext * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *removeSelection )(
+ IAccessibleHypertext * This,
+ /* [in] */ long selectionIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
+ IAccessibleHypertext * This,
+ /* [in] */ long offset);
+
+ HRESULT ( STDMETHODCALLTYPE *setSelection )(
+ IAccessibleHypertext * This,
+ /* [in] */ long selectionIndex,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ long *nCharacters);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
+ IAccessibleHypertext * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
+ IAccessibleHypertext * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ IA2TextSegment *newText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ IA2TextSegment *oldText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )(
+ IAccessibleHypertext * This,
+ /* [retval][out] */ long *hyperlinkCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )(
+ IAccessibleHypertext * This,
+ /* [in] */ long index,
+ /* [retval][out] */ IAccessibleHyperlink **hyperlink);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )(
+ IAccessibleHypertext * This,
+ /* [in] */ long charIndex,
+ /* [retval][out] */ long *hyperlinkIndex);
+
+ END_INTERFACE
+ } IAccessibleHypertextVtbl;
+
+ interface IAccessibleHypertext
+ {
+ CONST_VTBL struct IAccessibleHypertextVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleHypertext_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleHypertext_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleHypertext_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleHypertext_addSelection(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
+
+#define IAccessibleHypertext_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
+ ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
+
+#define IAccessibleHypertext_get_caretOffset(This,offset) \
+ ( (This)->lpVtbl -> get_caretOffset(This,offset) )
+
+#define IAccessibleHypertext_get_characterExtents(This,offset,coordType,x,y,width,height) \
+ ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
+
+#define IAccessibleHypertext_get_nSelections(This,nSelections) \
+ ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
+
+#define IAccessibleHypertext_get_offsetAtPoint(This,x,y,coordType,offset) \
+ ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
+
+#define IAccessibleHypertext_get_selection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleHypertext_get_text(This,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext_removeSelection(This,selectionIndex) \
+ ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
+
+#define IAccessibleHypertext_setCaretOffset(This,offset) \
+ ( (This)->lpVtbl -> setCaretOffset(This,offset) )
+
+#define IAccessibleHypertext_setSelection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleHypertext_get_nCharacters(This,nCharacters) \
+ ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
+
+#define IAccessibleHypertext_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
+ ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
+
+#define IAccessibleHypertext_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
+
+#define IAccessibleHypertext_get_newText(This,newText) \
+ ( (This)->lpVtbl -> get_newText(This,newText) )
+
+#define IAccessibleHypertext_get_oldText(This,oldText) \
+ ( (This)->lpVtbl -> get_oldText(This,oldText) )
+
+
+#define IAccessibleHypertext_get_nHyperlinks(This,hyperlinkCount) \
+ ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) )
+
+#define IAccessibleHypertext_get_hyperlink(This,index,hyperlink) \
+ ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) )
+
+#define IAccessibleHypertext_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \
+ ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleHypertext_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleHypertext2_INTERFACE_DEFINED__
+#define __IAccessibleHypertext2_INTERFACE_DEFINED__
+
+/* interface IAccessibleHypertext2 */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleHypertext2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("CF64D89F-8287-4B44-8501-A827453A6077")
+ IAccessibleHypertext2 : public IAccessibleHypertext
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinks(
+ /* [size_is][size_is][out] */ IAccessibleHyperlink ***hyperlinks,
+ /* [retval][out] */ long *nHyperlinks) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleHypertext2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleHypertext2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleHypertext2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *addSelection )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *textAttributes);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [out] */ long *x,
+ /* [out] */ long *y,
+ /* [out] */ long *width,
+ /* [retval][out] */ long *height);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ long *nSelections);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long x,
+ /* [in] */ long y,
+ /* [in] */ enum IA2CoordinateType coordType,
+ /* [retval][out] */ long *offset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long selectionIndex,
+ /* [out] */ long *startOffset,
+ /* [retval][out] */ long *endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset,
+ /* [in] */ enum IA2TextBoundaryType boundaryType,
+ /* [out] */ long *startOffset,
+ /* [out] */ long *endOffset,
+ /* [retval][out] */ BSTR *text);
+
+ HRESULT ( STDMETHODCALLTYPE *removeSelection )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long selectionIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long offset);
+
+ HRESULT ( STDMETHODCALLTYPE *setSelection )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long selectionIndex,
+ /* [in] */ long startOffset,
+ /* [in] */ long endOffset);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ long *nCharacters);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2ScrollType scrollType);
+
+ HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long startIndex,
+ /* [in] */ long endIndex,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [in] */ long x,
+ /* [in] */ long y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ IA2TextSegment *newText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ IA2TextSegment *oldText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )(
+ IAccessibleHypertext2 * This,
+ /* [retval][out] */ long *hyperlinkCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long index,
+ /* [retval][out] */ IAccessibleHyperlink **hyperlink);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )(
+ IAccessibleHypertext2 * This,
+ /* [in] */ long charIndex,
+ /* [retval][out] */ long *hyperlinkIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinks )(
+ IAccessibleHypertext2 * This,
+ /* [size_is][size_is][out] */ IAccessibleHyperlink ***hyperlinks,
+ /* [retval][out] */ long *nHyperlinks);
+
+ END_INTERFACE
+ } IAccessibleHypertext2Vtbl;
+
+ interface IAccessibleHypertext2
+ {
+ CONST_VTBL struct IAccessibleHypertext2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleHypertext2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleHypertext2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleHypertext2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleHypertext2_addSelection(This,startOffset,endOffset) \
+ ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
+
+#define IAccessibleHypertext2_get_attributes(This,offset,startOffset,endOffset,textAttributes) \
+ ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
+
+#define IAccessibleHypertext2_get_caretOffset(This,offset) \
+ ( (This)->lpVtbl -> get_caretOffset(This,offset) )
+
+#define IAccessibleHypertext2_get_characterExtents(This,offset,coordType,x,y,width,height) \
+ ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
+
+#define IAccessibleHypertext2_get_nSelections(This,nSelections) \
+ ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
+
+#define IAccessibleHypertext2_get_offsetAtPoint(This,x,y,coordType,offset) \
+ ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
+
+#define IAccessibleHypertext2_get_selection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleHypertext2_get_text(This,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext2_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext2_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext2_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \
+ ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
+
+#define IAccessibleHypertext2_removeSelection(This,selectionIndex) \
+ ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
+
+#define IAccessibleHypertext2_setCaretOffset(This,offset) \
+ ( (This)->lpVtbl -> setCaretOffset(This,offset) )
+
+#define IAccessibleHypertext2_setSelection(This,selectionIndex,startOffset,endOffset) \
+ ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
+
+#define IAccessibleHypertext2_get_nCharacters(This,nCharacters) \
+ ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
+
+#define IAccessibleHypertext2_scrollSubstringTo(This,startIndex,endIndex,scrollType) \
+ ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
+
+#define IAccessibleHypertext2_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \
+ ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
+
+#define IAccessibleHypertext2_get_newText(This,newText) \
+ ( (This)->lpVtbl -> get_newText(This,newText) )
+
+#define IAccessibleHypertext2_get_oldText(This,oldText) \
+ ( (This)->lpVtbl -> get_oldText(This,oldText) )
+
+
+#define IAccessibleHypertext2_get_nHyperlinks(This,hyperlinkCount) \
+ ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) )
+
+#define IAccessibleHypertext2_get_hyperlink(This,index,hyperlink) \
+ ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) )
+
+#define IAccessibleHypertext2_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \
+ ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) )
+
+
+#define IAccessibleHypertext2_get_hyperlinks(This,hyperlinks,nHyperlinks) \
+ ( (This)->lpVtbl -> get_hyperlinks(This,hyperlinks,nHyperlinks) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleHypertext2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleTable_INTERFACE_DEFINED__
+#define __IAccessibleTable_INTERFACE_DEFINED__
+
+/* interface IAccessibleTable */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleTable;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("35AD8070-C20C-4fb4-B094-F4F7275DD469")
+ IAccessibleTable : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt(
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex(
+ /* [in] */ long rowIndex,
+ /* [in] */ long columnIndex,
+ /* [retval][out] */ long *cellIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
+ /* [in] */ long column,
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt(
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ long *nColumnsSpanned) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader(
+ /* [out] */ IAccessibleTable **accessibleTable,
+ /* [retval][out] */ long *startingRowIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
+ /* [in] */ long cellIndex,
+ /* [retval][out] */ long *columnIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
+ /* [retval][out] */ long *columnCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
+ /* [retval][out] */ long *rowCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren(
+ /* [retval][out] */ long *cellCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
+ /* [retval][out] */ long *columnCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
+ /* [retval][out] */ long *rowCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
+ /* [in] */ long row,
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt(
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ long *nRowsSpanned) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader(
+ /* [out] */ IAccessibleTable **accessibleTable,
+ /* [retval][out] */ long *startingColumnIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
+ /* [in] */ long cellIndex,
+ /* [retval][out] */ long *rowIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren(
+ /* [in] */ long maxChildren,
+ /* [length_is][length_is][size_is][size_is][out] */ long **children,
+ /* [retval][out] */ long *nChildren) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
+ /* [in] */ long maxColumns,
+ /* [length_is][length_is][size_is][size_is][out] */ long **columns,
+ /* [retval][out] */ long *nColumns) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
+ /* [in] */ long maxRows,
+ /* [length_is][length_is][size_is][size_is][out] */ long **rows,
+ /* [retval][out] */ long *nRows) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
+ /* [in] */ long row,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE selectRow(
+ /* [in] */ long row) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE selectColumn(
+ /* [in] */ long column) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE unselectRow(
+ /* [in] */ long row) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE unselectColumn(
+ /* [in] */ long column) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex(
+ /* [in] */ long index,
+ /* [out] */ long *row,
+ /* [out] */ long *column,
+ /* [out] */ long *rowExtents,
+ /* [out] */ long *columnExtents,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
+ /* [retval][out] */ IA2TableModelChange *modelChange) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleTableVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleTable * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleTable * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleTable * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleAt )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ IUnknown **accessible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )(
+ IAccessibleTable * This,
+ /* [retval][out] */ IUnknown **accessible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_childIndex )(
+ IAccessibleTable * This,
+ /* [in] */ long rowIndex,
+ /* [in] */ long columnIndex,
+ /* [retval][out] */ long *cellIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )(
+ IAccessibleTable * This,
+ /* [in] */ long column,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtentAt )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ long *nColumnsSpanned);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeader )(
+ IAccessibleTable * This,
+ /* [out] */ IAccessibleTable **accessibleTable,
+ /* [retval][out] */ long *startingRowIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )(
+ IAccessibleTable * This,
+ /* [in] */ long cellIndex,
+ /* [retval][out] */ long *columnIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )(
+ IAccessibleTable * This,
+ /* [retval][out] */ long *columnCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )(
+ IAccessibleTable * This,
+ /* [retval][out] */ long *rowCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedChildren )(
+ IAccessibleTable * This,
+ /* [retval][out] */ long *cellCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )(
+ IAccessibleTable * This,
+ /* [retval][out] */ long *columnCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )(
+ IAccessibleTable * This,
+ /* [retval][out] */ long *rowCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtentAt )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ long *nRowsSpanned);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeader )(
+ IAccessibleTable * This,
+ /* [out] */ IAccessibleTable **accessibleTable,
+ /* [retval][out] */ long *startingColumnIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )(
+ IAccessibleTable * This,
+ /* [in] */ long cellIndex,
+ /* [retval][out] */ long *rowIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedChildren )(
+ IAccessibleTable * This,
+ /* [in] */ long maxChildren,
+ /* [length_is][length_is][size_is][size_is][out] */ long **children,
+ /* [retval][out] */ long *nChildren);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )(
+ IAccessibleTable * This,
+ /* [in] */ long maxColumns,
+ /* [length_is][length_is][size_is][size_is][out] */ long **columns,
+ /* [retval][out] */ long *nColumns);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )(
+ IAccessibleTable * This,
+ /* [in] */ long maxRows,
+ /* [length_is][length_is][size_is][size_is][out] */ long **rows,
+ /* [retval][out] */ long *nRows);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )(
+ IAccessibleTable * This,
+ /* [retval][out] */ IUnknown **accessible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )(
+ IAccessibleTable * This,
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )(
+ IAccessibleTable * This,
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected);
+
+ HRESULT ( STDMETHODCALLTYPE *selectRow )(
+ IAccessibleTable * This,
+ /* [in] */ long row);
+
+ HRESULT ( STDMETHODCALLTYPE *selectColumn )(
+ IAccessibleTable * This,
+ /* [in] */ long column);
+
+ HRESULT ( STDMETHODCALLTYPE *unselectRow )(
+ IAccessibleTable * This,
+ /* [in] */ long row);
+
+ HRESULT ( STDMETHODCALLTYPE *unselectColumn )(
+ IAccessibleTable * This,
+ /* [in] */ long column);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtentsAtIndex )(
+ IAccessibleTable * This,
+ /* [in] */ long index,
+ /* [out] */ long *row,
+ /* [out] */ long *column,
+ /* [out] */ long *rowExtents,
+ /* [out] */ long *columnExtents,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )(
+ IAccessibleTable * This,
+ /* [retval][out] */ IA2TableModelChange *modelChange);
+
+ END_INTERFACE
+ } IAccessibleTableVtbl;
+
+ interface IAccessibleTable
+ {
+ CONST_VTBL struct IAccessibleTableVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleTable_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleTable_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleTable_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleTable_get_accessibleAt(This,row,column,accessible) \
+ ( (This)->lpVtbl -> get_accessibleAt(This,row,column,accessible) )
+
+#define IAccessibleTable_get_caption(This,accessible) \
+ ( (This)->lpVtbl -> get_caption(This,accessible) )
+
+#define IAccessibleTable_get_childIndex(This,rowIndex,columnIndex,cellIndex) \
+ ( (This)->lpVtbl -> get_childIndex(This,rowIndex,columnIndex,cellIndex) )
+
+#define IAccessibleTable_get_columnDescription(This,column,description) \
+ ( (This)->lpVtbl -> get_columnDescription(This,column,description) )
+
+#define IAccessibleTable_get_columnExtentAt(This,row,column,nColumnsSpanned) \
+ ( (This)->lpVtbl -> get_columnExtentAt(This,row,column,nColumnsSpanned) )
+
+#define IAccessibleTable_get_columnHeader(This,accessibleTable,startingRowIndex) \
+ ( (This)->lpVtbl -> get_columnHeader(This,accessibleTable,startingRowIndex) )
+
+#define IAccessibleTable_get_columnIndex(This,cellIndex,columnIndex) \
+ ( (This)->lpVtbl -> get_columnIndex(This,cellIndex,columnIndex) )
+
+#define IAccessibleTable_get_nColumns(This,columnCount) \
+ ( (This)->lpVtbl -> get_nColumns(This,columnCount) )
+
+#define IAccessibleTable_get_nRows(This,rowCount) \
+ ( (This)->lpVtbl -> get_nRows(This,rowCount) )
+
+#define IAccessibleTable_get_nSelectedChildren(This,cellCount) \
+ ( (This)->lpVtbl -> get_nSelectedChildren(This,cellCount) )
+
+#define IAccessibleTable_get_nSelectedColumns(This,columnCount) \
+ ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) )
+
+#define IAccessibleTable_get_nSelectedRows(This,rowCount) \
+ ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) )
+
+#define IAccessibleTable_get_rowDescription(This,row,description) \
+ ( (This)->lpVtbl -> get_rowDescription(This,row,description) )
+
+#define IAccessibleTable_get_rowExtentAt(This,row,column,nRowsSpanned) \
+ ( (This)->lpVtbl -> get_rowExtentAt(This,row,column,nRowsSpanned) )
+
+#define IAccessibleTable_get_rowHeader(This,accessibleTable,startingColumnIndex) \
+ ( (This)->lpVtbl -> get_rowHeader(This,accessibleTable,startingColumnIndex) )
+
+#define IAccessibleTable_get_rowIndex(This,cellIndex,rowIndex) \
+ ( (This)->lpVtbl -> get_rowIndex(This,cellIndex,rowIndex) )
+
+#define IAccessibleTable_get_selectedChildren(This,maxChildren,children,nChildren) \
+ ( (This)->lpVtbl -> get_selectedChildren(This,maxChildren,children,nChildren) )
+
+#define IAccessibleTable_get_selectedColumns(This,maxColumns,columns,nColumns) \
+ ( (This)->lpVtbl -> get_selectedColumns(This,maxColumns,columns,nColumns) )
+
+#define IAccessibleTable_get_selectedRows(This,maxRows,rows,nRows) \
+ ( (This)->lpVtbl -> get_selectedRows(This,maxRows,rows,nRows) )
+
+#define IAccessibleTable_get_summary(This,accessible) \
+ ( (This)->lpVtbl -> get_summary(This,accessible) )
+
+#define IAccessibleTable_get_isColumnSelected(This,column,isSelected) \
+ ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) )
+
+#define IAccessibleTable_get_isRowSelected(This,row,isSelected) \
+ ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) )
+
+#define IAccessibleTable_get_isSelected(This,row,column,isSelected) \
+ ( (This)->lpVtbl -> get_isSelected(This,row,column,isSelected) )
+
+#define IAccessibleTable_selectRow(This,row) \
+ ( (This)->lpVtbl -> selectRow(This,row) )
+
+#define IAccessibleTable_selectColumn(This,column) \
+ ( (This)->lpVtbl -> selectColumn(This,column) )
+
+#define IAccessibleTable_unselectRow(This,row) \
+ ( (This)->lpVtbl -> unselectRow(This,row) )
+
+#define IAccessibleTable_unselectColumn(This,column) \
+ ( (This)->lpVtbl -> unselectColumn(This,column) )
+
+#define IAccessibleTable_get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) \
+ ( (This)->lpVtbl -> get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) )
+
+#define IAccessibleTable_get_modelChange(This,modelChange) \
+ ( (This)->lpVtbl -> get_modelChange(This,modelChange) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleTable_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleTable2_INTERFACE_DEFINED__
+#define __IAccessibleTable2_INTERFACE_DEFINED__
+
+/* interface IAccessibleTable2 */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleTable2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("6167f295-06f0-4cdd-a1fa-02e25153d869")
+ IAccessibleTable2 : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt(
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ IUnknown **cell) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
+ /* [in] */ long column,
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
+ /* [retval][out] */ long *columnCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
+ /* [retval][out] */ long *rowCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells(
+ /* [retval][out] */ long *cellCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
+ /* [retval][out] */ long *columnCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
+ /* [retval][out] */ long *rowCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
+ /* [in] */ long row,
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells(
+ /* [size_is][size_is][out] */ IUnknown ***cells,
+ /* [retval][out] */ long *nSelectedCells) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
+ /* [size_is][size_is][out] */ long **selectedColumns,
+ /* [retval][out] */ long *nColumns) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
+ /* [size_is][size_is][out] */ long **selectedRows,
+ /* [retval][out] */ long *nRows) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
+ /* [in] */ long row,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE selectRow(
+ /* [in] */ long row) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE selectColumn(
+ /* [in] */ long column) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE unselectRow(
+ /* [in] */ long row) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE unselectColumn(
+ /* [in] */ long column) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
+ /* [retval][out] */ IA2TableModelChange *modelChange) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleTable2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleTable2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleTable2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleTable2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellAt )(
+ IAccessibleTable2 * This,
+ /* [in] */ long row,
+ /* [in] */ long column,
+ /* [retval][out] */ IUnknown **cell);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ IUnknown **accessible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )(
+ IAccessibleTable2 * This,
+ /* [in] */ long column,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ long *columnCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ long *rowCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedCells )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ long *cellCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ long *columnCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ long *rowCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )(
+ IAccessibleTable2 * This,
+ /* [in] */ long row,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedCells )(
+ IAccessibleTable2 * This,
+ /* [size_is][size_is][out] */ IUnknown ***cells,
+ /* [retval][out] */ long *nSelectedCells);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )(
+ IAccessibleTable2 * This,
+ /* [size_is][size_is][out] */ long **selectedColumns,
+ /* [retval][out] */ long *nColumns);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )(
+ IAccessibleTable2 * This,
+ /* [size_is][size_is][out] */ long **selectedRows,
+ /* [retval][out] */ long *nRows);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ IUnknown **accessible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )(
+ IAccessibleTable2 * This,
+ /* [in] */ long column,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )(
+ IAccessibleTable2 * This,
+ /* [in] */ long row,
+ /* [retval][out] */ boolean *isSelected);
+
+ HRESULT ( STDMETHODCALLTYPE *selectRow )(
+ IAccessibleTable2 * This,
+ /* [in] */ long row);
+
+ HRESULT ( STDMETHODCALLTYPE *selectColumn )(
+ IAccessibleTable2 * This,
+ /* [in] */ long column);
+
+ HRESULT ( STDMETHODCALLTYPE *unselectRow )(
+ IAccessibleTable2 * This,
+ /* [in] */ long row);
+
+ HRESULT ( STDMETHODCALLTYPE *unselectColumn )(
+ IAccessibleTable2 * This,
+ /* [in] */ long column);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )(
+ IAccessibleTable2 * This,
+ /* [retval][out] */ IA2TableModelChange *modelChange);
+
+ END_INTERFACE
+ } IAccessibleTable2Vtbl;
+
+ interface IAccessibleTable2
+ {
+ CONST_VTBL struct IAccessibleTable2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleTable2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleTable2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleTable2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleTable2_get_cellAt(This,row,column,cell) \
+ ( (This)->lpVtbl -> get_cellAt(This,row,column,cell) )
+
+#define IAccessibleTable2_get_caption(This,accessible) \
+ ( (This)->lpVtbl -> get_caption(This,accessible) )
+
+#define IAccessibleTable2_get_columnDescription(This,column,description) \
+ ( (This)->lpVtbl -> get_columnDescription(This,column,description) )
+
+#define IAccessibleTable2_get_nColumns(This,columnCount) \
+ ( (This)->lpVtbl -> get_nColumns(This,columnCount) )
+
+#define IAccessibleTable2_get_nRows(This,rowCount) \
+ ( (This)->lpVtbl -> get_nRows(This,rowCount) )
+
+#define IAccessibleTable2_get_nSelectedCells(This,cellCount) \
+ ( (This)->lpVtbl -> get_nSelectedCells(This,cellCount) )
+
+#define IAccessibleTable2_get_nSelectedColumns(This,columnCount) \
+ ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) )
+
+#define IAccessibleTable2_get_nSelectedRows(This,rowCount) \
+ ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) )
+
+#define IAccessibleTable2_get_rowDescription(This,row,description) \
+ ( (This)->lpVtbl -> get_rowDescription(This,row,description) )
+
+#define IAccessibleTable2_get_selectedCells(This,cells,nSelectedCells) \
+ ( (This)->lpVtbl -> get_selectedCells(This,cells,nSelectedCells) )
+
+#define IAccessibleTable2_get_selectedColumns(This,selectedColumns,nColumns) \
+ ( (This)->lpVtbl -> get_selectedColumns(This,selectedColumns,nColumns) )
+
+#define IAccessibleTable2_get_selectedRows(This,selectedRows,nRows) \
+ ( (This)->lpVtbl -> get_selectedRows(This,selectedRows,nRows) )
+
+#define IAccessibleTable2_get_summary(This,accessible) \
+ ( (This)->lpVtbl -> get_summary(This,accessible) )
+
+#define IAccessibleTable2_get_isColumnSelected(This,column,isSelected) \
+ ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) )
+
+#define IAccessibleTable2_get_isRowSelected(This,row,isSelected) \
+ ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) )
+
+#define IAccessibleTable2_selectRow(This,row) \
+ ( (This)->lpVtbl -> selectRow(This,row) )
+
+#define IAccessibleTable2_selectColumn(This,column) \
+ ( (This)->lpVtbl -> selectColumn(This,column) )
+
+#define IAccessibleTable2_unselectRow(This,row) \
+ ( (This)->lpVtbl -> unselectRow(This,row) )
+
+#define IAccessibleTable2_unselectColumn(This,column) \
+ ( (This)->lpVtbl -> unselectColumn(This,column) )
+
+#define IAccessibleTable2_get_modelChange(This,modelChange) \
+ ( (This)->lpVtbl -> get_modelChange(This,modelChange) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleTable2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleTableCell_INTERFACE_DEFINED__
+#define __IAccessibleTableCell_INTERFACE_DEFINED__
+
+/* interface IAccessibleTableCell */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleTableCell;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("594116B1-C99F-4847-AD06-0A7A86ECE645")
+ IAccessibleTableCell : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtent(
+ /* [retval][out] */ long *nColumnsSpanned) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeaderCells(
+ /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
+ /* [retval][out] */ long *nColumnHeaderCells) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
+ /* [retval][out] */ long *columnIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtent(
+ /* [retval][out] */ long *nRowsSpanned) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeaderCells(
+ /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
+ /* [retval][out] */ long *nRowHeaderCells) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
+ /* [retval][out] */ long *rowIndex) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtents(
+ /* [out] */ long *row,
+ /* [out] */ long *column,
+ /* [out] */ long *rowExtents,
+ /* [out] */ long *columnExtents,
+ /* [retval][out] */ boolean *isSelected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_table(
+ /* [retval][out] */ IUnknown **table) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleTableCellVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleTableCell * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleTableCell * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleTableCell * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtent )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ long *nColumnsSpanned);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeaderCells )(
+ IAccessibleTableCell * This,
+ /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
+ /* [retval][out] */ long *nColumnHeaderCells);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ long *columnIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtent )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ long *nRowsSpanned);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeaderCells )(
+ IAccessibleTableCell * This,
+ /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
+ /* [retval][out] */ long *nRowHeaderCells);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ long *rowIndex);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtents )(
+ IAccessibleTableCell * This,
+ /* [out] */ long *row,
+ /* [out] */ long *column,
+ /* [out] */ long *rowExtents,
+ /* [out] */ long *columnExtents,
+ /* [retval][out] */ boolean *isSelected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_table )(
+ IAccessibleTableCell * This,
+ /* [retval][out] */ IUnknown **table);
+
+ END_INTERFACE
+ } IAccessibleTableCellVtbl;
+
+ interface IAccessibleTableCell
+ {
+ CONST_VTBL struct IAccessibleTableCellVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleTableCell_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleTableCell_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleTableCell_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleTableCell_get_columnExtent(This,nColumnsSpanned) \
+ ( (This)->lpVtbl -> get_columnExtent(This,nColumnsSpanned) )
+
+#define IAccessibleTableCell_get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) \
+ ( (This)->lpVtbl -> get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) )
+
+#define IAccessibleTableCell_get_columnIndex(This,columnIndex) \
+ ( (This)->lpVtbl -> get_columnIndex(This,columnIndex) )
+
+#define IAccessibleTableCell_get_rowExtent(This,nRowsSpanned) \
+ ( (This)->lpVtbl -> get_rowExtent(This,nRowsSpanned) )
+
+#define IAccessibleTableCell_get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) \
+ ( (This)->lpVtbl -> get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) )
+
+#define IAccessibleTableCell_get_rowIndex(This,rowIndex) \
+ ( (This)->lpVtbl -> get_rowIndex(This,rowIndex) )
+
+#define IAccessibleTableCell_get_isSelected(This,isSelected) \
+ ( (This)->lpVtbl -> get_isSelected(This,isSelected) )
+
+#define IAccessibleTableCell_get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) \
+ ( (This)->lpVtbl -> get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) )
+
+#define IAccessibleTableCell_get_table(This,table) \
+ ( (This)->lpVtbl -> get_table(This,table) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleTableCell_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleImage_INTERFACE_DEFINED__
+#define __IAccessibleImage_INTERFACE_DEFINED__
+
+/* interface IAccessibleImage */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleImage;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE")
+ IAccessibleImage : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description(
+ /* [retval][out] */ BSTR *description) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imagePosition(
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [out] */ long *x,
+ /* [retval][out] */ long *y) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imageSize(
+ /* [out] */ long *height,
+ /* [retval][out] */ long *width) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleImageVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleImage * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleImage * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleImage * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
+ IAccessibleImage * This,
+ /* [retval][out] */ BSTR *description);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imagePosition )(
+ IAccessibleImage * This,
+ /* [in] */ enum IA2CoordinateType coordinateType,
+ /* [out] */ long *x,
+ /* [retval][out] */ long *y);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageSize )(
+ IAccessibleImage * This,
+ /* [out] */ long *height,
+ /* [retval][out] */ long *width);
+
+ END_INTERFACE
+ } IAccessibleImageVtbl;
+
+ interface IAccessibleImage
+ {
+ CONST_VTBL struct IAccessibleImageVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleImage_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleImage_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleImage_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleImage_get_description(This,description) \
+ ( (This)->lpVtbl -> get_description(This,description) )
+
+#define IAccessibleImage_get_imagePosition(This,coordinateType,x,y) \
+ ( (This)->lpVtbl -> get_imagePosition(This,coordinateType,x,y) )
+
+#define IAccessibleImage_get_imageSize(This,height,width) \
+ ( (This)->lpVtbl -> get_imageSize(This,height,width) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleImage_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0016 */
+/* [local] */
+
+
+enum IA2EventID
+ { IA2_EVENT_ACTION_CHANGED = 0x101,
+ IA2_EVENT_ACTIVE_DECENDENT_CHANGED = ( IA2_EVENT_ACTION_CHANGED + 1 ) ,
+ IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
+ IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED = ( IA2_EVENT_ACTIVE_DESCENDANT_CHANGED + 1 ) ,
+ IA2_EVENT_DOCUMENT_CONTENT_CHANGED = ( IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED + 1 ) ,
+ IA2_EVENT_DOCUMENT_LOAD_COMPLETE = ( IA2_EVENT_DOCUMENT_CONTENT_CHANGED + 1 ) ,
+ IA2_EVENT_DOCUMENT_LOAD_STOPPED = ( IA2_EVENT_DOCUMENT_LOAD_COMPLETE + 1 ) ,
+ IA2_EVENT_DOCUMENT_RELOAD = ( IA2_EVENT_DOCUMENT_LOAD_STOPPED + 1 ) ,
+ IA2_EVENT_HYPERLINK_END_INDEX_CHANGED = ( IA2_EVENT_DOCUMENT_RELOAD + 1 ) ,
+ IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED = ( IA2_EVENT_HYPERLINK_END_INDEX_CHANGED + 1 ) ,
+ IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED = ( IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED + 1 ) ,
+ IA2_EVENT_HYPERTEXT_LINK_ACTIVATED = ( IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED + 1 ) ,
+ IA2_EVENT_HYPERTEXT_LINK_SELECTED = ( IA2_EVENT_HYPERTEXT_LINK_ACTIVATED + 1 ) ,
+ IA2_EVENT_HYPERLINK_START_INDEX_CHANGED = ( IA2_EVENT_HYPERTEXT_LINK_SELECTED + 1 ) ,
+ IA2_EVENT_HYPERTEXT_CHANGED = ( IA2_EVENT_HYPERLINK_START_INDEX_CHANGED + 1 ) ,
+ IA2_EVENT_HYPERTEXT_NLINKS_CHANGED = ( IA2_EVENT_HYPERTEXT_CHANGED + 1 ) ,
+ IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED = ( IA2_EVENT_HYPERTEXT_NLINKS_CHANGED + 1 ) ,
+ IA2_EVENT_PAGE_CHANGED = ( IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED + 1 ) ,
+ IA2_EVENT_SECTION_CHANGED = ( IA2_EVENT_PAGE_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_CAPTION_CHANGED = ( IA2_EVENT_SECTION_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_CAPTION_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED = ( IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_MODEL_CHANGED = ( IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_MODEL_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_ROW_HEADER_CHANGED = ( IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED + 1 ) ,
+ IA2_EVENT_TABLE_SUMMARY_CHANGED = ( IA2_EVENT_TABLE_ROW_HEADER_CHANGED + 1 ) ,
+ IA2_EVENT_TEXT_ATTRIBUTE_CHANGED = ( IA2_EVENT_TABLE_SUMMARY_CHANGED + 1 ) ,
+ IA2_EVENT_TEXT_CARET_MOVED = ( IA2_EVENT_TEXT_ATTRIBUTE_CHANGED + 1 ) ,
+ IA2_EVENT_TEXT_CHANGED = ( IA2_EVENT_TEXT_CARET_MOVED + 1 ) ,
+ IA2_EVENT_TEXT_COLUMN_CHANGED = ( IA2_EVENT_TEXT_CHANGED + 1 ) ,
+ IA2_EVENT_TEXT_INSERTED = ( IA2_EVENT_TEXT_COLUMN_CHANGED + 1 ) ,
+ IA2_EVENT_TEXT_REMOVED = ( IA2_EVENT_TEXT_INSERTED + 1 ) ,
+ IA2_EVENT_TEXT_UPDATED = ( IA2_EVENT_TEXT_REMOVED + 1 ) ,
+ IA2_EVENT_TEXT_SELECTION_CHANGED = ( IA2_EVENT_TEXT_UPDATED + 1 ) ,
+ IA2_EVENT_VISIBLE_DATA_CHANGED = ( IA2_EVENT_TEXT_SELECTION_CHANGED + 1 )
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_s_ifspec;
+
+#ifndef __IAccessibleApplication_INTERFACE_DEFINED__
+#define __IAccessibleApplication_INTERFACE_DEFINED__
+
+/* interface IAccessibleApplication */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleApplication;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("D49DED83-5B25-43F4-9B95-93B44595979E")
+ IAccessibleApplication : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appName(
+ /* [retval][out] */ BSTR *name) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appVersion(
+ /* [retval][out] */ BSTR *version) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitName(
+ /* [retval][out] */ BSTR *name) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitVersion(
+ /* [retval][out] */ BSTR *version) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleApplicationVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleApplication * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleApplication * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleApplication * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appName )(
+ IAccessibleApplication * This,
+ /* [retval][out] */ BSTR *name);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appVersion )(
+ IAccessibleApplication * This,
+ /* [retval][out] */ BSTR *version);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitName )(
+ IAccessibleApplication * This,
+ /* [retval][out] */ BSTR *name);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitVersion )(
+ IAccessibleApplication * This,
+ /* [retval][out] */ BSTR *version);
+
+ END_INTERFACE
+ } IAccessibleApplicationVtbl;
+
+ interface IAccessibleApplication
+ {
+ CONST_VTBL struct IAccessibleApplicationVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleApplication_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleApplication_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleApplication_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleApplication_get_appName(This,name) \
+ ( (This)->lpVtbl -> get_appName(This,name) )
+
+#define IAccessibleApplication_get_appVersion(This,version) \
+ ( (This)->lpVtbl -> get_appVersion(This,version) )
+
+#define IAccessibleApplication_get_toolkitName(This,name) \
+ ( (This)->lpVtbl -> get_toolkitName(This,name) )
+
+#define IAccessibleApplication_get_toolkitVersion(This,version) \
+ ( (This)->lpVtbl -> get_toolkitVersion(This,version) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleApplication_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAccessibleDocument_INTERFACE_DEFINED__
+#define __IAccessibleDocument_INTERFACE_DEFINED__
+
+/* interface IAccessibleDocument */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IAccessibleDocument;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C48C7FCF-4AB5-4056-AFA6-902D6E1D1149")
+ IAccessibleDocument : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget(
+ /* [retval][out] */ IUnknown **accessible) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAccessibleDocumentVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAccessibleDocument * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAccessibleDocument * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAccessibleDocument * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )(
+ IAccessibleDocument * This,
+ /* [retval][out] */ IUnknown **accessible);
+
+ END_INTERFACE
+ } IAccessibleDocumentVtbl;
+
+ interface IAccessibleDocument
+ {
+ CONST_VTBL struct IAccessibleDocumentVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAccessibleDocument_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IAccessibleDocument_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IAccessibleDocument_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IAccessibleDocument_get_anchorTarget(This,accessible) \
+ ( (This)->lpVtbl -> get_anchorTarget(This,accessible) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IAccessibleDocument_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_ia2_api_all_0000_0018 */
+/* [local] */
+
+
+// Type Library Definitions
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_s_ifspec;
+
+
+#ifndef __IAccessible2Lib_LIBRARY_DEFINED__
+#define __IAccessible2Lib_LIBRARY_DEFINED__
+
+/* library IAccessible2Lib */
+/* [hidden][version][helpstring][uuid] */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+EXTERN_C const IID LIBID_IAccessible2Lib;
+#endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */
+
+/* Additional Prototypes for ALL interfaces */
+
+unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
+unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
+unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
+void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
+
+unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * );
+unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * );
+unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
+void __RPC_USER HWND_UserFree( unsigned long *, HWND * );
+
+unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
+unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
+unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
+void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.tlb b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.tlb
new file mode 100644
index 0000000000..061ead5903
--- /dev/null
+++ b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.tlb
Binary files differ
diff --git a/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_i.c b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_i.c
new file mode 100644
index 0000000000..c50b3e9a4f
--- /dev/null
+++ b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_i.c
@@ -0,0 +1,133 @@
+
+
+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
+
+/* link this file in with the server and any clients */
+
+
+ /* File created by MIDL compiler version 7.00.0555 */
+/* at Mon Aug 11 14:34:41 2014
+ */
+/* Compiler settings for ia2_api_all.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+/* @@MIDL_FILE_HEADING( ) */
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+
+#include <rpc.h>
+#include <rpcndr.h>
+
+#ifdef _MIDL_USE_GUIDDEF_
+
+#ifndef INITGUID
+#define INITGUID
+#include <guiddef.h>
+#undef INITGUID
+#else
+#include <guiddef.h>
+#endif
+
+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
+ DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
+
+#else // !_MIDL_USE_GUIDDEF_
+
+#ifndef __IID_DEFINED__
+#define __IID_DEFINED__
+
+typedef struct _IID
+{
+ unsigned long x;
+ unsigned short s1;
+ unsigned short s2;
+ unsigned char c[8];
+} IID;
+
+#endif // __IID_DEFINED__
+
+#ifndef CLSID_DEFINED
+#define CLSID_DEFINED
+typedef IID CLSID;
+#endif // CLSID_DEFINED
+
+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
+ const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
+
+#endif !_MIDL_USE_GUIDDEF_
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleRelation,0x7CDF86EE,0xC3DA,0x496a,0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleAction,0xB70D9F59,0x3B5A,0x4dba,0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessible2,0xE89F726E,0xC4F4,0x4c19,0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessible2_2,0x6C9430E9,0x299D,0x4E6F,0xBD,0x01,0xA8,0x2A,0x1E,0x88,0xD3,0xFF);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleComponent,0x1546D4B0,0x4C98,0x4bda,0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleValue,0x35855B5B,0xC566,0x4fd0,0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleText,0x24FD2FFB,0x3AAD,0x4a08,0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleText2,0x9690A9CC,0x5C80,0x4DF5,0x85,0x2E,0x2D,0x5A,0xE4,0x18,0x9A,0x54);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleEditableText,0xA59AA09A,0x7011,0x4b65,0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleHyperlink,0x01C20F2B,0x3DD2,0x400f,0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext,0x6B4F8BBF,0xF1F2,0x418a,0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext2,0xCF64D89F,0x8287,0x4B44,0x85,0x01,0xA8,0x27,0x45,0x3A,0x60,0x77);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleTable,0x35AD8070,0xC20C,0x4fb4,0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleTable2,0x6167f295,0x06f0,0x4cdd,0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleTableCell,0x594116B1,0xC99F,0x4847,0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleImage,0xFE5ABB3D,0x615E,0x4f7b,0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleApplication,0xD49DED83,0x5B25,0x43F4,0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E);
+
+
+MIDL_DEFINE_GUID(IID, IID_IAccessibleDocument,0xC48C7FCF,0x4AB5,0x4056,0xAF,0xA6,0x90,0x2D,0x6E,0x1D,0x11,0x49);
+
+
+MIDL_DEFINE_GUID(IID, LIBID_IAccessible2Lib,0xCE3F726E,0xD1D3,0x44FE,0xB9,0x95,0xFF,0x1D,0xB3,0xB4,0x8B,0x2B);
+
+#undef MIDL_DEFINE_GUID
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
diff --git a/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_p.c b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_p.c
new file mode 100644
index 0000000000..2d82318622
--- /dev/null
+++ b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_p.c
@@ -0,0 +1,7823 @@
+
+
+/* this ALWAYS GENERATED file contains the proxy stub code */
+
+
+ /* File created by MIDL compiler version 7.00.0555 */
+/* at Mon Aug 11 14:34:41 2014
+ */
+/* Compiler settings for ia2_api_all.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+/* @@MIDL_FILE_HEADING( ) */
+
+#if !defined(_M_IA64) && !defined(_M_AMD64)
+
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+#if _MSC_VER >= 1200
+#pragma warning(push)
+#endif
+
+#pragma warning( disable: 4211 ) /* redefine extern to static */
+#pragma warning( disable: 4232 ) /* dllimport identity*/
+#pragma warning( disable: 4024 ) /* array to pointer mapping*/
+#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */
+#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
+
+#pragma optimize("", off )
+
+#define USE_STUBLESS_PROXY
+
+
+/* verify that the <rpcproxy.h> version is high enough to compile this file*/
+#ifndef __REDQ_RPCPROXY_H_VERSION__
+#define __REQUIRED_RPCPROXY_H_VERSION__ 475
+#endif
+
+
+#include "rpcproxy.h"
+#ifndef __RPCPROXY_H_VERSION__
+#error this stub requires an updated version of <rpcproxy.h>
+#endif /* __RPCPROXY_H_VERSION__ */
+
+
+#include "ia2_api_all.h"
+
+#define TYPE_FORMAT_STRING_SIZE 1513
+#define PROC_FORMAT_STRING_SIZE 5197
+#define EXPR_FORMAT_STRING_SIZE 1
+#define TRANSMIT_AS_TABLE_SIZE 0
+#define WIRE_MARSHAL_TABLE_SIZE 3
+
+typedef struct _ia2_api_all_MIDL_TYPE_FORMAT_STRING
+ {
+ short Pad;
+ unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
+ } ia2_api_all_MIDL_TYPE_FORMAT_STRING;
+
+typedef struct _ia2_api_all_MIDL_PROC_FORMAT_STRING
+ {
+ short Pad;
+ unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
+ } ia2_api_all_MIDL_PROC_FORMAT_STRING;
+
+typedef struct _ia2_api_all_MIDL_EXPR_FORMAT_STRING
+ {
+ long Pad;
+ unsigned char Format[ EXPR_FORMAT_STRING_SIZE ];
+ } ia2_api_all_MIDL_EXPR_FORMAT_STRING;
+
+
+static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax =
+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};
+
+
+extern const ia2_api_all_MIDL_TYPE_FORMAT_STRING ia2_api_all__MIDL_TypeFormatString;
+extern const ia2_api_all_MIDL_PROC_FORMAT_STRING ia2_api_all__MIDL_ProcFormatString;
+extern const ia2_api_all_MIDL_EXPR_FORMAT_STRING ia2_api_all__MIDL_ExprFormatString;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleAction_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessible2_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessible2_2_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_2_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleValue_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleText_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleText2_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText2_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleHypertext2_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext2_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleTable_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleImage_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IAccessibleDocument_ServerInfo;
+extern const MIDL_STUBLESS_PROXY_INFO IAccessibleDocument_ProxyInfo;
+
+
+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
+
+#if !defined(__RPC_WIN32__)
+#error Invalid build platform for this stub.
+#endif
+
+#if !(TARGET_IS_NT50_OR_LATER)
+#error You need Windows 2000 or later to run this stub because it uses these features:
+#error /robust command line switch.
+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
+#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.
+#endif
+
+
+static const ia2_api_all_MIDL_PROC_FORMAT_STRING ia2_api_all__MIDL_ProcFormatString =
+ {
+ 0,
+ {
+
+ /* Procedure get_appName */
+
+
+ /* Procedure get_description */
+
+
+ /* Procedure get_relationType */
+
+ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2 */ NdrFcLong( 0x0 ), /* 0 */
+/* 6 */ NdrFcShort( 0x3 ), /* 3 */
+/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 10 */ NdrFcShort( 0x0 ), /* 0 */
+/* 12 */ NdrFcShort( 0x8 ), /* 8 */
+/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 16 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 18 */ NdrFcShort( 0x1 ), /* 1 */
+/* 20 */ NdrFcShort( 0x0 ), /* 0 */
+/* 22 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter name */
+
+
+ /* Parameter description */
+
+
+ /* Parameter relationType */
+
+/* 24 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 28 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 34 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_appVersion */
+
+
+ /* Procedure get_localizedRelationType */
+
+/* 36 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 38 */ NdrFcLong( 0x0 ), /* 0 */
+/* 42 */ NdrFcShort( 0x4 ), /* 4 */
+/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 46 */ NdrFcShort( 0x0 ), /* 0 */
+/* 48 */ NdrFcShort( 0x8 ), /* 8 */
+/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 52 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 54 */ NdrFcShort( 0x1 ), /* 1 */
+/* 56 */ NdrFcShort( 0x0 ), /* 0 */
+/* 58 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter version */
+
+
+ /* Parameter localizedRelationType */
+
+/* 60 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 64 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 70 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnIndex */
+
+
+ /* Procedure get_caretOffset */
+
+
+ /* Procedure get_background */
+
+
+ /* Procedure get_nTargets */
+
+/* 72 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 74 */ NdrFcLong( 0x0 ), /* 0 */
+/* 78 */ NdrFcShort( 0x5 ), /* 5 */
+/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 82 */ NdrFcShort( 0x0 ), /* 0 */
+/* 84 */ NdrFcShort( 0x24 ), /* 36 */
+/* 86 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 88 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 90 */ NdrFcShort( 0x0 ), /* 0 */
+/* 92 */ NdrFcShort( 0x0 ), /* 0 */
+/* 94 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter columnIndex */
+
+
+ /* Parameter offset */
+
+
+ /* Parameter background */
+
+
+ /* Parameter nTargets */
+
+/* 96 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 100 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 106 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_target */
+
+/* 108 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 110 */ NdrFcLong( 0x0 ), /* 0 */
+/* 114 */ NdrFcShort( 0x6 ), /* 6 */
+/* 116 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 118 */ NdrFcShort( 0x8 ), /* 8 */
+/* 120 */ NdrFcShort( 0x8 ), /* 8 */
+/* 122 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 124 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 126 */ NdrFcShort( 0x0 ), /* 0 */
+/* 128 */ NdrFcShort( 0x0 ), /* 0 */
+/* 130 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter targetIndex */
+
+/* 132 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 134 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 136 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter target */
+
+/* 138 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 140 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 142 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+/* 144 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 146 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 148 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_targets */
+
+/* 150 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 152 */ NdrFcLong( 0x0 ), /* 0 */
+/* 156 */ NdrFcShort( 0x7 ), /* 7 */
+/* 158 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 160 */ NdrFcShort( 0x8 ), /* 8 */
+/* 162 */ NdrFcShort( 0x24 ), /* 36 */
+/* 164 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 166 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 168 */ NdrFcShort( 0x1 ), /* 1 */
+/* 170 */ NdrFcShort( 0x0 ), /* 0 */
+/* 172 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxTargets */
+
+/* 174 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 176 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 178 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter targets */
+
+/* 180 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */
+/* 182 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 184 */ NdrFcShort( 0x48 ), /* Type Offset=72 */
+
+ /* Parameter nTargets */
+
+/* 186 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 188 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 190 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 194 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 196 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnExtent */
+
+
+ /* Procedure nActions */
+
+/* 198 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 200 */ NdrFcLong( 0x0 ), /* 0 */
+/* 204 */ NdrFcShort( 0x3 ), /* 3 */
+/* 206 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 208 */ NdrFcShort( 0x0 ), /* 0 */
+/* 210 */ NdrFcShort( 0x24 ), /* 36 */
+/* 212 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 214 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 216 */ NdrFcShort( 0x0 ), /* 0 */
+/* 218 */ NdrFcShort( 0x0 ), /* 0 */
+/* 220 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter nColumnsSpanned */
+
+
+ /* Parameter nActions */
+
+/* 222 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 224 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 226 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 228 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 230 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 232 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure doAction */
+
+/* 234 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 236 */ NdrFcLong( 0x0 ), /* 0 */
+/* 240 */ NdrFcShort( 0x4 ), /* 4 */
+/* 242 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 244 */ NdrFcShort( 0x8 ), /* 8 */
+/* 246 */ NdrFcShort( 0x8 ), /* 8 */
+/* 248 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 250 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 252 */ NdrFcShort( 0x0 ), /* 0 */
+/* 254 */ NdrFcShort( 0x0 ), /* 0 */
+/* 256 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter actionIndex */
+
+/* 258 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 260 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 262 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 264 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 266 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 268 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnDescription */
+
+
+ /* Procedure get_description */
+
+/* 270 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 272 */ NdrFcLong( 0x0 ), /* 0 */
+/* 276 */ NdrFcShort( 0x5 ), /* 5 */
+/* 278 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 280 */ NdrFcShort( 0x8 ), /* 8 */
+/* 282 */ NdrFcShort( 0x8 ), /* 8 */
+/* 284 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 286 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 288 */ NdrFcShort( 0x1 ), /* 1 */
+/* 290 */ NdrFcShort( 0x0 ), /* 0 */
+/* 292 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+
+ /* Parameter actionIndex */
+
+/* 294 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 296 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 298 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter description */
+
+
+ /* Parameter description */
+
+/* 300 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 302 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 304 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 306 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 308 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 310 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_keyBinding */
+
+/* 312 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 314 */ NdrFcLong( 0x0 ), /* 0 */
+/* 318 */ NdrFcShort( 0x6 ), /* 6 */
+/* 320 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 322 */ NdrFcShort( 0x10 ), /* 16 */
+/* 324 */ NdrFcShort( 0x24 ), /* 36 */
+/* 326 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x5, /* 5 */
+/* 328 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 330 */ NdrFcShort( 0x1 ), /* 1 */
+/* 332 */ NdrFcShort( 0x0 ), /* 0 */
+/* 334 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter actionIndex */
+
+/* 336 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 338 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 340 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter nMaxBindings */
+
+/* 342 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 344 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 346 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter keyBindings */
+
+/* 348 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 350 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 352 */ NdrFcShort( 0x5e ), /* Type Offset=94 */
+
+ /* Parameter nBindings */
+
+/* 354 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 356 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 358 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 362 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 364 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_name */
+
+/* 366 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 368 */ NdrFcLong( 0x0 ), /* 0 */
+/* 372 */ NdrFcShort( 0x7 ), /* 7 */
+/* 374 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 376 */ NdrFcShort( 0x8 ), /* 8 */
+/* 378 */ NdrFcShort( 0x8 ), /* 8 */
+/* 380 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 382 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 384 */ NdrFcShort( 0x1 ), /* 1 */
+/* 386 */ NdrFcShort( 0x0 ), /* 0 */
+/* 388 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter actionIndex */
+
+/* 390 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 392 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 394 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter name */
+
+/* 396 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 398 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 400 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 402 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 404 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 406 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_localizedName */
+
+/* 408 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 410 */ NdrFcLong( 0x0 ), /* 0 */
+/* 414 */ NdrFcShort( 0x8 ), /* 8 */
+/* 416 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 418 */ NdrFcShort( 0x8 ), /* 8 */
+/* 420 */ NdrFcShort( 0x8 ), /* 8 */
+/* 422 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 424 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 426 */ NdrFcShort( 0x1 ), /* 1 */
+/* 428 */ NdrFcShort( 0x0 ), /* 0 */
+/* 430 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter actionIndex */
+
+/* 432 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 434 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 436 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter localizedName */
+
+/* 438 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 440 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 442 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 444 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 446 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 448 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nRelations */
+
+/* 450 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 452 */ NdrFcLong( 0x0 ), /* 0 */
+/* 456 */ NdrFcShort( 0x1c ), /* 28 */
+/* 458 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 460 */ NdrFcShort( 0x0 ), /* 0 */
+/* 462 */ NdrFcShort( 0x24 ), /* 36 */
+/* 464 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 466 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 468 */ NdrFcShort( 0x0 ), /* 0 */
+/* 470 */ NdrFcShort( 0x0 ), /* 0 */
+/* 472 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter nRelations */
+
+/* 474 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 476 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 478 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 480 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 482 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 484 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_relation */
+
+/* 486 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 488 */ NdrFcLong( 0x0 ), /* 0 */
+/* 492 */ NdrFcShort( 0x1d ), /* 29 */
+/* 494 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 496 */ NdrFcShort( 0x8 ), /* 8 */
+/* 498 */ NdrFcShort( 0x8 ), /* 8 */
+/* 500 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 502 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 504 */ NdrFcShort( 0x0 ), /* 0 */
+/* 506 */ NdrFcShort( 0x0 ), /* 0 */
+/* 508 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter relationIndex */
+
+/* 510 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 512 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 514 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter relation */
+
+/* 516 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 518 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 520 */ NdrFcShort( 0x7c ), /* Type Offset=124 */
+
+ /* Return value */
+
+/* 522 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 524 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 526 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_relations */
+
+/* 528 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 530 */ NdrFcLong( 0x0 ), /* 0 */
+/* 534 */ NdrFcShort( 0x1e ), /* 30 */
+/* 536 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 538 */ NdrFcShort( 0x8 ), /* 8 */
+/* 540 */ NdrFcShort( 0x24 ), /* 36 */
+/* 542 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 544 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 546 */ NdrFcShort( 0x1 ), /* 1 */
+/* 548 */ NdrFcShort( 0x0 ), /* 0 */
+/* 550 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxRelations */
+
+/* 552 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 554 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 556 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter relations */
+
+/* 558 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */
+/* 560 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 562 */ NdrFcShort( 0x96 ), /* Type Offset=150 */
+
+ /* Parameter nRelations */
+
+/* 564 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 566 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 568 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 570 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 572 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 574 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure role */
+
+/* 576 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 578 */ NdrFcLong( 0x0 ), /* 0 */
+/* 582 */ NdrFcShort( 0x1f ), /* 31 */
+/* 584 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 586 */ NdrFcShort( 0x0 ), /* 0 */
+/* 588 */ NdrFcShort( 0x24 ), /* 36 */
+/* 590 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 592 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 594 */ NdrFcShort( 0x0 ), /* 0 */
+/* 596 */ NdrFcShort( 0x0 ), /* 0 */
+/* 598 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter role */
+
+/* 600 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 602 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 604 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 606 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 608 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 610 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure scrollTo */
+
+/* 612 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 614 */ NdrFcLong( 0x0 ), /* 0 */
+/* 618 */ NdrFcShort( 0x20 ), /* 32 */
+/* 620 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 622 */ NdrFcShort( 0x6 ), /* 6 */
+/* 624 */ NdrFcShort( 0x8 ), /* 8 */
+/* 626 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 628 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 630 */ NdrFcShort( 0x0 ), /* 0 */
+/* 632 */ NdrFcShort( 0x0 ), /* 0 */
+/* 634 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter scrollType */
+
+/* 636 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 638 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 640 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 642 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 644 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 646 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure scrollToPoint */
+
+/* 648 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 650 */ NdrFcLong( 0x0 ), /* 0 */
+/* 654 */ NdrFcShort( 0x21 ), /* 33 */
+/* 656 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 658 */ NdrFcShort( 0x16 ), /* 22 */
+/* 660 */ NdrFcShort( 0x8 ), /* 8 */
+/* 662 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 664 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 666 */ NdrFcShort( 0x0 ), /* 0 */
+/* 668 */ NdrFcShort( 0x0 ), /* 0 */
+/* 670 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter coordinateType */
+
+/* 672 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 674 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 676 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter x */
+
+/* 678 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 680 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 682 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 684 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 686 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 688 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 690 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 692 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 694 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_groupPosition */
+
+/* 696 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 698 */ NdrFcLong( 0x0 ), /* 0 */
+/* 702 */ NdrFcShort( 0x22 ), /* 34 */
+/* 704 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 706 */ NdrFcShort( 0x0 ), /* 0 */
+/* 708 */ NdrFcShort( 0x5c ), /* 92 */
+/* 710 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 712 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 714 */ NdrFcShort( 0x0 ), /* 0 */
+/* 716 */ NdrFcShort( 0x0 ), /* 0 */
+/* 718 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter groupLevel */
+
+/* 720 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 722 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 724 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter similarItemsInGroup */
+
+/* 726 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 728 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 730 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter positionInGroup */
+
+/* 732 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 734 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 736 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 738 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 740 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 742 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_states */
+
+/* 744 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 746 */ NdrFcLong( 0x0 ), /* 0 */
+/* 750 */ NdrFcShort( 0x23 ), /* 35 */
+/* 752 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 754 */ NdrFcShort( 0x0 ), /* 0 */
+/* 756 */ NdrFcShort( 0x24 ), /* 36 */
+/* 758 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 760 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 762 */ NdrFcShort( 0x0 ), /* 0 */
+/* 764 */ NdrFcShort( 0x0 ), /* 0 */
+/* 766 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter states */
+
+/* 768 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 770 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 772 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 774 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 776 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 778 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_extendedRole */
+
+/* 780 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 782 */ NdrFcLong( 0x0 ), /* 0 */
+/* 786 */ NdrFcShort( 0x24 ), /* 36 */
+/* 788 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 790 */ NdrFcShort( 0x0 ), /* 0 */
+/* 792 */ NdrFcShort( 0x8 ), /* 8 */
+/* 794 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 796 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 798 */ NdrFcShort( 0x1 ), /* 1 */
+/* 800 */ NdrFcShort( 0x0 ), /* 0 */
+/* 802 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter extendedRole */
+
+/* 804 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 806 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 808 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 810 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 812 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 814 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_localizedExtendedRole */
+
+/* 816 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 818 */ NdrFcLong( 0x0 ), /* 0 */
+/* 822 */ NdrFcShort( 0x25 ), /* 37 */
+/* 824 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 826 */ NdrFcShort( 0x0 ), /* 0 */
+/* 828 */ NdrFcShort( 0x8 ), /* 8 */
+/* 830 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 832 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 834 */ NdrFcShort( 0x1 ), /* 1 */
+/* 836 */ NdrFcShort( 0x0 ), /* 0 */
+/* 838 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter localizedExtendedRole */
+
+/* 840 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 842 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 844 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 846 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 848 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 850 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nExtendedStates */
+
+/* 852 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 854 */ NdrFcLong( 0x0 ), /* 0 */
+/* 858 */ NdrFcShort( 0x26 ), /* 38 */
+/* 860 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 862 */ NdrFcShort( 0x0 ), /* 0 */
+/* 864 */ NdrFcShort( 0x24 ), /* 36 */
+/* 866 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 868 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 870 */ NdrFcShort( 0x0 ), /* 0 */
+/* 872 */ NdrFcShort( 0x0 ), /* 0 */
+/* 874 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter nExtendedStates */
+
+/* 876 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 878 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 880 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 882 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 884 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 886 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_extendedStates */
+
+/* 888 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 890 */ NdrFcLong( 0x0 ), /* 0 */
+/* 894 */ NdrFcShort( 0x27 ), /* 39 */
+/* 896 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 898 */ NdrFcShort( 0x8 ), /* 8 */
+/* 900 */ NdrFcShort( 0x24 ), /* 36 */
+/* 902 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 904 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 906 */ NdrFcShort( 0x1 ), /* 1 */
+/* 908 */ NdrFcShort( 0x0 ), /* 0 */
+/* 910 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxExtendedStates */
+
+/* 912 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 914 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 916 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter extendedStates */
+
+/* 918 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 920 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 922 */ NdrFcShort( 0xac ), /* Type Offset=172 */
+
+ /* Parameter nExtendedStates */
+
+/* 924 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 926 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 928 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 930 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 932 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 934 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_localizedExtendedStates */
+
+/* 936 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 938 */ NdrFcLong( 0x0 ), /* 0 */
+/* 942 */ NdrFcShort( 0x28 ), /* 40 */
+/* 944 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 946 */ NdrFcShort( 0x8 ), /* 8 */
+/* 948 */ NdrFcShort( 0x24 ), /* 36 */
+/* 950 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 952 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 954 */ NdrFcShort( 0x1 ), /* 1 */
+/* 956 */ NdrFcShort( 0x0 ), /* 0 */
+/* 958 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxLocalizedExtendedStates */
+
+/* 960 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 962 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 964 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter localizedExtendedStates */
+
+/* 966 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 968 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 970 */ NdrFcShort( 0xac ), /* Type Offset=172 */
+
+ /* Parameter nLocalizedExtendedStates */
+
+/* 972 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 974 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 976 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 978 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 980 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 982 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_uniqueID */
+
+/* 984 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 986 */ NdrFcLong( 0x0 ), /* 0 */
+/* 990 */ NdrFcShort( 0x29 ), /* 41 */
+/* 992 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 994 */ NdrFcShort( 0x0 ), /* 0 */
+/* 996 */ NdrFcShort( 0x24 ), /* 36 */
+/* 998 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 1000 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1002 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1004 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1006 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter uniqueID */
+
+/* 1008 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1010 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1012 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1014 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1016 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1018 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_windowHandle */
+
+/* 1020 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1022 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1026 */ NdrFcShort( 0x2a ), /* 42 */
+/* 1028 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1030 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1032 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1034 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1036 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1038 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1040 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1042 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter windowHandle */
+
+/* 1044 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 1046 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1048 */ NdrFcShort( 0xe6 ), /* Type Offset=230 */
+
+ /* Return value */
+
+/* 1050 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1052 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1054 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_indexInParent */
+
+/* 1056 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1058 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1062 */ NdrFcShort( 0x2b ), /* 43 */
+/* 1064 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1066 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1068 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1070 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 1072 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1074 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1076 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1078 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter indexInParent */
+
+/* 1080 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1082 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1084 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1086 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1088 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1090 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_locale */
+
+/* 1092 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1094 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1098 */ NdrFcShort( 0x2c ), /* 44 */
+/* 1100 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1102 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1104 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1106 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1108 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1110 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1112 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1114 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter locale */
+
+/* 1116 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
+/* 1118 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1120 */ NdrFcShort( 0xf4 ), /* Type Offset=244 */
+
+ /* Return value */
+
+/* 1122 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1124 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1126 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_attributes */
+
+/* 1128 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1130 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1134 */ NdrFcShort( 0x2d ), /* 45 */
+/* 1136 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1138 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1140 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1142 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1144 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1146 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1148 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1150 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter attributes */
+
+/* 1152 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 1154 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1156 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 1158 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1160 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1162 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_attribute */
+
+/* 1164 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1166 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1170 */ NdrFcShort( 0x2e ), /* 46 */
+/* 1172 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1174 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1176 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1178 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 1180 */ 0x8, /* 8 */
+ 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */
+/* 1182 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1184 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1186 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter name */
+
+/* 1188 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 1190 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1192 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Parameter attribute */
+
+/* 1194 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
+/* 1196 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1198 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */
+
+ /* Return value */
+
+/* 1200 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1202 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1204 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_accessibleWithCaret */
+
+/* 1206 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1208 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1212 */ NdrFcShort( 0x2f ), /* 47 */
+/* 1214 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1216 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1218 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1220 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 1222 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1224 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1226 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1228 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessible */
+
+/* 1230 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 1232 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1234 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Parameter caretOffset */
+
+/* 1236 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1238 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1240 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1242 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1244 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1246 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_relationTargetsOfType */
+
+/* 1248 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1250 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1254 */ NdrFcShort( 0x30 ), /* 48 */
+/* 1256 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 1258 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1260 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1262 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */
+ 0x5, /* 5 */
+/* 1264 */ 0x8, /* 8 */
+ 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */
+/* 1266 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1268 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1270 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter type */
+
+/* 1272 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 1274 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1276 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Parameter maxTargets */
+
+/* 1278 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1280 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1282 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter targets */
+
+/* 1284 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 1286 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1288 */ NdrFcShort( 0x4f8 ), /* Type Offset=1272 */
+
+ /* Parameter nTargets */
+
+/* 1290 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1292 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1294 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1296 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1298 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 1300 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_locationInParent */
+
+/* 1302 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1304 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1308 */ NdrFcShort( 0x3 ), /* 3 */
+/* 1310 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1312 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1314 */ NdrFcShort( 0x40 ), /* 64 */
+/* 1316 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 1318 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1320 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1322 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1324 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter x */
+
+/* 1326 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1328 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1330 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 1332 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1334 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1336 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1338 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1340 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1342 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_foreground */
+
+/* 1344 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1346 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1350 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1352 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1354 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1356 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1358 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 1360 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1362 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1364 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1366 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter foreground */
+
+/* 1368 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1370 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1372 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1374 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1376 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1378 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_currentValue */
+
+/* 1380 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1382 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1386 */ NdrFcShort( 0x3 ), /* 3 */
+/* 1388 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1390 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1392 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1394 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1396 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1398 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1400 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1402 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter currentValue */
+
+/* 1404 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
+/* 1406 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1408 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */
+
+ /* Return value */
+
+/* 1410 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1412 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1414 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure setCurrentValue */
+
+/* 1416 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1418 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1422 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1424 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 1426 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1428 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1430 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1432 */ 0x8, /* 8 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 1434 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1436 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1438 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter value */
+
+/* 1440 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 1442 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1444 */ NdrFcShort( 0x51a ), /* Type Offset=1306 */
+
+ /* Return value */
+
+/* 1446 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1448 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 1450 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_maximumValue */
+
+/* 1452 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1454 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1458 */ NdrFcShort( 0x5 ), /* 5 */
+/* 1460 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1462 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1464 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1466 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1468 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1470 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1472 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1474 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maximumValue */
+
+/* 1476 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
+/* 1478 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1480 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */
+
+ /* Return value */
+
+/* 1482 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1484 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1486 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_minimumValue */
+
+/* 1488 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1490 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1494 */ NdrFcShort( 0x6 ), /* 6 */
+/* 1496 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1498 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1500 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1502 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 1504 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1506 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1508 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1510 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter minimumValue */
+
+/* 1512 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
+/* 1514 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1516 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */
+
+ /* Return value */
+
+/* 1518 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1520 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1522 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure copyText */
+
+
+ /* Procedure addSelection */
+
+/* 1524 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1526 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1530 */ NdrFcShort( 0x3 ), /* 3 */
+/* 1532 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1534 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1536 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1538 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 1540 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1542 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1544 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1546 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+
+ /* Parameter startOffset */
+
+/* 1548 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1550 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1552 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+
+ /* Parameter endOffset */
+
+/* 1554 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1556 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1558 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 1560 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1562 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1564 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_attributes */
+
+/* 1566 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1568 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1572 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1574 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 1576 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1578 */ NdrFcShort( 0x40 ), /* 64 */
+/* 1580 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x5, /* 5 */
+/* 1582 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1584 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1586 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1588 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 1590 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1592 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1594 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 1596 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1598 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1600 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 1602 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1604 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1606 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter textAttributes */
+
+/* 1608 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 1610 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1612 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 1614 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1616 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 1618 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_characterExtents */
+
+/* 1620 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1622 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1626 */ NdrFcShort( 0x6 ), /* 6 */
+/* 1628 */ NdrFcShort( 0x20 ), /* x86 Stack size/offset = 32 */
+/* 1630 */ NdrFcShort( 0xe ), /* 14 */
+/* 1632 */ NdrFcShort( 0x78 ), /* 120 */
+/* 1634 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x7, /* 7 */
+/* 1636 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1638 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1640 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1642 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 1644 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1646 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1648 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter coordType */
+
+/* 1650 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1652 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1654 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter x */
+
+/* 1656 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1658 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1660 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 1662 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1664 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1666 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter width */
+
+/* 1668 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1670 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 1672 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter height */
+
+/* 1674 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1676 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 1678 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1680 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1682 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
+/* 1684 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nRows */
+
+
+ /* Procedure get_nSelections */
+
+/* 1686 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1688 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1692 */ NdrFcShort( 0x7 ), /* 7 */
+/* 1694 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1696 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1698 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1700 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 1702 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1704 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1706 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1708 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowCount */
+
+
+ /* Parameter nSelections */
+
+/* 1710 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1712 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1714 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 1716 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1718 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1720 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_offsetAtPoint */
+
+/* 1722 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1724 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1728 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1730 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 1732 */ NdrFcShort( 0x16 ), /* 22 */
+/* 1734 */ NdrFcShort( 0x24 ), /* 36 */
+/* 1736 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x5, /* 5 */
+/* 1738 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1740 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1742 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1744 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter x */
+
+/* 1746 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1748 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1750 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 1752 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1754 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1756 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter coordType */
+
+/* 1758 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1760 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1762 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter offset */
+
+/* 1764 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1766 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1768 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1770 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1772 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 1774 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selection */
+
+/* 1776 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1778 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1782 */ NdrFcShort( 0x9 ), /* 9 */
+/* 1784 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 1786 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1788 */ NdrFcShort( 0x40 ), /* 64 */
+/* 1790 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 1792 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 1794 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1796 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1798 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter selectionIndex */
+
+/* 1800 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1802 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1804 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 1806 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1808 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1810 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 1812 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1814 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1816 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 1818 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1820 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1822 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_text */
+
+/* 1824 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1826 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1830 */ NdrFcShort( 0xa ), /* 10 */
+/* 1832 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 1834 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1836 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1838 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 1840 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1842 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1844 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1846 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+/* 1848 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1850 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1852 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 1854 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1856 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1858 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 1860 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 1862 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1864 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 1866 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1868 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1870 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_textBeforeOffset */
+
+/* 1872 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1874 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1878 */ NdrFcShort( 0xb ), /* 11 */
+/* 1880 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
+/* 1882 */ NdrFcShort( 0xe ), /* 14 */
+/* 1884 */ NdrFcShort( 0x40 ), /* 64 */
+/* 1886 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x6, /* 6 */
+/* 1888 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1890 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1892 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1894 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 1896 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1898 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1900 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter boundaryType */
+
+/* 1902 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1904 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1906 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 1908 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1910 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1912 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 1914 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1916 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1918 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 1920 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 1922 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 1924 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 1926 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1928 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 1930 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_textAfterOffset */
+
+/* 1932 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1934 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1938 */ NdrFcShort( 0xc ), /* 12 */
+/* 1940 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
+/* 1942 */ NdrFcShort( 0xe ), /* 14 */
+/* 1944 */ NdrFcShort( 0x40 ), /* 64 */
+/* 1946 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x6, /* 6 */
+/* 1948 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 1950 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1952 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1954 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 1956 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1958 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1960 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter boundaryType */
+
+/* 1962 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 1964 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1966 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 1968 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1970 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1972 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 1974 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 1976 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1978 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 1980 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 1982 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 1984 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 1986 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 1988 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 1990 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_textAtOffset */
+
+/* 1992 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 1994 */ NdrFcLong( 0x0 ), /* 0 */
+/* 1998 */ NdrFcShort( 0xd ), /* 13 */
+/* 2000 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
+/* 2002 */ NdrFcShort( 0xe ), /* 14 */
+/* 2004 */ NdrFcShort( 0x40 ), /* 64 */
+/* 2006 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x6, /* 6 */
+/* 2008 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 2010 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2012 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2014 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 2016 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2018 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2020 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter boundaryType */
+
+/* 2022 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2024 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2026 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2028 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2030 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2032 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2034 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2036 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2038 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 2040 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 2042 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 2044 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 2046 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2048 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 2050 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure removeSelection */
+
+/* 2052 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2054 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2058 */ NdrFcShort( 0xe ), /* 14 */
+/* 2060 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2062 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2064 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2066 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2068 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2070 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2072 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2074 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter selectionIndex */
+
+/* 2076 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2078 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2080 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2082 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2084 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2086 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure setCaretOffset */
+
+/* 2088 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2090 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2094 */ NdrFcShort( 0xf ), /* 15 */
+/* 2096 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2098 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2100 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2102 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2104 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2106 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2108 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2110 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 2112 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2114 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2116 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2118 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2120 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2122 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure setSelection */
+
+/* 2124 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2126 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2130 */ NdrFcShort( 0x10 ), /* 16 */
+/* 2132 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 2134 */ NdrFcShort( 0x18 ), /* 24 */
+/* 2136 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2138 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 2140 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2142 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2144 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2146 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter selectionIndex */
+
+/* 2148 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2150 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2152 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2154 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2156 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2158 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2160 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2162 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2164 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2166 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2168 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2170 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nCharacters */
+
+/* 2172 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2174 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2178 */ NdrFcShort( 0x11 ), /* 17 */
+/* 2180 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2182 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2184 */ NdrFcShort( 0x24 ), /* 36 */
+/* 2186 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2188 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2190 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2192 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2194 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter nCharacters */
+
+/* 2196 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2198 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2200 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2202 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2204 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2206 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure scrollSubstringTo */
+
+/* 2208 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2210 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2214 */ NdrFcShort( 0x12 ), /* 18 */
+/* 2216 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 2218 */ NdrFcShort( 0x16 ), /* 22 */
+/* 2220 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2222 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 2224 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2226 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2228 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2230 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startIndex */
+
+/* 2232 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2234 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2236 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endIndex */
+
+/* 2238 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2240 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2242 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter scrollType */
+
+/* 2244 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2246 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2248 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2250 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2252 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2254 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure scrollSubstringToPoint */
+
+/* 2256 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2258 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2262 */ NdrFcShort( 0x13 ), /* 19 */
+/* 2264 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
+/* 2266 */ NdrFcShort( 0x26 ), /* 38 */
+/* 2268 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2270 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x6, /* 6 */
+/* 2272 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2274 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2276 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2278 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startIndex */
+
+/* 2280 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2282 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2284 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endIndex */
+
+/* 2286 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2288 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2290 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter coordinateType */
+
+/* 2292 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2294 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2296 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter x */
+
+/* 2298 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2300 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2302 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 2304 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2306 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 2308 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2310 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2312 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 2314 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_newText */
+
+/* 2316 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2318 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2322 */ NdrFcShort( 0x14 ), /* 20 */
+/* 2324 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2326 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2328 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2330 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 2332 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 2334 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2336 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2338 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter newText */
+
+/* 2340 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
+/* 2342 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2344 */ NdrFcShort( 0x528 ), /* Type Offset=1320 */
+
+ /* Return value */
+
+/* 2346 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2348 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2350 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_oldText */
+
+/* 2352 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2354 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2358 */ NdrFcShort( 0x15 ), /* 21 */
+/* 2360 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2362 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2364 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2366 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 2368 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 2370 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2372 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2374 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter oldText */
+
+/* 2376 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
+/* 2378 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2380 */ NdrFcShort( 0x528 ), /* Type Offset=1320 */
+
+ /* Return value */
+
+/* 2382 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2384 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2386 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_attributeRange */
+
+/* 2388 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2390 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2394 */ NdrFcShort( 0x16 ), /* 22 */
+/* 2396 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
+/* 2398 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2400 */ NdrFcShort( 0x40 ), /* 64 */
+/* 2402 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */
+ 0x6, /* 6 */
+/* 2404 */ 0x8, /* 8 */
+ 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */
+/* 2406 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2408 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2410 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 2412 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2414 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2416 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter filter */
+
+/* 2418 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */
+/* 2420 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2422 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Parameter startOffset */
+
+/* 2424 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2426 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2428 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2430 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2432 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2434 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter attributeValues */
+
+/* 2436 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 2438 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 2440 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 2442 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2444 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 2446 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure deleteText */
+
+/* 2448 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2450 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2454 */ NdrFcShort( 0x4 ), /* 4 */
+/* 2456 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2458 */ NdrFcShort( 0x10 ), /* 16 */
+/* 2460 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2462 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 2464 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2466 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2468 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2470 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2472 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2474 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2476 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2478 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2480 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2482 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2484 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2486 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2488 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure insertText */
+
+/* 2490 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2492 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2496 */ NdrFcShort( 0x5 ), /* 5 */
+/* 2498 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2500 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2502 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2504 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 2506 */ 0x8, /* 8 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 2508 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2510 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2512 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 2514 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2516 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2518 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 2520 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
+/* 2522 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2524 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Return value */
+
+/* 2526 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2528 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2530 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure cutText */
+
+/* 2532 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2534 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2538 */ NdrFcShort( 0x6 ), /* 6 */
+/* 2540 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2542 */ NdrFcShort( 0x10 ), /* 16 */
+/* 2544 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2546 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 2548 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2550 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2552 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2554 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2556 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2558 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2560 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2562 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2564 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2566 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2568 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2570 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2572 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure pasteText */
+
+/* 2574 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2576 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2580 */ NdrFcShort( 0x7 ), /* 7 */
+/* 2582 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2584 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2586 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2588 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2590 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2592 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2594 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2596 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter offset */
+
+/* 2598 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2600 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2602 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2604 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2606 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2608 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure replaceText */
+
+/* 2610 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2612 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2616 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2618 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 2620 */ NdrFcShort( 0x10 ), /* 16 */
+/* 2622 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2624 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 2626 */ 0x8, /* 8 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 2628 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2630 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2632 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2634 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2636 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2638 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2640 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2642 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2644 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter text */
+
+/* 2646 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
+/* 2648 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2650 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Return value */
+
+/* 2652 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2654 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2656 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure setAttributes */
+
+/* 2658 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2660 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2664 */ NdrFcShort( 0x9 ), /* 9 */
+/* 2666 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 2668 */ NdrFcShort( 0x10 ), /* 16 */
+/* 2670 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2672 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 2674 */ 0x8, /* 8 */
+ 0x5, /* Ext Flags: new corr desc, srv corr check, */
+/* 2676 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2678 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2680 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter startOffset */
+
+/* 2682 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2684 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2686 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter endOffset */
+
+/* 2688 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2690 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2692 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter attributes */
+
+/* 2694 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */
+/* 2696 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2698 */ NdrFcShort( 0x10e ), /* Type Offset=270 */
+
+ /* Return value */
+
+/* 2700 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2702 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2704 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_anchor */
+
+/* 2706 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2708 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2712 */ NdrFcShort( 0x9 ), /* 9 */
+/* 2714 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2716 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2718 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2720 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 2722 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 2724 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2726 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2728 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter index */
+
+/* 2730 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2732 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2734 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter anchor */
+
+/* 2736 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
+/* 2738 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2740 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */
+
+ /* Return value */
+
+/* 2742 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2744 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2746 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_anchorTarget */
+
+/* 2748 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2750 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2754 */ NdrFcShort( 0xa ), /* 10 */
+/* 2756 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2758 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2760 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2762 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 2764 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 2766 */ NdrFcShort( 0x1 ), /* 1 */
+/* 2768 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2770 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter index */
+
+/* 2772 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2774 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2776 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter anchorTarget */
+
+/* 2778 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */
+/* 2780 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2782 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */
+
+ /* Return value */
+
+/* 2784 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2786 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2788 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nRows */
+
+
+ /* Procedure get_startIndex */
+
+/* 2790 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2792 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2796 */ NdrFcShort( 0xb ), /* 11 */
+/* 2798 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2800 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2802 */ NdrFcShort( 0x24 ), /* 36 */
+/* 2804 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2806 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2808 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2810 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2812 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowCount */
+
+
+ /* Parameter index */
+
+/* 2814 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2816 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2818 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 2820 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2822 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2824 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nSelectedChildren */
+
+
+ /* Procedure get_endIndex */
+
+/* 2826 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2828 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2832 */ NdrFcShort( 0xc ), /* 12 */
+/* 2834 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2836 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2838 */ NdrFcShort( 0x24 ), /* 36 */
+/* 2840 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2842 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2844 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2846 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2848 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cellCount */
+
+
+ /* Parameter index */
+
+/* 2850 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2852 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2854 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 2856 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2858 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2860 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_valid */
+
+/* 2862 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2864 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2868 */ NdrFcShort( 0xd ), /* 13 */
+/* 2870 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2872 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2874 */ NdrFcShort( 0x21 ), /* 33 */
+/* 2876 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2878 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2880 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2882 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2884 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter valid */
+
+/* 2886 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2888 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2890 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2892 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2894 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2896 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nHyperlinks */
+
+/* 2898 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2900 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2904 */ NdrFcShort( 0x16 ), /* 22 */
+/* 2906 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2908 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2910 */ NdrFcShort( 0x24 ), /* 36 */
+/* 2912 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 2914 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2916 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2918 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2920 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter hyperlinkCount */
+
+/* 2922 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 2924 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2926 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 2928 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2930 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2932 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_hyperlink */
+
+/* 2934 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2936 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2940 */ NdrFcShort( 0x17 ), /* 23 */
+/* 2942 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2944 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2946 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2948 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 2950 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2952 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2954 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2956 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter index */
+
+/* 2958 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 2960 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 2962 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter hyperlink */
+
+/* 2964 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 2966 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 2968 */ NdrFcShort( 0x540 ), /* Type Offset=1344 */
+
+ /* Return value */
+
+/* 2970 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 2972 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 2974 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_hyperlinkIndex */
+
+/* 2976 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 2978 */ NdrFcLong( 0x0 ), /* 0 */
+/* 2982 */ NdrFcShort( 0x18 ), /* 24 */
+/* 2984 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 2986 */ NdrFcShort( 0x8 ), /* 8 */
+/* 2988 */ NdrFcShort( 0x24 ), /* 36 */
+/* 2990 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 2992 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 2994 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2996 */ NdrFcShort( 0x0 ), /* 0 */
+/* 2998 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter charIndex */
+
+/* 3000 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3002 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3004 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter hyperlinkIndex */
+
+/* 3006 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3008 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3010 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3012 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3014 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3016 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_hyperlinks */
+
+/* 3018 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3020 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3024 */ NdrFcShort( 0x19 ), /* 25 */
+/* 3026 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3028 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3030 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3032 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 3034 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3036 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3038 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3040 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter hyperlinks */
+
+/* 3042 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 3044 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3046 */ NdrFcShort( 0x556 ), /* Type Offset=1366 */
+
+ /* Parameter nHyperlinks */
+
+/* 3048 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3050 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3052 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3054 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3056 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3058 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_cellAt */
+
+
+ /* Procedure get_accessibleAt */
+
+/* 3060 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3062 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3066 */ NdrFcShort( 0x3 ), /* 3 */
+/* 3068 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 3070 */ NdrFcShort( 0x10 ), /* 16 */
+/* 3072 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3074 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 3076 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3078 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3080 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3082 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+
+ /* Parameter row */
+
+/* 3084 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3086 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3088 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+
+ /* Parameter column */
+
+/* 3090 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3092 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3094 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter cell */
+
+
+ /* Parameter accessible */
+
+/* 3096 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 3098 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3100 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 3102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3104 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3106 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_caption */
+
+
+ /* Procedure get_caption */
+
+/* 3108 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3110 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3114 */ NdrFcShort( 0x4 ), /* 4 */
+/* 3116 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3118 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3120 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3122 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 3124 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3126 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3128 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3130 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessible */
+
+
+ /* Parameter accessible */
+
+/* 3132 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 3134 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3136 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 3138 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3140 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3142 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_childIndex */
+
+/* 3144 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3146 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3150 */ NdrFcShort( 0x5 ), /* 5 */
+/* 3152 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 3154 */ NdrFcShort( 0x10 ), /* 16 */
+/* 3156 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3158 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 3160 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3162 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3164 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3166 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowIndex */
+
+/* 3168 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3170 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3172 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter columnIndex */
+
+/* 3174 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3176 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3178 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter cellIndex */
+
+/* 3180 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3182 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3184 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3186 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3188 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3190 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnDescription */
+
+/* 3192 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3194 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3198 */ NdrFcShort( 0x6 ), /* 6 */
+/* 3200 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3202 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3204 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3206 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 3208 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3210 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3212 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3214 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 3216 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3218 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3220 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter description */
+
+/* 3222 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 3224 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3226 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 3228 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3230 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3232 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnExtentAt */
+
+/* 3234 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3236 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3240 */ NdrFcShort( 0x7 ), /* 7 */
+/* 3242 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 3244 */ NdrFcShort( 0x10 ), /* 16 */
+/* 3246 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3248 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 3250 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3252 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3254 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3256 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 3258 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3260 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3262 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+/* 3264 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3266 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3268 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter nColumnsSpanned */
+
+/* 3270 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3272 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3274 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3276 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3278 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3280 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnHeader */
+
+/* 3282 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3284 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3288 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3290 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3292 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3294 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3296 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 3298 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3300 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3302 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3304 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessibleTable */
+
+/* 3306 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 3308 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3310 */ NdrFcShort( 0x574 ), /* Type Offset=1396 */
+
+ /* Parameter startingRowIndex */
+
+/* 3312 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3314 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3316 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3318 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3320 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3322 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnIndex */
+
+/* 3324 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3326 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3330 */ NdrFcShort( 0x9 ), /* 9 */
+/* 3332 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3334 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3336 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3338 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 3340 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3342 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3344 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3346 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cellIndex */
+
+/* 3348 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3350 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3352 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter columnIndex */
+
+/* 3354 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3356 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3358 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3362 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3364 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nSelectedRows */
+
+
+ /* Procedure get_nColumns */
+
+/* 3366 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3368 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3372 */ NdrFcShort( 0xa ), /* 10 */
+/* 3374 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3376 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3378 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3380 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 3382 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3384 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3386 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3388 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowCount */
+
+
+ /* Parameter columnCount */
+
+/* 3390 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3392 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3394 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 3396 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3398 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3400 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nSelectedColumns */
+
+/* 3402 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3404 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3408 */ NdrFcShort( 0xd ), /* 13 */
+/* 3410 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3412 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3414 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3416 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 3418 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3420 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3422 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3424 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter columnCount */
+
+/* 3426 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3428 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3430 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3432 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3434 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3436 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nSelectedRows */
+
+/* 3438 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3440 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3444 */ NdrFcShort( 0xe ), /* 14 */
+/* 3446 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3448 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3450 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3452 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 3454 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3456 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3458 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3460 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowCount */
+
+/* 3462 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3464 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3466 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3468 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3470 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3472 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowDescription */
+
+/* 3474 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3476 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3480 */ NdrFcShort( 0xf ), /* 15 */
+/* 3482 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3484 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3486 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3488 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 3490 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3492 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3494 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3496 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 3498 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3500 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3502 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter description */
+
+/* 3504 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 3506 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3508 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 3510 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3512 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3514 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowExtentAt */
+
+/* 3516 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3518 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3522 */ NdrFcShort( 0x10 ), /* 16 */
+/* 3524 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 3526 */ NdrFcShort( 0x10 ), /* 16 */
+/* 3528 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3530 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 3532 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3534 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3536 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3538 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 3540 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3542 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3544 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+/* 3546 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3548 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3550 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter nRowsSpanned */
+
+/* 3552 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3554 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3556 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3558 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3560 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3562 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowHeader */
+
+/* 3564 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3566 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3570 */ NdrFcShort( 0x11 ), /* 17 */
+/* 3572 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3574 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3576 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3578 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 3580 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3582 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3584 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3586 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessibleTable */
+
+/* 3588 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 3590 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3592 */ NdrFcShort( 0x574 ), /* Type Offset=1396 */
+
+ /* Parameter startingColumnIndex */
+
+/* 3594 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3596 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3598 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3600 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3602 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3604 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowIndex */
+
+/* 3606 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3608 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3612 */ NdrFcShort( 0x12 ), /* 18 */
+/* 3614 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3616 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3618 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3620 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 3622 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3624 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3626 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3628 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cellIndex */
+
+/* 3630 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3632 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3634 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter rowIndex */
+
+/* 3636 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3638 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3640 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3642 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3644 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3646 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedChildren */
+
+/* 3648 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3650 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3654 */ NdrFcShort( 0x13 ), /* 19 */
+/* 3656 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 3658 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3660 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3662 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 3664 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3666 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3668 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3670 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxChildren */
+
+/* 3672 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3674 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3676 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter children */
+
+/* 3678 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 3680 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3682 */ NdrFcShort( 0x58a ), /* Type Offset=1418 */
+
+ /* Parameter nChildren */
+
+/* 3684 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3686 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3688 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3690 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3692 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3694 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedColumns */
+
+/* 3696 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3698 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3702 */ NdrFcShort( 0x14 ), /* 20 */
+/* 3704 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 3706 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3708 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3710 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 3712 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3714 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3716 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3718 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxColumns */
+
+/* 3720 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3722 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3724 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter columns */
+
+/* 3726 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 3728 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3730 */ NdrFcShort( 0x58a ), /* Type Offset=1418 */
+
+ /* Parameter nColumns */
+
+/* 3732 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3734 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3736 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3738 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3740 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3742 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedRows */
+
+/* 3744 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3746 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3750 */ NdrFcShort( 0x15 ), /* 21 */
+/* 3752 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 3754 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3756 */ NdrFcShort( 0x24 ), /* 36 */
+/* 3758 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x4, /* 4 */
+/* 3760 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 3762 */ NdrFcShort( 0x1 ), /* 1 */
+/* 3764 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3766 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter maxRows */
+
+/* 3768 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3770 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3772 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter rows */
+
+/* 3774 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 3776 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3778 */ NdrFcShort( 0x58a ), /* Type Offset=1418 */
+
+ /* Parameter nRows */
+
+/* 3780 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3782 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3784 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3786 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3788 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3790 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_summary */
+
+/* 3792 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3794 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3798 */ NdrFcShort( 0x16 ), /* 22 */
+/* 3800 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3802 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3804 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3806 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 3808 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3810 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3812 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3814 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessible */
+
+/* 3816 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 3818 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3820 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+/* 3822 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3824 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3826 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isColumnSelected */
+
+/* 3828 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3830 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3834 */ NdrFcShort( 0x17 ), /* 23 */
+/* 3836 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3838 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3840 */ NdrFcShort( 0x21 ), /* 33 */
+/* 3842 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 3844 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3846 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3848 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3850 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 3852 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3854 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3856 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 3858 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3860 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3862 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3864 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3866 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3868 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isRowSelected */
+
+/* 3870 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3872 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3876 */ NdrFcShort( 0x18 ), /* 24 */
+/* 3878 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3880 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3882 */ NdrFcShort( 0x21 ), /* 33 */
+/* 3884 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 3886 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3888 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3890 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3892 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 3894 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3896 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3898 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 3900 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3902 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3904 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3906 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3908 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3910 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isSelected */
+
+/* 3912 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3914 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3918 */ NdrFcShort( 0x19 ), /* 25 */
+/* 3920 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 3922 */ NdrFcShort( 0x10 ), /* 16 */
+/* 3924 */ NdrFcShort( 0x21 ), /* 33 */
+/* 3926 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 3928 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3930 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3932 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3934 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 3936 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3938 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3940 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+/* 3942 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3944 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3946 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 3948 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 3950 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3952 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3954 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3956 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 3958 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure selectRow */
+
+/* 3960 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3962 */ NdrFcLong( 0x0 ), /* 0 */
+/* 3966 */ NdrFcShort( 0x1a ), /* 26 */
+/* 3968 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 3970 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3972 */ NdrFcShort( 0x8 ), /* 8 */
+/* 3974 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 3976 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 3978 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3980 */ NdrFcShort( 0x0 ), /* 0 */
+/* 3982 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 3984 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 3986 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 3988 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 3990 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 3992 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 3994 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure selectColumn */
+
+/* 3996 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 3998 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4002 */ NdrFcShort( 0x1b ), /* 27 */
+/* 4004 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4006 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4008 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4010 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4012 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4014 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4016 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4018 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 4020 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4022 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4024 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4026 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4028 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4030 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure unselectRow */
+
+/* 4032 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4034 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4038 */ NdrFcShort( 0x1c ), /* 28 */
+/* 4040 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4042 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4044 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4046 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4048 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4050 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4052 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4054 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4056 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4058 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4060 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4062 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4064 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4066 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure unselectColumn */
+
+/* 4068 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4070 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4074 */ NdrFcShort( 0x1d ), /* 29 */
+/* 4076 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4078 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4080 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4082 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4084 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4086 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4088 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4090 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 4092 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4094 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4096 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4098 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4100 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4102 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowColumnExtentsAtIndex */
+
+/* 4104 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4106 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4110 */ NdrFcShort( 0x1e ), /* 30 */
+/* 4112 */ NdrFcShort( 0x20 ), /* x86 Stack size/offset = 32 */
+/* 4114 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4116 */ NdrFcShort( 0x91 ), /* 145 */
+/* 4118 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x7, /* 7 */
+/* 4120 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4122 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4124 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4126 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter index */
+
+/* 4128 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4130 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4132 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter row */
+
+/* 4134 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4136 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4138 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+/* 4140 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4142 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4144 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter rowExtents */
+
+/* 4146 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4148 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 4150 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter columnExtents */
+
+/* 4152 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4154 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 4156 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 4158 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4160 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 4162 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4164 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4166 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
+/* 4168 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_modelChange */
+
+/* 4170 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4172 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4176 */ NdrFcShort( 0x1f ), /* 31 */
+/* 4178 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4180 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4182 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4184 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 4186 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4188 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4190 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4192 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter modelChange */
+
+/* 4194 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
+/* 4196 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4198 */ NdrFcShort( 0x5a8 ), /* Type Offset=1448 */
+
+ /* Return value */
+
+/* 4200 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4202 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4204 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowExtent */
+
+
+ /* Procedure get_nColumns */
+
+/* 4206 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4208 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4212 */ NdrFcShort( 0x6 ), /* 6 */
+/* 4214 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4216 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4218 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4220 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4222 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4224 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4226 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4228 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter nRowsSpanned */
+
+
+ /* Parameter columnCount */
+
+/* 4230 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4232 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4234 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 4236 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4238 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4240 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowIndex */
+
+
+ /* Procedure get_nSelectedCells */
+
+/* 4242 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4244 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4248 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4250 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4252 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4254 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4256 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4258 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4260 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4262 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4264 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter rowIndex */
+
+
+ /* Parameter cellCount */
+
+/* 4266 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4268 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4270 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+
+ /* Return value */
+
+/* 4272 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4274 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4276 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_nSelectedColumns */
+
+/* 4278 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4280 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4284 */ NdrFcShort( 0x9 ), /* 9 */
+/* 4286 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4288 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4290 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4292 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4294 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4296 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4298 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4300 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter columnCount */
+
+/* 4302 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4304 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4306 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4308 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4310 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4312 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowDescription */
+
+/* 4314 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4316 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4320 */ NdrFcShort( 0xb ), /* 11 */
+/* 4322 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 4324 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4326 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4328 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 4330 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 4332 */ NdrFcShort( 0x1 ), /* 1 */
+/* 4334 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4336 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4338 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4340 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4342 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter description */
+
+/* 4344 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 4346 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4348 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 4350 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4352 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4354 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedCells */
+
+/* 4356 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4358 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4362 */ NdrFcShort( 0xc ), /* 12 */
+/* 4364 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 4366 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4368 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4370 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 4372 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 4374 */ NdrFcShort( 0x1 ), /* 1 */
+/* 4376 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4378 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cells */
+
+/* 4380 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 4382 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4384 */ NdrFcShort( 0x5b6 ), /* Type Offset=1462 */
+
+ /* Parameter nSelectedCells */
+
+/* 4386 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4388 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4390 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4392 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4394 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4396 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedColumns */
+
+/* 4398 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4400 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4404 */ NdrFcShort( 0xd ), /* 13 */
+/* 4406 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 4408 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4410 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4412 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 4414 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 4416 */ NdrFcShort( 0x1 ), /* 1 */
+/* 4418 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4420 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter selectedColumns */
+
+/* 4422 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 4424 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4426 */ NdrFcShort( 0x5d4 ), /* Type Offset=1492 */
+
+ /* Parameter nColumns */
+
+/* 4428 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4430 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4432 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4434 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4436 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4438 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_selectedRows */
+
+/* 4440 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4442 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4446 */ NdrFcShort( 0xe ), /* 14 */
+/* 4448 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 4450 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4452 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4454 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 4456 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 4458 */ NdrFcShort( 0x1 ), /* 1 */
+/* 4460 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4462 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter selectedRows */
+
+/* 4464 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 4466 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4468 */ NdrFcShort( 0x5d4 ), /* Type Offset=1492 */
+
+ /* Parameter nRows */
+
+/* 4470 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4472 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4474 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4476 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4478 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4480 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_summary */
+
+/* 4482 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4484 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4488 */ NdrFcShort( 0xf ), /* 15 */
+/* 4490 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4492 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4494 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4496 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 4498 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4500 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4502 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4504 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessible */
+
+/* 4506 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 4508 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4510 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+/* 4512 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4514 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4516 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isColumnSelected */
+
+/* 4518 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4520 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4524 */ NdrFcShort( 0x10 ), /* 16 */
+/* 4526 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 4528 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4530 */ NdrFcShort( 0x21 ), /* 33 */
+/* 4532 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 4534 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4536 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4538 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4540 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 4542 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4544 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4546 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 4548 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4550 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4552 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4554 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4556 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4558 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isRowSelected */
+
+/* 4560 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4562 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4566 */ NdrFcShort( 0x11 ), /* 17 */
+/* 4568 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 4570 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4572 */ NdrFcShort( 0x21 ), /* 33 */
+/* 4574 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 4576 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4578 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4580 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4582 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4584 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4586 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4588 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 4590 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4592 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4594 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4596 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4598 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4600 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure selectRow */
+
+/* 4602 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4604 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4608 */ NdrFcShort( 0x12 ), /* 18 */
+/* 4610 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4612 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4614 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4616 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4618 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4620 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4622 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4624 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4626 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4628 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4630 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4632 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4634 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4636 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure selectColumn */
+
+/* 4638 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4640 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4644 */ NdrFcShort( 0x13 ), /* 19 */
+/* 4646 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4648 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4650 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4652 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4654 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4656 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4658 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4660 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 4662 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4664 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4666 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4668 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4670 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4672 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure unselectRow */
+
+/* 4674 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4676 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4680 */ NdrFcShort( 0x14 ), /* 20 */
+/* 4682 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4684 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4686 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4688 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4690 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4692 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4694 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4696 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4698 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4700 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4702 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4704 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4706 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4708 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure unselectColumn */
+
+/* 4710 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4712 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4716 */ NdrFcShort( 0x15 ), /* 21 */
+/* 4718 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4720 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4722 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4724 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4726 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4728 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4730 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4732 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter column */
+
+/* 4734 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 4736 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4738 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4740 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4742 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4744 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_modelChange */
+
+/* 4746 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4748 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4752 */ NdrFcShort( 0x16 ), /* 22 */
+/* 4754 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4756 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4758 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4760 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 4762 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4764 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4766 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4768 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter modelChange */
+
+/* 4770 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */
+/* 4772 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4774 */ NdrFcShort( 0x5a8 ), /* Type Offset=1448 */
+
+ /* Return value */
+
+/* 4776 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4778 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4780 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_columnHeaderCells */
+
+/* 4782 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4784 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4788 */ NdrFcShort( 0x4 ), /* 4 */
+/* 4790 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 4792 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4794 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4796 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 4798 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 4800 */ NdrFcShort( 0x1 ), /* 1 */
+/* 4802 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4804 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cellAccessibles */
+
+/* 4806 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 4808 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4810 */ NdrFcShort( 0x5b6 ), /* Type Offset=1462 */
+
+ /* Parameter nColumnHeaderCells */
+
+/* 4812 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4814 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4816 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4818 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4820 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4822 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowHeaderCells */
+
+/* 4824 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4826 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4830 */ NdrFcShort( 0x7 ), /* 7 */
+/* 4832 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 4834 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4836 */ NdrFcShort( 0x24 ), /* 36 */
+/* 4838 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x3, /* 3 */
+/* 4840 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 4842 */ NdrFcShort( 0x1 ), /* 1 */
+/* 4844 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4846 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter cellAccessibles */
+
+/* 4848 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */
+/* 4850 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4852 */ NdrFcShort( 0x5b6 ), /* Type Offset=1462 */
+
+ /* Parameter nRowHeaderCells */
+
+/* 4854 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4856 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4858 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4860 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4862 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4864 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_isSelected */
+
+/* 4866 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4868 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4872 */ NdrFcShort( 0x9 ), /* 9 */
+/* 4874 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4876 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4878 */ NdrFcShort( 0x21 ), /* 33 */
+/* 4880 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x2, /* 2 */
+/* 4882 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4884 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4886 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4888 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter isSelected */
+
+/* 4890 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4892 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4894 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4896 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4898 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4900 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_rowColumnExtents */
+
+/* 4902 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4904 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4908 */ NdrFcShort( 0xa ), /* 10 */
+/* 4910 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */
+/* 4912 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4914 */ NdrFcShort( 0x91 ), /* 145 */
+/* 4916 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x6, /* 6 */
+/* 4918 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4920 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4922 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4924 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter row */
+
+/* 4926 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4928 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4930 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter column */
+
+/* 4932 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4934 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4936 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter rowExtents */
+
+/* 4938 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4940 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4942 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter columnExtents */
+
+/* 4944 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4946 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 4948 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter isSelected */
+
+/* 4950 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 4952 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 4954 */ 0x3, /* FC_SMALL */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 4956 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4958 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */
+/* 4960 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_table */
+
+/* 4962 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 4964 */ NdrFcLong( 0x0 ), /* 0 */
+/* 4968 */ NdrFcShort( 0xb ), /* 11 */
+/* 4970 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 4972 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4974 */ NdrFcShort( 0x8 ), /* 8 */
+/* 4976 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 4978 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 4980 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4982 */ NdrFcShort( 0x0 ), /* 0 */
+/* 4984 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter table */
+
+/* 4986 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 4988 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 4990 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+/* 4992 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 4994 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 4996 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_imagePosition */
+
+/* 4998 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5000 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5004 */ NdrFcShort( 0x4 ), /* 4 */
+/* 5006 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */
+/* 5008 */ NdrFcShort( 0x6 ), /* 6 */
+/* 5010 */ NdrFcShort( 0x40 ), /* 64 */
+/* 5012 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x4, /* 4 */
+/* 5014 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 5016 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5018 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5020 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter coordinateType */
+
+/* 5022 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */
+/* 5024 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 5026 */ 0xd, /* FC_ENUM16 */
+ 0x0, /* 0 */
+
+ /* Parameter x */
+
+/* 5028 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5030 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 5032 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter y */
+
+/* 5034 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5036 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 5038 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 5040 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5042 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 5044 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_imageSize */
+
+/* 5046 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5048 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5052 */ NdrFcShort( 0x5 ), /* 5 */
+/* 5054 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 5056 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5058 */ NdrFcShort( 0x40 ), /* 64 */
+/* 5060 */ 0x44, /* Oi2 Flags: has return, has ext, */
+ 0x3, /* 3 */
+/* 5062 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 5064 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5066 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5068 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter height */
+
+/* 5070 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5072 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 5074 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Parameter width */
+
+/* 5076 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */
+/* 5078 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 5080 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Return value */
+
+/* 5082 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5084 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 5086 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_toolkitName */
+
+/* 5088 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5090 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5094 */ NdrFcShort( 0x5 ), /* 5 */
+/* 5096 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 5098 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5100 */ NdrFcShort( 0x8 ), /* 8 */
+/* 5102 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 5104 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 5106 */ NdrFcShort( 0x1 ), /* 1 */
+/* 5108 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5110 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter name */
+
+/* 5112 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 5114 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 5116 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 5118 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5120 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 5122 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_toolkitVersion */
+
+/* 5124 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5126 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5130 */ NdrFcShort( 0x6 ), /* 6 */
+/* 5132 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 5134 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5136 */ NdrFcShort( 0x8 ), /* 8 */
+/* 5138 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 5140 */ 0x8, /* 8 */
+ 0x3, /* Ext Flags: new corr desc, clt corr check, */
+/* 5142 */ NdrFcShort( 0x1 ), /* 1 */
+/* 5144 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5146 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter version */
+
+/* 5148 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */
+/* 5150 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 5152 */ NdrFcShort( 0x20 ), /* Type Offset=32 */
+
+ /* Return value */
+
+/* 5154 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5156 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 5158 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ /* Procedure get_anchorTarget */
+
+/* 5160 */ 0x33, /* FC_AUTO_HANDLE */
+ 0x6c, /* Old Flags: object, Oi2 */
+/* 5162 */ NdrFcLong( 0x0 ), /* 0 */
+/* 5166 */ NdrFcShort( 0x3 ), /* 3 */
+/* 5168 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 5170 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5172 */ NdrFcShort( 0x8 ), /* 8 */
+/* 5174 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */
+ 0x2, /* 2 */
+/* 5176 */ 0x8, /* 8 */
+ 0x1, /* Ext Flags: new corr desc, */
+/* 5178 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5180 */ NdrFcShort( 0x0 ), /* 0 */
+/* 5182 */ NdrFcShort( 0x0 ), /* 0 */
+
+ /* Parameter accessible */
+
+/* 5184 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */
+/* 5186 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 5188 */ NdrFcShort( 0x2e ), /* Type Offset=46 */
+
+ /* Return value */
+
+/* 5190 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */
+/* 5192 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 5194 */ 0x8, /* FC_LONG */
+ 0x0, /* 0 */
+
+ 0x0
+ }
+ };
+
+static const ia2_api_all_MIDL_TYPE_FORMAT_STRING ia2_api_all__MIDL_TypeFormatString =
+ {
+ 0,
+ {
+ NdrFcShort( 0x0 ), /* 0 */
+/* 2 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */
+/* 6 */
+ 0x13, 0x0, /* FC_OP */
+/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */
+/* 10 */
+ 0x1b, /* FC_CARRAY */
+ 0x1, /* 1 */
+/* 12 */ NdrFcShort( 0x2 ), /* 2 */
+/* 14 */ 0x9, /* Corr desc: FC_ULONG */
+ 0x0, /* */
+/* 16 */ NdrFcShort( 0xfffc ), /* -4 */
+/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 20 */ 0x6, /* FC_SHORT */
+ 0x5b, /* FC_END */
+/* 22 */
+ 0x17, /* FC_CSTRUCT */
+ 0x3, /* 3 */
+/* 24 */ NdrFcShort( 0x8 ), /* 8 */
+/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */
+/* 28 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 30 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 32 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 34 */ NdrFcShort( 0x0 ), /* 0 */
+/* 36 */ NdrFcShort( 0x4 ), /* 4 */
+/* 38 */ NdrFcShort( 0x0 ), /* 0 */
+/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */
+/* 42 */
+ 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
+/* 44 */ 0x8, /* FC_LONG */
+ 0x5c, /* FC_PAD */
+/* 46 */
+ 0x11, 0x10, /* FC_RP [pointer_deref] */
+/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */
+/* 50 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 52 */ NdrFcLong( 0x0 ), /* 0 */
+/* 56 */ NdrFcShort( 0x0 ), /* 0 */
+/* 58 */ NdrFcShort( 0x0 ), /* 0 */
+/* 60 */ 0xc0, /* 192 */
+ 0x0, /* 0 */
+/* 62 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 64 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 66 */ 0x0, /* 0 */
+ 0x46, /* 70 */
+/* 68 */
+ 0x11, 0x0, /* FC_RP */
+/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */
+/* 72 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 74 */ NdrFcShort( 0x0 ), /* 0 */
+/* 76 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x0, /* */
+/* 78 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 80 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 82 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 84 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 86 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 88 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 90 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (50) */
+/* 92 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 94 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */
+/* 98 */
+ 0x13, 0x0, /* FC_OP */
+/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */
+/* 102 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 104 */ NdrFcShort( 0x0 ), /* 0 */
+/* 106 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x0, /* */
+/* 108 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 110 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 112 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 114 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 116 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 118 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 120 */ NdrFcShort( 0xffa8 ), /* Offset= -88 (32) */
+/* 122 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 124 */
+ 0x11, 0x10, /* FC_RP [pointer_deref] */
+/* 126 */ NdrFcShort( 0x2 ), /* Offset= 2 (128) */
+/* 128 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 130 */ NdrFcLong( 0x7cdf86ee ), /* 2095023854 */
+/* 134 */ NdrFcShort( 0xc3da ), /* -15398 */
+/* 136 */ NdrFcShort( 0x496a ), /* 18794 */
+/* 138 */ 0xbd, /* 189 */
+ 0xa4, /* 164 */
+/* 140 */ 0x28, /* 40 */
+ 0x1b, /* 27 */
+/* 142 */ 0x33, /* 51 */
+ 0x6e, /* 110 */
+/* 144 */ 0x1f, /* 31 */
+ 0xdc, /* 220 */
+/* 146 */
+ 0x11, 0x0, /* FC_RP */
+/* 148 */ NdrFcShort( 0x2 ), /* Offset= 2 (150) */
+/* 150 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 152 */ NdrFcShort( 0x0 ), /* 0 */
+/* 154 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x0, /* */
+/* 156 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 158 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 160 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 162 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 164 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 166 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 168 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (128) */
+/* 170 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 172 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 174 */ NdrFcShort( 0x2 ), /* Offset= 2 (176) */
+/* 176 */
+ 0x13, 0x0, /* FC_OP */
+/* 178 */ NdrFcShort( 0x2 ), /* Offset= 2 (180) */
+/* 180 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 182 */ NdrFcShort( 0x0 ), /* 0 */
+/* 184 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x0, /* */
+/* 186 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 188 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 190 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 192 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 194 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 196 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 198 */ NdrFcShort( 0xff5a ), /* Offset= -166 (32) */
+/* 200 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 202 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 204 */ NdrFcShort( 0x1a ), /* Offset= 26 (230) */
+/* 206 */
+ 0x13, 0x0, /* FC_OP */
+/* 208 */ NdrFcShort( 0x2 ), /* Offset= 2 (210) */
+/* 210 */
+ 0x2a, /* FC_ENCAPSULATED_UNION */
+ 0x48, /* 72 */
+/* 212 */ NdrFcShort( 0x4 ), /* 4 */
+/* 214 */ NdrFcShort( 0x2 ), /* 2 */
+/* 216 */ NdrFcLong( 0x48746457 ), /* 1215587415 */
+/* 220 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 222 */ NdrFcLong( 0x52746457 ), /* 1383359575 */
+/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 228 */ NdrFcShort( 0xffff ), /* Offset= -1 (227) */
+/* 230 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 232 */ NdrFcShort( 0x1 ), /* 1 */
+/* 234 */ NdrFcShort( 0x4 ), /* 4 */
+/* 236 */ NdrFcShort( 0x0 ), /* 0 */
+/* 238 */ NdrFcShort( 0xffe0 ), /* Offset= -32 (206) */
+/* 240 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 242 */ NdrFcShort( 0x2 ), /* Offset= 2 (244) */
+/* 244 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 246 */ NdrFcShort( 0xc ), /* 12 */
+/* 248 */ NdrFcShort( 0x0 ), /* 0 */
+/* 250 */ NdrFcShort( 0x0 ), /* Offset= 0 (250) */
+/* 252 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 254 */ NdrFcShort( 0xff22 ), /* Offset= -222 (32) */
+/* 256 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 258 */ NdrFcShort( 0xff1e ), /* Offset= -226 (32) */
+/* 260 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 262 */ NdrFcShort( 0xff1a ), /* Offset= -230 (32) */
+/* 264 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 266 */
+ 0x12, 0x0, /* FC_UP */
+/* 268 */ NdrFcShort( 0xff0a ), /* Offset= -246 (22) */
+/* 270 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 272 */ NdrFcShort( 0x0 ), /* 0 */
+/* 274 */ NdrFcShort( 0x4 ), /* 4 */
+/* 276 */ NdrFcShort( 0x0 ), /* 0 */
+/* 278 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (266) */
+/* 280 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 282 */ NdrFcShort( 0x3d4 ), /* Offset= 980 (1262) */
+/* 284 */
+ 0x13, 0x0, /* FC_OP */
+/* 286 */ NdrFcShort( 0x3bc ), /* Offset= 956 (1242) */
+/* 288 */
+ 0x2b, /* FC_NON_ENCAPSULATED_UNION */
+ 0x9, /* FC_ULONG */
+/* 290 */ 0x7, /* Corr desc: FC_USHORT */
+ 0x0, /* */
+/* 292 */ NdrFcShort( 0xfff8 ), /* -8 */
+/* 294 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 296 */ NdrFcShort( 0x2 ), /* Offset= 2 (298) */
+/* 298 */ NdrFcShort( 0x10 ), /* 16 */
+/* 300 */ NdrFcShort( 0x2f ), /* 47 */
+/* 302 */ NdrFcLong( 0x14 ), /* 20 */
+/* 306 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
+/* 308 */ NdrFcLong( 0x3 ), /* 3 */
+/* 312 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 314 */ NdrFcLong( 0x11 ), /* 17 */
+/* 318 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */
+/* 320 */ NdrFcLong( 0x2 ), /* 2 */
+/* 324 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
+/* 326 */ NdrFcLong( 0x4 ), /* 4 */
+/* 330 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */
+/* 332 */ NdrFcLong( 0x5 ), /* 5 */
+/* 336 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
+/* 338 */ NdrFcLong( 0xb ), /* 11 */
+/* 342 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
+/* 344 */ NdrFcLong( 0xa ), /* 10 */
+/* 348 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 350 */ NdrFcLong( 0x6 ), /* 6 */
+/* 354 */ NdrFcShort( 0xe8 ), /* Offset= 232 (586) */
+/* 356 */ NdrFcLong( 0x7 ), /* 7 */
+/* 360 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */
+/* 362 */ NdrFcLong( 0x8 ), /* 8 */
+/* 366 */ NdrFcShort( 0xfe98 ), /* Offset= -360 (6) */
+/* 368 */ NdrFcLong( 0xd ), /* 13 */
+/* 372 */ NdrFcShort( 0xfebe ), /* Offset= -322 (50) */
+/* 374 */ NdrFcLong( 0x9 ), /* 9 */
+/* 378 */ NdrFcShort( 0xd6 ), /* Offset= 214 (592) */
+/* 380 */ NdrFcLong( 0x2000 ), /* 8192 */
+/* 384 */ NdrFcShort( 0xe2 ), /* Offset= 226 (610) */
+/* 386 */ NdrFcLong( 0x24 ), /* 36 */
+/* 390 */ NdrFcShort( 0x30a ), /* Offset= 778 (1168) */
+/* 392 */ NdrFcLong( 0x4024 ), /* 16420 */
+/* 396 */ NdrFcShort( 0x304 ), /* Offset= 772 (1168) */
+/* 398 */ NdrFcLong( 0x4011 ), /* 16401 */
+/* 402 */ NdrFcShort( 0x302 ), /* Offset= 770 (1172) */
+/* 404 */ NdrFcLong( 0x4002 ), /* 16386 */
+/* 408 */ NdrFcShort( 0x300 ), /* Offset= 768 (1176) */
+/* 410 */ NdrFcLong( 0x4003 ), /* 16387 */
+/* 414 */ NdrFcShort( 0x2fe ), /* Offset= 766 (1180) */
+/* 416 */ NdrFcLong( 0x4014 ), /* 16404 */
+/* 420 */ NdrFcShort( 0x2fc ), /* Offset= 764 (1184) */
+/* 422 */ NdrFcLong( 0x4004 ), /* 16388 */
+/* 426 */ NdrFcShort( 0x2fa ), /* Offset= 762 (1188) */
+/* 428 */ NdrFcLong( 0x4005 ), /* 16389 */
+/* 432 */ NdrFcShort( 0x2f8 ), /* Offset= 760 (1192) */
+/* 434 */ NdrFcLong( 0x400b ), /* 16395 */
+/* 438 */ NdrFcShort( 0x2e2 ), /* Offset= 738 (1176) */
+/* 440 */ NdrFcLong( 0x400a ), /* 16394 */
+/* 444 */ NdrFcShort( 0x2e0 ), /* Offset= 736 (1180) */
+/* 446 */ NdrFcLong( 0x4006 ), /* 16390 */
+/* 450 */ NdrFcShort( 0x2ea ), /* Offset= 746 (1196) */
+/* 452 */ NdrFcLong( 0x4007 ), /* 16391 */
+/* 456 */ NdrFcShort( 0x2e0 ), /* Offset= 736 (1192) */
+/* 458 */ NdrFcLong( 0x4008 ), /* 16392 */
+/* 462 */ NdrFcShort( 0x2e2 ), /* Offset= 738 (1200) */
+/* 464 */ NdrFcLong( 0x400d ), /* 16397 */
+/* 468 */ NdrFcShort( 0x2e0 ), /* Offset= 736 (1204) */
+/* 470 */ NdrFcLong( 0x4009 ), /* 16393 */
+/* 474 */ NdrFcShort( 0x2de ), /* Offset= 734 (1208) */
+/* 476 */ NdrFcLong( 0x6000 ), /* 24576 */
+/* 480 */ NdrFcShort( 0x2dc ), /* Offset= 732 (1212) */
+/* 482 */ NdrFcLong( 0x400c ), /* 16396 */
+/* 486 */ NdrFcShort( 0x2da ), /* Offset= 730 (1216) */
+/* 488 */ NdrFcLong( 0x10 ), /* 16 */
+/* 492 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */
+/* 494 */ NdrFcLong( 0x12 ), /* 18 */
+/* 498 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */
+/* 500 */ NdrFcLong( 0x13 ), /* 19 */
+/* 504 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 506 */ NdrFcLong( 0x15 ), /* 21 */
+/* 510 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */
+/* 512 */ NdrFcLong( 0x16 ), /* 22 */
+/* 516 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 518 */ NdrFcLong( 0x17 ), /* 23 */
+/* 522 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */
+/* 524 */ NdrFcLong( 0xe ), /* 14 */
+/* 528 */ NdrFcShort( 0x2b8 ), /* Offset= 696 (1224) */
+/* 530 */ NdrFcLong( 0x400e ), /* 16398 */
+/* 534 */ NdrFcShort( 0x2bc ), /* Offset= 700 (1234) */
+/* 536 */ NdrFcLong( 0x4010 ), /* 16400 */
+/* 540 */ NdrFcShort( 0x2ba ), /* Offset= 698 (1238) */
+/* 542 */ NdrFcLong( 0x4012 ), /* 16402 */
+/* 546 */ NdrFcShort( 0x276 ), /* Offset= 630 (1176) */
+/* 548 */ NdrFcLong( 0x4013 ), /* 16403 */
+/* 552 */ NdrFcShort( 0x274 ), /* Offset= 628 (1180) */
+/* 554 */ NdrFcLong( 0x4015 ), /* 16405 */
+/* 558 */ NdrFcShort( 0x272 ), /* Offset= 626 (1184) */
+/* 560 */ NdrFcLong( 0x4016 ), /* 16406 */
+/* 564 */ NdrFcShort( 0x268 ), /* Offset= 616 (1180) */
+/* 566 */ NdrFcLong( 0x4017 ), /* 16407 */
+/* 570 */ NdrFcShort( 0x262 ), /* Offset= 610 (1180) */
+/* 572 */ NdrFcLong( 0x0 ), /* 0 */
+/* 576 */ NdrFcShort( 0x0 ), /* Offset= 0 (576) */
+/* 578 */ NdrFcLong( 0x1 ), /* 1 */
+/* 582 */ NdrFcShort( 0x0 ), /* Offset= 0 (582) */
+/* 584 */ NdrFcShort( 0xffff ), /* Offset= -1 (583) */
+/* 586 */
+ 0x15, /* FC_STRUCT */
+ 0x7, /* 7 */
+/* 588 */ NdrFcShort( 0x8 ), /* 8 */
+/* 590 */ 0xb, /* FC_HYPER */
+ 0x5b, /* FC_END */
+/* 592 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 594 */ NdrFcLong( 0x20400 ), /* 132096 */
+/* 598 */ NdrFcShort( 0x0 ), /* 0 */
+/* 600 */ NdrFcShort( 0x0 ), /* 0 */
+/* 602 */ 0xc0, /* 192 */
+ 0x0, /* 0 */
+/* 604 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 606 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 608 */ 0x0, /* 0 */
+ 0x46, /* 70 */
+/* 610 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 612 */ NdrFcShort( 0x2 ), /* Offset= 2 (614) */
+/* 614 */
+ 0x13, 0x0, /* FC_OP */
+/* 616 */ NdrFcShort( 0x216 ), /* Offset= 534 (1150) */
+/* 618 */
+ 0x2a, /* FC_ENCAPSULATED_UNION */
+ 0x49, /* 73 */
+/* 620 */ NdrFcShort( 0x18 ), /* 24 */
+/* 622 */ NdrFcShort( 0xa ), /* 10 */
+/* 624 */ NdrFcLong( 0x8 ), /* 8 */
+/* 628 */ NdrFcShort( 0x5a ), /* Offset= 90 (718) */
+/* 630 */ NdrFcLong( 0xd ), /* 13 */
+/* 634 */ NdrFcShort( 0x7e ), /* Offset= 126 (760) */
+/* 636 */ NdrFcLong( 0x9 ), /* 9 */
+/* 640 */ NdrFcShort( 0x9e ), /* Offset= 158 (798) */
+/* 642 */ NdrFcLong( 0xc ), /* 12 */
+/* 646 */ NdrFcShort( 0xc8 ), /* Offset= 200 (846) */
+/* 648 */ NdrFcLong( 0x24 ), /* 36 */
+/* 652 */ NdrFcShort( 0x124 ), /* Offset= 292 (944) */
+/* 654 */ NdrFcLong( 0x800d ), /* 32781 */
+/* 658 */ NdrFcShort( 0x140 ), /* Offset= 320 (978) */
+/* 660 */ NdrFcLong( 0x10 ), /* 16 */
+/* 664 */ NdrFcShort( 0x15a ), /* Offset= 346 (1010) */
+/* 666 */ NdrFcLong( 0x2 ), /* 2 */
+/* 670 */ NdrFcShort( 0x174 ), /* Offset= 372 (1042) */
+/* 672 */ NdrFcLong( 0x3 ), /* 3 */
+/* 676 */ NdrFcShort( 0x18e ), /* Offset= 398 (1074) */
+/* 678 */ NdrFcLong( 0x14 ), /* 20 */
+/* 682 */ NdrFcShort( 0x1a8 ), /* Offset= 424 (1106) */
+/* 684 */ NdrFcShort( 0xffff ), /* Offset= -1 (683) */
+/* 686 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 688 */ NdrFcShort( 0x4 ), /* 4 */
+/* 690 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 692 */ NdrFcShort( 0x0 ), /* 0 */
+/* 694 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 696 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 698 */
+ 0x48, /* FC_VARIABLE_REPEAT */
+ 0x49, /* FC_FIXED_OFFSET */
+/* 700 */ NdrFcShort( 0x4 ), /* 4 */
+/* 702 */ NdrFcShort( 0x0 ), /* 0 */
+/* 704 */ NdrFcShort( 0x1 ), /* 1 */
+/* 706 */ NdrFcShort( 0x0 ), /* 0 */
+/* 708 */ NdrFcShort( 0x0 ), /* 0 */
+/* 710 */ 0x13, 0x0, /* FC_OP */
+/* 712 */ NdrFcShort( 0xfd4e ), /* Offset= -690 (22) */
+/* 714 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 716 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 718 */
+ 0x16, /* FC_PSTRUCT */
+ 0x3, /* 3 */
+/* 720 */ NdrFcShort( 0x8 ), /* 8 */
+/* 722 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 724 */
+ 0x46, /* FC_NO_REPEAT */
+ 0x5c, /* FC_PAD */
+/* 726 */ NdrFcShort( 0x4 ), /* 4 */
+/* 728 */ NdrFcShort( 0x4 ), /* 4 */
+/* 730 */ 0x11, 0x0, /* FC_RP */
+/* 732 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (686) */
+/* 734 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 736 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 738 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 740 */ NdrFcShort( 0x0 ), /* 0 */
+/* 742 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 744 */ NdrFcShort( 0x0 ), /* 0 */
+/* 746 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 748 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 752 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 754 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 756 */ NdrFcShort( 0xfd3e ), /* Offset= -706 (50) */
+/* 758 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 760 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 762 */ NdrFcShort( 0x8 ), /* 8 */
+/* 764 */ NdrFcShort( 0x0 ), /* 0 */
+/* 766 */ NdrFcShort( 0x6 ), /* Offset= 6 (772) */
+/* 768 */ 0x8, /* FC_LONG */
+ 0x36, /* FC_POINTER */
+/* 770 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 772 */
+ 0x11, 0x0, /* FC_RP */
+/* 774 */ NdrFcShort( 0xffdc ), /* Offset= -36 (738) */
+/* 776 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 778 */ NdrFcShort( 0x0 ), /* 0 */
+/* 780 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 782 */ NdrFcShort( 0x0 ), /* 0 */
+/* 784 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 786 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 790 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 792 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 794 */ NdrFcShort( 0xff36 ), /* Offset= -202 (592) */
+/* 796 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 798 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 800 */ NdrFcShort( 0x8 ), /* 8 */
+/* 802 */ NdrFcShort( 0x0 ), /* 0 */
+/* 804 */ NdrFcShort( 0x6 ), /* Offset= 6 (810) */
+/* 806 */ 0x8, /* FC_LONG */
+ 0x36, /* FC_POINTER */
+/* 808 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 810 */
+ 0x11, 0x0, /* FC_RP */
+/* 812 */ NdrFcShort( 0xffdc ), /* Offset= -36 (776) */
+/* 814 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 816 */ NdrFcShort( 0x4 ), /* 4 */
+/* 818 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 820 */ NdrFcShort( 0x0 ), /* 0 */
+/* 822 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 824 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 826 */
+ 0x48, /* FC_VARIABLE_REPEAT */
+ 0x49, /* FC_FIXED_OFFSET */
+/* 828 */ NdrFcShort( 0x4 ), /* 4 */
+/* 830 */ NdrFcShort( 0x0 ), /* 0 */
+/* 832 */ NdrFcShort( 0x1 ), /* 1 */
+/* 834 */ NdrFcShort( 0x0 ), /* 0 */
+/* 836 */ NdrFcShort( 0x0 ), /* 0 */
+/* 838 */ 0x13, 0x0, /* FC_OP */
+/* 840 */ NdrFcShort( 0x192 ), /* Offset= 402 (1242) */
+/* 842 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 844 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 846 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 848 */ NdrFcShort( 0x8 ), /* 8 */
+/* 850 */ NdrFcShort( 0x0 ), /* 0 */
+/* 852 */ NdrFcShort( 0x6 ), /* Offset= 6 (858) */
+/* 854 */ 0x8, /* FC_LONG */
+ 0x36, /* FC_POINTER */
+/* 856 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 858 */
+ 0x11, 0x0, /* FC_RP */
+/* 860 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (814) */
+/* 862 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 864 */ NdrFcLong( 0x2f ), /* 47 */
+/* 868 */ NdrFcShort( 0x0 ), /* 0 */
+/* 870 */ NdrFcShort( 0x0 ), /* 0 */
+/* 872 */ 0xc0, /* 192 */
+ 0x0, /* 0 */
+/* 874 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 876 */ 0x0, /* 0 */
+ 0x0, /* 0 */
+/* 878 */ 0x0, /* 0 */
+ 0x46, /* 70 */
+/* 880 */
+ 0x1b, /* FC_CARRAY */
+ 0x0, /* 0 */
+/* 882 */ NdrFcShort( 0x1 ), /* 1 */
+/* 884 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 886 */ NdrFcShort( 0x4 ), /* 4 */
+/* 888 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 890 */ 0x1, /* FC_BYTE */
+ 0x5b, /* FC_END */
+/* 892 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 894 */ NdrFcShort( 0x10 ), /* 16 */
+/* 896 */ NdrFcShort( 0x0 ), /* 0 */
+/* 898 */ NdrFcShort( 0xa ), /* Offset= 10 (908) */
+/* 900 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 902 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 904 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (862) */
+/* 906 */ 0x36, /* FC_POINTER */
+ 0x5b, /* FC_END */
+/* 908 */
+ 0x13, 0x0, /* FC_OP */
+/* 910 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (880) */
+/* 912 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 914 */ NdrFcShort( 0x4 ), /* 4 */
+/* 916 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 918 */ NdrFcShort( 0x0 ), /* 0 */
+/* 920 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 922 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 924 */
+ 0x48, /* FC_VARIABLE_REPEAT */
+ 0x49, /* FC_FIXED_OFFSET */
+/* 926 */ NdrFcShort( 0x4 ), /* 4 */
+/* 928 */ NdrFcShort( 0x0 ), /* 0 */
+/* 930 */ NdrFcShort( 0x1 ), /* 1 */
+/* 932 */ NdrFcShort( 0x0 ), /* 0 */
+/* 934 */ NdrFcShort( 0x0 ), /* 0 */
+/* 936 */ 0x13, 0x0, /* FC_OP */
+/* 938 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (892) */
+/* 940 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 942 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 944 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 946 */ NdrFcShort( 0x8 ), /* 8 */
+/* 948 */ NdrFcShort( 0x0 ), /* 0 */
+/* 950 */ NdrFcShort( 0x6 ), /* Offset= 6 (956) */
+/* 952 */ 0x8, /* FC_LONG */
+ 0x36, /* FC_POINTER */
+/* 954 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 956 */
+ 0x11, 0x0, /* FC_RP */
+/* 958 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (912) */
+/* 960 */
+ 0x1d, /* FC_SMFARRAY */
+ 0x0, /* 0 */
+/* 962 */ NdrFcShort( 0x8 ), /* 8 */
+/* 964 */ 0x1, /* FC_BYTE */
+ 0x5b, /* FC_END */
+/* 966 */
+ 0x15, /* FC_STRUCT */
+ 0x3, /* 3 */
+/* 968 */ NdrFcShort( 0x10 ), /* 16 */
+/* 970 */ 0x8, /* FC_LONG */
+ 0x6, /* FC_SHORT */
+/* 972 */ 0x6, /* FC_SHORT */
+ 0x4c, /* FC_EMBEDDED_COMPLEX */
+/* 974 */ 0x0, /* 0 */
+ NdrFcShort( 0xfff1 ), /* Offset= -15 (960) */
+ 0x5b, /* FC_END */
+/* 978 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 980 */ NdrFcShort( 0x18 ), /* 24 */
+/* 982 */ NdrFcShort( 0x0 ), /* 0 */
+/* 984 */ NdrFcShort( 0xa ), /* Offset= 10 (994) */
+/* 986 */ 0x8, /* FC_LONG */
+ 0x36, /* FC_POINTER */
+/* 988 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 990 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (966) */
+/* 992 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 994 */
+ 0x11, 0x0, /* FC_RP */
+/* 996 */ NdrFcShort( 0xfefe ), /* Offset= -258 (738) */
+/* 998 */
+ 0x1b, /* FC_CARRAY */
+ 0x0, /* 0 */
+/* 1000 */ NdrFcShort( 0x1 ), /* 1 */
+/* 1002 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 1004 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1006 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 1008 */ 0x1, /* FC_BYTE */
+ 0x5b, /* FC_END */
+/* 1010 */
+ 0x16, /* FC_PSTRUCT */
+ 0x3, /* 3 */
+/* 1012 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1014 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 1016 */
+ 0x46, /* FC_NO_REPEAT */
+ 0x5c, /* FC_PAD */
+/* 1018 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1020 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1022 */ 0x13, 0x0, /* FC_OP */
+/* 1024 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (998) */
+/* 1026 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 1028 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 1030 */
+ 0x1b, /* FC_CARRAY */
+ 0x1, /* 1 */
+/* 1032 */ NdrFcShort( 0x2 ), /* 2 */
+/* 1034 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 1036 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1038 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 1040 */ 0x6, /* FC_SHORT */
+ 0x5b, /* FC_END */
+/* 1042 */
+ 0x16, /* FC_PSTRUCT */
+ 0x3, /* 3 */
+/* 1044 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1046 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 1048 */
+ 0x46, /* FC_NO_REPEAT */
+ 0x5c, /* FC_PAD */
+/* 1050 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1052 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1054 */ 0x13, 0x0, /* FC_OP */
+/* 1056 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (1030) */
+/* 1058 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 1060 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 1062 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 1064 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1066 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 1068 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1070 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 1072 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 1074 */
+ 0x16, /* FC_PSTRUCT */
+ 0x3, /* 3 */
+/* 1076 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1078 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 1080 */
+ 0x46, /* FC_NO_REPEAT */
+ 0x5c, /* FC_PAD */
+/* 1082 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1084 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1086 */ 0x13, 0x0, /* FC_OP */
+/* 1088 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (1062) */
+/* 1090 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 1092 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 1094 */
+ 0x1b, /* FC_CARRAY */
+ 0x7, /* 7 */
+/* 1096 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1098 */ 0x19, /* Corr desc: field pointer, FC_ULONG */
+ 0x0, /* */
+/* 1100 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1102 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 1104 */ 0xb, /* FC_HYPER */
+ 0x5b, /* FC_END */
+/* 1106 */
+ 0x16, /* FC_PSTRUCT */
+ 0x3, /* 3 */
+/* 1108 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1110 */
+ 0x4b, /* FC_PP */
+ 0x5c, /* FC_PAD */
+/* 1112 */
+ 0x46, /* FC_NO_REPEAT */
+ 0x5c, /* FC_PAD */
+/* 1114 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1116 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1118 */ 0x13, 0x0, /* FC_OP */
+/* 1120 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (1094) */
+/* 1122 */
+ 0x5b, /* FC_END */
+
+ 0x8, /* FC_LONG */
+/* 1124 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 1126 */
+ 0x15, /* FC_STRUCT */
+ 0x3, /* 3 */
+/* 1128 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1130 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 1132 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1134 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 1136 */ NdrFcShort( 0x8 ), /* 8 */
+/* 1138 */ 0x7, /* Corr desc: FC_USHORT */
+ 0x0, /* */
+/* 1140 */ NdrFcShort( 0xffd8 ), /* -40 */
+/* 1142 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 1144 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1146 */ NdrFcShort( 0xffec ), /* Offset= -20 (1126) */
+/* 1148 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1150 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 1152 */ NdrFcShort( 0x28 ), /* 40 */
+/* 1154 */ NdrFcShort( 0xffec ), /* Offset= -20 (1134) */
+/* 1156 */ NdrFcShort( 0x0 ), /* Offset= 0 (1156) */
+/* 1158 */ 0x6, /* FC_SHORT */
+ 0x6, /* FC_SHORT */
+/* 1160 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 1162 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1164 */ NdrFcShort( 0xfdde ), /* Offset= -546 (618) */
+/* 1166 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1168 */
+ 0x13, 0x0, /* FC_OP */
+/* 1170 */ NdrFcShort( 0xfeea ), /* Offset= -278 (892) */
+/* 1172 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1174 */ 0x1, /* FC_BYTE */
+ 0x5c, /* FC_PAD */
+/* 1176 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1178 */ 0x6, /* FC_SHORT */
+ 0x5c, /* FC_PAD */
+/* 1180 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1182 */ 0x8, /* FC_LONG */
+ 0x5c, /* FC_PAD */
+/* 1184 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1186 */ 0xb, /* FC_HYPER */
+ 0x5c, /* FC_PAD */
+/* 1188 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1190 */ 0xa, /* FC_FLOAT */
+ 0x5c, /* FC_PAD */
+/* 1192 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1194 */ 0xc, /* FC_DOUBLE */
+ 0x5c, /* FC_PAD */
+/* 1196 */
+ 0x13, 0x0, /* FC_OP */
+/* 1198 */ NdrFcShort( 0xfd9c ), /* Offset= -612 (586) */
+/* 1200 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 1202 */ NdrFcShort( 0xfb54 ), /* Offset= -1196 (6) */
+/* 1204 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 1206 */ NdrFcShort( 0xfb7c ), /* Offset= -1156 (50) */
+/* 1208 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 1210 */ NdrFcShort( 0xfd96 ), /* Offset= -618 (592) */
+/* 1212 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 1214 */ NdrFcShort( 0xfda4 ), /* Offset= -604 (610) */
+/* 1216 */
+ 0x13, 0x10, /* FC_OP [pointer_deref] */
+/* 1218 */ NdrFcShort( 0x2 ), /* Offset= 2 (1220) */
+/* 1220 */
+ 0x13, 0x0, /* FC_OP */
+/* 1222 */ NdrFcShort( 0x14 ), /* Offset= 20 (1242) */
+/* 1224 */
+ 0x15, /* FC_STRUCT */
+ 0x7, /* 7 */
+/* 1226 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1228 */ 0x6, /* FC_SHORT */
+ 0x1, /* FC_BYTE */
+/* 1230 */ 0x1, /* FC_BYTE */
+ 0x8, /* FC_LONG */
+/* 1232 */ 0xb, /* FC_HYPER */
+ 0x5b, /* FC_END */
+/* 1234 */
+ 0x13, 0x0, /* FC_OP */
+/* 1236 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1224) */
+/* 1238 */
+ 0x13, 0x8, /* FC_OP [simple_pointer] */
+/* 1240 */ 0x2, /* FC_CHAR */
+ 0x5c, /* FC_PAD */
+/* 1242 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x7, /* 7 */
+/* 1244 */ NdrFcShort( 0x20 ), /* 32 */
+/* 1246 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1248 */ NdrFcShort( 0x0 ), /* Offset= 0 (1248) */
+/* 1250 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 1252 */ 0x6, /* FC_SHORT */
+ 0x6, /* FC_SHORT */
+/* 1254 */ 0x6, /* FC_SHORT */
+ 0x6, /* FC_SHORT */
+/* 1256 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1258 */ NdrFcShort( 0xfc36 ), /* Offset= -970 (288) */
+/* 1260 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1262 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 1264 */ NdrFcShort( 0x2 ), /* 2 */
+/* 1266 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1268 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1270 */ NdrFcShort( 0xfc26 ), /* Offset= -986 (284) */
+/* 1272 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1274 */ NdrFcShort( 0x2 ), /* Offset= 2 (1276) */
+/* 1276 */
+ 0x13, 0x0, /* FC_OP */
+/* 1278 */ NdrFcShort( 0x2 ), /* Offset= 2 (1280) */
+/* 1280 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 1282 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1284 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 1286 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */
+/* 1288 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1290 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 1294 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1296 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1298 */ NdrFcShort( 0xfb20 ), /* Offset= -1248 (50) */
+/* 1300 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1302 */
+ 0x12, 0x0, /* FC_UP */
+/* 1304 */ NdrFcShort( 0xffc2 ), /* Offset= -62 (1242) */
+/* 1306 */ 0xb4, /* FC_USER_MARSHAL */
+ 0x83, /* 131 */
+/* 1308 */ NdrFcShort( 0x2 ), /* 2 */
+/* 1310 */ NdrFcShort( 0x10 ), /* 16 */
+/* 1312 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1314 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1302) */
+/* 1316 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 1318 */ NdrFcShort( 0x2 ), /* Offset= 2 (1320) */
+/* 1320 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 1322 */ NdrFcShort( 0xc ), /* 12 */
+/* 1324 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1326 */ NdrFcShort( 0x0 ), /* Offset= 0 (1326) */
+/* 1328 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1330 */ NdrFcShort( 0xfaee ), /* Offset= -1298 (32) */
+/* 1332 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 1334 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1336 */
+ 0x11, 0x0, /* FC_RP */
+/* 1338 */ NdrFcShort( 0xfbd4 ), /* Offset= -1068 (270) */
+/* 1340 */
+ 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
+/* 1342 */ 0x3, /* FC_SMALL */
+ 0x5c, /* FC_PAD */
+/* 1344 */
+ 0x11, 0x10, /* FC_RP [pointer_deref] */
+/* 1346 */ NdrFcShort( 0x2 ), /* Offset= 2 (1348) */
+/* 1348 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 1350 */ NdrFcLong( 0x1c20f2b ), /* 29495083 */
+/* 1354 */ NdrFcShort( 0x3dd2 ), /* 15826 */
+/* 1356 */ NdrFcShort( 0x400f ), /* 16399 */
+/* 1358 */ 0x94, /* 148 */
+ 0x9f, /* 159 */
+/* 1360 */ 0xad, /* 173 */
+ 0x0, /* 0 */
+/* 1362 */ 0xbd, /* 189 */
+ 0xab, /* 171 */
+/* 1364 */ 0x1d, /* 29 */
+ 0x41, /* 65 */
+/* 1366 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1368 */ NdrFcShort( 0x2 ), /* Offset= 2 (1370) */
+/* 1370 */
+ 0x13, 0x0, /* FC_OP */
+/* 1372 */ NdrFcShort( 0x2 ), /* Offset= 2 (1374) */
+/* 1374 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 1376 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1378 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 1380 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1382 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1384 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 1388 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1390 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1392 */ NdrFcShort( 0xffd4 ), /* Offset= -44 (1348) */
+/* 1394 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1396 */
+ 0x11, 0x10, /* FC_RP [pointer_deref] */
+/* 1398 */ NdrFcShort( 0x2 ), /* Offset= 2 (1400) */
+/* 1400 */
+ 0x2f, /* FC_IP */
+ 0x5a, /* FC_CONSTANT_IID */
+/* 1402 */ NdrFcLong( 0x35ad8070 ), /* 900563056 */
+/* 1406 */ NdrFcShort( 0xc20c ), /* -15860 */
+/* 1408 */ NdrFcShort( 0x4fb4 ), /* 20404 */
+/* 1410 */ 0xb0, /* 176 */
+ 0x94, /* 148 */
+/* 1412 */ 0xf4, /* 244 */
+ 0xf7, /* 247 */
+/* 1414 */ 0x27, /* 39 */
+ 0x5d, /* 93 */
+/* 1416 */ 0xd4, /* 212 */
+ 0x69, /* 105 */
+/* 1418 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1420 */ NdrFcShort( 0x2 ), /* Offset= 2 (1422) */
+/* 1422 */
+ 0x13, 0x0, /* FC_OP */
+/* 1424 */ NdrFcShort( 0x2 ), /* Offset= 2 (1426) */
+/* 1426 */
+ 0x1c, /* FC_CVARRAY */
+ 0x3, /* 3 */
+/* 1428 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1430 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x0, /* */
+/* 1432 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */
+/* 1434 */ NdrFcShort( 0x1 ), /* Corr flags: early, */
+/* 1436 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 1438 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */
+/* 1440 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1442 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 1444 */
+ 0x11, 0x4, /* FC_RP [alloced_on_stack] */
+/* 1446 */ NdrFcShort( 0x2 ), /* Offset= 2 (1448) */
+/* 1448 */
+ 0x1a, /* FC_BOGUS_STRUCT */
+ 0x3, /* 3 */
+/* 1450 */ NdrFcShort( 0x14 ), /* 20 */
+/* 1452 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1454 */ NdrFcShort( 0x0 ), /* Offset= 0 (1454) */
+/* 1456 */ 0xd, /* FC_ENUM16 */
+ 0x8, /* FC_LONG */
+/* 1458 */ 0x8, /* FC_LONG */
+ 0x8, /* FC_LONG */
+/* 1460 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+/* 1462 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1464 */ NdrFcShort( 0x2 ), /* Offset= 2 (1466) */
+/* 1466 */
+ 0x13, 0x0, /* FC_OP */
+/* 1468 */ NdrFcShort( 0x2 ), /* Offset= 2 (1470) */
+/* 1470 */
+ 0x21, /* FC_BOGUS_ARRAY */
+ 0x3, /* 3 */
+/* 1472 */ NdrFcShort( 0x0 ), /* 0 */
+/* 1474 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 1476 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1478 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1480 */ NdrFcLong( 0xffffffff ), /* -1 */
+/* 1484 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1486 */ 0x4c, /* FC_EMBEDDED_COMPLEX */
+ 0x0, /* 0 */
+/* 1488 */ NdrFcShort( 0xfa62 ), /* Offset= -1438 (50) */
+/* 1490 */ 0x5c, /* FC_PAD */
+ 0x5b, /* FC_END */
+/* 1492 */
+ 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1494 */ NdrFcShort( 0x2 ), /* Offset= 2 (1496) */
+/* 1496 */
+ 0x13, 0x0, /* FC_OP */
+/* 1498 */ NdrFcShort( 0x2 ), /* Offset= 2 (1500) */
+/* 1500 */
+ 0x1b, /* FC_CARRAY */
+ 0x3, /* 3 */
+/* 1502 */ NdrFcShort( 0x4 ), /* 4 */
+/* 1504 */ 0x28, /* Corr desc: parameter, FC_LONG */
+ 0x54, /* FC_DEREFERENCE */
+/* 1506 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */
+/* 1508 */ NdrFcShort( 0x0 ), /* Corr flags: */
+/* 1510 */ 0x8, /* FC_LONG */
+ 0x5b, /* FC_END */
+
+ 0x0
+ }
+ };
+
+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] =
+ {
+
+ {
+ BSTR_UserSize
+ ,BSTR_UserMarshal
+ ,BSTR_UserUnmarshal
+ ,BSTR_UserFree
+ },
+ {
+ HWND_UserSize
+ ,HWND_UserMarshal
+ ,HWND_UserUnmarshal
+ ,HWND_UserFree
+ },
+ {
+ VARIANT_UserSize
+ ,VARIANT_UserMarshal
+ ,VARIANT_UserUnmarshal
+ ,VARIANT_UserFree
+ }
+
+ };
+
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0000, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IUnknown, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IAccessibleRelation, ver. 0.0,
+ GUID={0x7CDF86EE,0xC3DA,0x496a,{0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleRelation_FormatStringOffsetTable[] =
+ {
+ 0,
+ 36,
+ 72,
+ 108,
+ 150
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleRelation_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleRelation_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(8) _IAccessibleRelationProxyVtbl =
+{
+ &IAccessibleRelation_ProxyInfo,
+ &IID_IAccessibleRelation,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleRelation::get_relationType */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleRelation::get_localizedRelationType */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleRelation::get_nTargets */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleRelation::get_target */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleRelation::get_targets */
+};
+
+const CInterfaceStubVtbl _IAccessibleRelationStubVtbl =
+{
+ &IID_IAccessibleRelation,
+ &IAccessibleRelation_ServerInfo,
+ 8,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0001, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IAccessibleAction, ver. 0.0,
+ GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleAction_FormatStringOffsetTable[] =
+ {
+ 198,
+ 234,
+ 270,
+ 312,
+ 366,
+ 408
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleAction_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleAction_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleAction_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(9) _IAccessibleActionProxyVtbl =
+{
+ &IAccessibleAction_ProxyInfo,
+ &IID_IAccessibleAction,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */
+};
+
+const CInterfaceStubVtbl _IAccessibleActionStubVtbl =
+{
+ &IID_IAccessibleAction,
+ &IAccessibleAction_ServerInfo,
+ 9,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0002, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IDispatch, ver. 0.0,
+ GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IAccessible, ver. 0.0,
+ GUID={0x618736e0,0x3c3d,0x11cf,{0x81,0x0c,0x00,0xaa,0x00,0x38,0x9b,0x71}} */
+
+
+/* Object interface: IAccessible2, ver. 0.0,
+ GUID={0xE89F726E,0xC4F4,0x4c19,{0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessible2_FormatStringOffsetTable[] =
+ {
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ 450,
+ 486,
+ 528,
+ 576,
+ 612,
+ 648,
+ 696,
+ 744,
+ 780,
+ 816,
+ 852,
+ 888,
+ 936,
+ 984,
+ 1020,
+ 1056,
+ 1092,
+ 1128
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessible2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessible2_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessible2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(46) _IAccessible2ProxyVtbl =
+{
+ &IAccessible2_ProxyInfo,
+ &IID_IAccessible2,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ 0 /* IDispatch::GetTypeInfoCount */ ,
+ 0 /* IDispatch::GetTypeInfo */ ,
+ 0 /* IDispatch::GetIDsOfNames */ ,
+ 0 /* IDispatch_Invoke_Proxy */ ,
+ 0 /* IAccessible::get_accParent */ ,
+ 0 /* IAccessible::get_accChildCount */ ,
+ 0 /* IAccessible::get_accChild */ ,
+ 0 /* IAccessible::get_accName */ ,
+ 0 /* IAccessible::get_accValue */ ,
+ 0 /* IAccessible::get_accDescription */ ,
+ 0 /* IAccessible::get_accRole */ ,
+ 0 /* IAccessible::get_accState */ ,
+ 0 /* IAccessible::get_accHelp */ ,
+ 0 /* IAccessible::get_accHelpTopic */ ,
+ 0 /* IAccessible::get_accKeyboardShortcut */ ,
+ 0 /* IAccessible::get_accFocus */ ,
+ 0 /* IAccessible::get_accSelection */ ,
+ 0 /* IAccessible::get_accDefaultAction */ ,
+ 0 /* IAccessible::accSelect */ ,
+ 0 /* IAccessible::accLocation */ ,
+ 0 /* IAccessible::accNavigate */ ,
+ 0 /* IAccessible::accHitTest */ ,
+ 0 /* IAccessible::accDoDefaultAction */ ,
+ 0 /* IAccessible::put_accName */ ,
+ 0 /* IAccessible::put_accValue */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::role */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_states */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */
+};
+
+
+static const PRPC_STUB_FUNCTION IAccessible2_table[] =
+{
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2
+};
+
+CInterfaceStubVtbl _IAccessible2StubVtbl =
+{
+ &IID_IAccessible2,
+ &IAccessible2_ServerInfo,
+ 46,
+ &IAccessible2_table[-3],
+ CStdStubBuffer_DELEGATING_METHODS
+};
+
+
+/* Object interface: IAccessible2_2, ver. 0.0,
+ GUID={0x6C9430E9,0x299D,0x4E6F,{0xBD,0x01,0xA8,0x2A,0x1E,0x88,0xD3,0xFF}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessible2_2_FormatStringOffsetTable[] =
+ {
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ 450,
+ 486,
+ 528,
+ 576,
+ 612,
+ 648,
+ 696,
+ 744,
+ 780,
+ 816,
+ 852,
+ 888,
+ 936,
+ 984,
+ 1020,
+ 1056,
+ 1092,
+ 1128,
+ 1164,
+ 1206,
+ 1248
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessible2_2_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessible2_2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessible2_2_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessible2_2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(49) _IAccessible2_2ProxyVtbl =
+{
+ &IAccessible2_2_ProxyInfo,
+ &IID_IAccessible2_2,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ 0 /* IDispatch::GetTypeInfoCount */ ,
+ 0 /* IDispatch::GetTypeInfo */ ,
+ 0 /* IDispatch::GetIDsOfNames */ ,
+ 0 /* IDispatch_Invoke_Proxy */ ,
+ 0 /* IAccessible::get_accParent */ ,
+ 0 /* IAccessible::get_accChildCount */ ,
+ 0 /* IAccessible::get_accChild */ ,
+ 0 /* IAccessible::get_accName */ ,
+ 0 /* IAccessible::get_accValue */ ,
+ 0 /* IAccessible::get_accDescription */ ,
+ 0 /* IAccessible::get_accRole */ ,
+ 0 /* IAccessible::get_accState */ ,
+ 0 /* IAccessible::get_accHelp */ ,
+ 0 /* IAccessible::get_accHelpTopic */ ,
+ 0 /* IAccessible::get_accKeyboardShortcut */ ,
+ 0 /* IAccessible::get_accFocus */ ,
+ 0 /* IAccessible::get_accSelection */ ,
+ 0 /* IAccessible::get_accDefaultAction */ ,
+ 0 /* IAccessible::accSelect */ ,
+ 0 /* IAccessible::accLocation */ ,
+ 0 /* IAccessible::accNavigate */ ,
+ 0 /* IAccessible::accHitTest */ ,
+ 0 /* IAccessible::accDoDefaultAction */ ,
+ 0 /* IAccessible::put_accName */ ,
+ 0 /* IAccessible::put_accValue */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::role */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_states */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2_2::get_attribute */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2_2::get_accessibleWithCaret */ ,
+ (void *) (INT_PTR) -1 /* IAccessible2_2::get_relationTargetsOfType */
+};
+
+
+static const PRPC_STUB_FUNCTION IAccessible2_2_table[] =
+{
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ STUB_FORWARDING_FUNCTION,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2,
+ NdrStubCall2
+};
+
+CInterfaceStubVtbl _IAccessible2_2StubVtbl =
+{
+ &IID_IAccessible2_2,
+ &IAccessible2_2_ServerInfo,
+ 49,
+ &IAccessible2_2_table[-3],
+ CStdStubBuffer_DELEGATING_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0004, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IAccessibleComponent, ver. 0.0,
+ GUID={0x1546D4B0,0x4C98,0x4bda,{0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleComponent_FormatStringOffsetTable[] =
+ {
+ 1302,
+ 1344,
+ 72
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleComponent_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleComponent_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(6) _IAccessibleComponentProxyVtbl =
+{
+ &IAccessibleComponent_ProxyInfo,
+ &IID_IAccessibleComponent,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleComponent::get_locationInParent */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleComponent::get_foreground */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleComponent::get_background */
+};
+
+const CInterfaceStubVtbl _IAccessibleComponentStubVtbl =
+{
+ &IID_IAccessibleComponent,
+ &IAccessibleComponent_ServerInfo,
+ 6,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleValue, ver. 0.0,
+ GUID={0x35855B5B,0xC566,0x4fd0,{0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleValue_FormatStringOffsetTable[] =
+ {
+ 1380,
+ 1416,
+ 1452,
+ 1488
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleValue_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleValue_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleValue_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(7) _IAccessibleValueProxyVtbl =
+{
+ &IAccessibleValue_ProxyInfo,
+ &IID_IAccessibleValue,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleValue::get_currentValue */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleValue::setCurrentValue */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleValue::get_maximumValue */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleValue::get_minimumValue */
+};
+
+const CInterfaceStubVtbl _IAccessibleValueStubVtbl =
+{
+ &IID_IAccessibleValue,
+ &IAccessibleValue_ServerInfo,
+ 7,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0006, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IAccessibleText, ver. 0.0,
+ GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleText_FormatStringOffsetTable[] =
+ {
+ 1524,
+ 1566,
+ 72,
+ 1620,
+ 1686,
+ 1722,
+ 1776,
+ 1824,
+ 1872,
+ 1932,
+ 1992,
+ 2052,
+ 2088,
+ 2124,
+ 2172,
+ 2208,
+ 2256,
+ 2316,
+ 2352
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleText_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleText_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleText_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(22) _IAccessibleTextProxyVtbl =
+{
+ &IAccessibleText_ProxyInfo,
+ &IID_IAccessibleText,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */
+};
+
+const CInterfaceStubVtbl _IAccessibleTextStubVtbl =
+{
+ &IID_IAccessibleText,
+ &IAccessibleText_ServerInfo,
+ 22,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleText2, ver. 0.0,
+ GUID={0x9690A9CC,0x5C80,0x4DF5,{0x85,0x2E,0x2D,0x5A,0xE4,0x18,0x9A,0x54}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleText2_FormatStringOffsetTable[] =
+ {
+ 1524,
+ 1566,
+ 72,
+ 1620,
+ 1686,
+ 1722,
+ 1776,
+ 1824,
+ 1872,
+ 1932,
+ 1992,
+ 2052,
+ 2088,
+ 2124,
+ 2172,
+ 2208,
+ 2256,
+ 2316,
+ 2352,
+ 2388
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleText2_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleText2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleText2_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleText2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(23) _IAccessibleText2ProxyVtbl =
+{
+ &IAccessibleText2_ProxyInfo,
+ &IID_IAccessibleText2,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText2::get_attributeRange */
+};
+
+const CInterfaceStubVtbl _IAccessibleText2StubVtbl =
+{
+ &IID_IAccessibleText2,
+ &IAccessibleText2_ServerInfo,
+ 23,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleEditableText, ver. 0.0,
+ GUID={0xA59AA09A,0x7011,0x4b65,{0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleEditableText_FormatStringOffsetTable[] =
+ {
+ 1524,
+ 2448,
+ 2490,
+ 2532,
+ 2574,
+ 2610,
+ 2658
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleEditableText_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleEditableText_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(10) _IAccessibleEditableTextProxyVtbl =
+{
+ &IAccessibleEditableText_ProxyInfo,
+ &IID_IAccessibleEditableText,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::copyText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::deleteText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::insertText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::cutText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::pasteText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::replaceText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleEditableText::setAttributes */
+};
+
+const CInterfaceStubVtbl _IAccessibleEditableTextStubVtbl =
+{
+ &IID_IAccessibleEditableText,
+ &IAccessibleEditableText_ServerInfo,
+ 10,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleHyperlink, ver. 0.0,
+ GUID={0x01C20F2B,0x3DD2,0x400f,{0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleHyperlink_FormatStringOffsetTable[] =
+ {
+ 198,
+ 234,
+ 270,
+ 312,
+ 366,
+ 408,
+ 2706,
+ 2748,
+ 2790,
+ 2826,
+ 2862
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHyperlink_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHyperlink_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(14) _IAccessibleHyperlinkProxyVtbl =
+{
+ &IAccessibleHyperlink_ProxyInfo,
+ &IID_IAccessibleHyperlink,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchor */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchorTarget */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_startIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_endIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_valid */
+};
+
+const CInterfaceStubVtbl _IAccessibleHyperlinkStubVtbl =
+{
+ &IID_IAccessibleHyperlink,
+ &IAccessibleHyperlink_ServerInfo,
+ 14,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleHypertext, ver. 0.0,
+ GUID={0x6B4F8BBF,0xF1F2,0x418a,{0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleHypertext_FormatStringOffsetTable[] =
+ {
+ 1524,
+ 1566,
+ 72,
+ 1620,
+ 1686,
+ 1722,
+ 1776,
+ 1824,
+ 1872,
+ 1932,
+ 1992,
+ 2052,
+ 2088,
+ 2124,
+ 2172,
+ 2208,
+ 2256,
+ 2316,
+ 2352,
+ 2898,
+ 2934,
+ 2976
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHypertext_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHypertext_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(25) _IAccessibleHypertextProxyVtbl =
+{
+ &IAccessibleHypertext_ProxyInfo,
+ &IID_IAccessibleHypertext,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */
+};
+
+const CInterfaceStubVtbl _IAccessibleHypertextStubVtbl =
+{
+ &IID_IAccessibleHypertext,
+ &IAccessibleHypertext_ServerInfo,
+ 25,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleHypertext2, ver. 0.0,
+ GUID={0xCF64D89F,0x8287,0x4B44,{0x85,0x01,0xA8,0x27,0x45,0x3A,0x60,0x77}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleHypertext2_FormatStringOffsetTable[] =
+ {
+ 1524,
+ 1566,
+ 72,
+ 1620,
+ 1686,
+ 1722,
+ 1776,
+ 1824,
+ 1872,
+ 1932,
+ 1992,
+ 2052,
+ 2088,
+ 2124,
+ 2172,
+ 2208,
+ 2256,
+ 2316,
+ 2352,
+ 2898,
+ 2934,
+ 2976,
+ 3018
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext2_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHypertext2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleHypertext2_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleHypertext2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(26) _IAccessibleHypertext2ProxyVtbl =
+{
+ &IAccessibleHypertext2_ProxyInfo,
+ &IID_IAccessibleHypertext2,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleHypertext2::get_hyperlinks */
+};
+
+const CInterfaceStubVtbl _IAccessibleHypertext2StubVtbl =
+{
+ &IID_IAccessibleHypertext2,
+ &IAccessibleHypertext2_ServerInfo,
+ 26,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleTable, ver. 0.0,
+ GUID={0x35AD8070,0xC20C,0x4fb4,{0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleTable_FormatStringOffsetTable[] =
+ {
+ 3060,
+ 3108,
+ 3144,
+ 3192,
+ 3234,
+ 3282,
+ 3324,
+ 3366,
+ 2790,
+ 2826,
+ 3402,
+ 3438,
+ 3474,
+ 3516,
+ 3564,
+ 3606,
+ 3648,
+ 3696,
+ 3744,
+ 3792,
+ 3828,
+ 3870,
+ 3912,
+ 3960,
+ 3996,
+ 4032,
+ 4068,
+ 4104,
+ 4170
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTable_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleTable_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTable_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(32) _IAccessibleTableProxyVtbl =
+{
+ &IAccessibleTable_ProxyInfo,
+ &IID_IAccessibleTable,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_accessibleAt */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_caption */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_childIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnDescription */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnExtentAt */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnHeader */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_nColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_nRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedChildren */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowDescription */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowExtentAt */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowHeader */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedChildren */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_summary */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_isColumnSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_isRowSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_isSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::selectRow */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::selectColumn */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::unselectRow */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::unselectColumn */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowColumnExtentsAtIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable::get_modelChange */
+};
+
+const CInterfaceStubVtbl _IAccessibleTableStubVtbl =
+{
+ &IID_IAccessibleTable,
+ &IAccessibleTable_ServerInfo,
+ 32,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleTable2, ver. 0.0,
+ GUID={0x6167f295,0x06f0,0x4cdd,{0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleTable2_FormatStringOffsetTable[] =
+ {
+ 3060,
+ 3108,
+ 270,
+ 4206,
+ 1686,
+ 4242,
+ 4278,
+ 3366,
+ 4314,
+ 4356,
+ 4398,
+ 4440,
+ 4482,
+ 4518,
+ 4560,
+ 4602,
+ 4638,
+ 4674,
+ 4710,
+ 4746
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTable2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTable2_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(23) _IAccessibleTable2ProxyVtbl =
+{
+ &IAccessibleTable2_ProxyInfo,
+ &IID_IAccessibleTable2,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_cellAt */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_caption */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_columnDescription */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedCells */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_rowDescription */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedCells */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedColumns */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedRows */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_summary */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isColumnSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isRowSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::selectRow */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::selectColumn */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectRow */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectColumn */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTable2::get_modelChange */
+};
+
+const CInterfaceStubVtbl _IAccessibleTable2StubVtbl =
+{
+ &IID_IAccessibleTable2,
+ &IAccessibleTable2_ServerInfo,
+ 23,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleTableCell, ver. 0.0,
+ GUID={0x594116B1,0xC99F,0x4847,{0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleTableCell_FormatStringOffsetTable[] =
+ {
+ 198,
+ 4782,
+ 72,
+ 4206,
+ 4824,
+ 4242,
+ 4866,
+ 4902,
+ 4962
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTableCell_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleTableCell_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(12) _IAccessibleTableCellProxyVtbl =
+{
+ &IAccessibleTableCell_ProxyInfo,
+ &IID_IAccessibleTableCell,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnExtent */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnHeaderCells */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowExtent */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowHeaderCells */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowIndex */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_isSelected */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowColumnExtents */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_table */
+};
+
+const CInterfaceStubVtbl _IAccessibleTableCellStubVtbl =
+{
+ &IID_IAccessibleTableCell,
+ &IAccessibleTableCell_ServerInfo,
+ 12,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleImage, ver. 0.0,
+ GUID={0xFE5ABB3D,0x615E,0x4f7b,{0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleImage_FormatStringOffsetTable[] =
+ {
+ 0,
+ 4998,
+ 5046
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleImage_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleImage_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleImage_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(6) _IAccessibleImageProxyVtbl =
+{
+ &IAccessibleImage_ProxyInfo,
+ &IID_IAccessibleImage,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleImage::get_description */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleImage::get_imagePosition */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleImage::get_imageSize */
+};
+
+const CInterfaceStubVtbl _IAccessibleImageStubVtbl =
+{
+ &IID_IAccessibleImage,
+ &IAccessibleImage_ServerInfo,
+ 6,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0016, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IAccessibleApplication, ver. 0.0,
+ GUID={0xD49DED83,0x5B25,0x43F4,{0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleApplication_FormatStringOffsetTable[] =
+ {
+ 0,
+ 36,
+ 5088,
+ 5124
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleApplication_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleApplication_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(7) _IAccessibleApplicationProxyVtbl =
+{
+ &IAccessibleApplication_ProxyInfo,
+ &IID_IAccessibleApplication,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appName */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appVersion */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitName */ ,
+ (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitVersion */
+};
+
+const CInterfaceStubVtbl _IAccessibleApplicationStubVtbl =
+{
+ &IID_IAccessibleApplication,
+ &IAccessibleApplication_ServerInfo,
+ 7,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Object interface: IAccessibleDocument, ver. 0.0,
+ GUID={0xC48C7FCF,0x4AB5,0x4056,{0xAF,0xA6,0x90,0x2D,0x6E,0x1D,0x11,0x49}} */
+
+#pragma code_seg(".orpc")
+static const unsigned short IAccessibleDocument_FormatStringOffsetTable[] =
+ {
+ 5160
+ };
+
+static const MIDL_STUBLESS_PROXY_INFO IAccessibleDocument_ProxyInfo =
+ {
+ &Object_StubDesc,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleDocument_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0
+ };
+
+
+static const MIDL_SERVER_INFO IAccessibleDocument_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ ia2_api_all__MIDL_ProcFormatString.Format,
+ &IAccessibleDocument_FormatStringOffsetTable[-3],
+ 0,
+ 0,
+ 0,
+ 0};
+CINTERFACE_PROXY_VTABLE(4) _IAccessibleDocumentProxyVtbl =
+{
+ &IAccessibleDocument_ProxyInfo,
+ &IID_IAccessibleDocument,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy ,
+ (void *) (INT_PTR) -1 /* IAccessibleDocument::get_anchorTarget */
+};
+
+const CInterfaceStubVtbl _IAccessibleDocumentStubVtbl =
+{
+ &IID_IAccessibleDocument,
+ &IAccessibleDocument_ServerInfo,
+ 4,
+ 0, /* pure interpreted */
+ CStdStubBuffer_METHODS
+};
+
+
+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0018, ver. 0.0,
+ GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+static const MIDL_STUB_DESC Object_StubDesc =
+ {
+ 0,
+ NdrOleAllocate,
+ NdrOleFree,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ ia2_api_all__MIDL_TypeFormatString.Format,
+ 1, /* -error bounds_check flag */
+ 0x50002, /* Ndr library version */
+ 0,
+ 0x700022b, /* MIDL Version 7.0.555 */
+ 0,
+ UserMarshalRoutines,
+ 0, /* notify & notify_flag routine table */
+ 0x1, /* MIDL flag */
+ 0, /* cs routines */
+ 0, /* proxy/server info */
+ 0
+ };
+
+const CInterfaceProxyVtbl * const _ia2_api_all_ProxyVtblList[] =
+{
+ ( CInterfaceProxyVtbl *) &_IAccessibleHyperlinkProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleImageProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleActionProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleValueProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessible2ProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleTableProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleApplicationProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleTable2ProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleEditableTextProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleHypertext2ProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleComponentProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleTableCellProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleHypertextProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleText2ProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleDocumentProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessible2_2ProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleRelationProxyVtbl,
+ ( CInterfaceProxyVtbl *) &_IAccessibleTextProxyVtbl,
+ 0
+};
+
+const CInterfaceStubVtbl * const _ia2_api_all_StubVtblList[] =
+{
+ ( CInterfaceStubVtbl *) &_IAccessibleHyperlinkStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleImageStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleActionStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleValueStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessible2StubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleTableStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleApplicationStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleTable2StubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleEditableTextStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleHypertext2StubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleComponentStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleTableCellStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleHypertextStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleText2StubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleDocumentStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessible2_2StubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleRelationStubVtbl,
+ ( CInterfaceStubVtbl *) &_IAccessibleTextStubVtbl,
+ 0
+};
+
+PCInterfaceName const _ia2_api_all_InterfaceNamesList[] =
+{
+ "IAccessibleHyperlink",
+ "IAccessibleImage",
+ "IAccessibleAction",
+ "IAccessibleValue",
+ "IAccessible2",
+ "IAccessibleTable",
+ "IAccessibleApplication",
+ "IAccessibleTable2",
+ "IAccessibleEditableText",
+ "IAccessibleHypertext2",
+ "IAccessibleComponent",
+ "IAccessibleTableCell",
+ "IAccessibleHypertext",
+ "IAccessibleText2",
+ "IAccessibleDocument",
+ "IAccessible2_2",
+ "IAccessibleRelation",
+ "IAccessibleText",
+ 0
+};
+
+const IID * const _ia2_api_all_BaseIIDList[] =
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ &IID_IAccessible,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ &IID_IAccessible,
+ 0,
+ 0,
+ 0
+};
+
+
+#define _ia2_api_all_CHECK_IID(n) IID_GENERIC_CHECK_IID( _ia2_api_all, pIID, n)
+
+int __stdcall _ia2_api_all_IID_Lookup( const IID * pIID, int * pIndex )
+{
+ IID_BS_LOOKUP_SETUP
+
+ IID_BS_LOOKUP_INITIAL_TEST( _ia2_api_all, 18, 16 )
+ IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 8 )
+ IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 4 )
+ IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 2 )
+ IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 1 )
+ IID_BS_LOOKUP_RETURN_RESULT( _ia2_api_all, 18, *pIndex )
+
+}
+
+const ExtendedProxyFileInfo ia2_api_all_ProxyFileInfo =
+{
+ (PCInterfaceProxyVtblList *) & _ia2_api_all_ProxyVtblList,
+ (PCInterfaceStubVtblList *) & _ia2_api_all_StubVtblList,
+ (const PCInterfaceName * ) & _ia2_api_all_InterfaceNamesList,
+ (const IID ** ) & _ia2_api_all_BaseIIDList,
+ & _ia2_api_all_IID_Lookup,
+ 18,
+ 2,
+ 0, /* table of [async_uuid] interfaces */
+ 0, /* Filler1 */
+ 0, /* Filler2 */
+ 0 /* Filler3 */
+};
+#pragma optimize("", on )
+#if _MSC_VER >= 1200
+#pragma warning(pop)
+#endif
+
+
+#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/
+
diff --git a/src/3rdparty/iaccessible2/iaccessible2.pri b/src/3rdparty/iaccessible2/iaccessible2.pri
index b3cdfa9356..c7daa760c6 100644
--- a/src/3rdparty/iaccessible2/iaccessible2.pri
+++ b/src/3rdparty/iaccessible2/iaccessible2.pri
@@ -10,84 +10,18 @@ MIDL_GENERATED = $$PWD/generated/$${ARCH_SUBDIR}
INCLUDEPATH += $$MIDL_GENERATED
-SOURCES += $${MIDL_GENERATED}/Accessible2_p.c \
- $${MIDL_GENERATED}/AccessibleAction_p.c \
- $${MIDL_GENERATED}/AccessibleApplication_p.c \
- $${MIDL_GENERATED}/AccessibleComponent_p.c \
- $${MIDL_GENERATED}/AccessibleEditableText_p.c \
- $${MIDL_GENERATED}/AccessibleHyperlink_p.c \
- $${MIDL_GENERATED}/AccessibleHypertext_p.c \
- $${MIDL_GENERATED}/AccessibleImage_p.c \
- $${MIDL_GENERATED}/AccessibleRelation_p.c \
- $${MIDL_GENERATED}/AccessibleTable2_p.c \
- $${MIDL_GENERATED}/AccessibleTableCell_p.c \
- $${MIDL_GENERATED}/AccessibleTable_p.c \
- $${MIDL_GENERATED}/AccessibleText_p.c \
- $${MIDL_GENERATED}/AccessibleValue_p.c
-
-SOURCES += $${MIDL_GENERATED}/Accessible2_i.c \
- $${MIDL_GENERATED}/AccessibleAction_i.c \
- $${MIDL_GENERATED}/AccessibleApplication_i.c \
- $${MIDL_GENERATED}/AccessibleComponent_i.c \
- $${MIDL_GENERATED}/AccessibleEditableText_i.c \
- $${MIDL_GENERATED}/AccessibleHyperlink_i.c \
- $${MIDL_GENERATED}/AccessibleHypertext_i.c \
- $${MIDL_GENERATED}/AccessibleImage_i.c \
- $${MIDL_GENERATED}/AccessibleRelation_i.c \
- $${MIDL_GENERATED}/AccessibleTable2_i.c \
- $${MIDL_GENERATED}/AccessibleTableCell_i.c \
- $${MIDL_GENERATED}/AccessibleTable_i.c \
- $${MIDL_GENERATED}/AccessibleText_i.c \
- $${MIDL_GENERATED}/AccessibleValue_i.c
-
-SOURCES += $${MIDL_GENERATED}/IA2TypeLibrary_i.c
+SOURCES += $${MIDL_GENERATED}/ia2_api_all_i.c \
+ $${MIDL_GENERATED}/ia2_api_all_p.c
# Do not add dlldata.c when building accessibility into a static library, as the COM entry points
# defined there can cause duplicate symbol errors when linking into a binary that also defines
# such entry points, e.g. anything linked against QtAxServer.
!static: SOURCES += $${MIDL_GENERATED}/dlldata.c
-HEADERS += $${MIDL_GENERATED}/Accessible2.h \
- $${MIDL_GENERATED}/AccessibleAction.h \
- $${MIDL_GENERATED}/AccessibleApplication.h \
- $${MIDL_GENERATED}/AccessibleComponent.h \
- $${MIDL_GENERATED}/AccessibleEditableText.h \
- $${MIDL_GENERATED}/AccessibleEventID.h \
- $${MIDL_GENERATED}/AccessibleHyperlink.h \
- $${MIDL_GENERATED}/AccessibleHypertext.h \
- $${MIDL_GENERATED}/AccessibleImage.h \
- $${MIDL_GENERATED}/AccessibleRelation.h \
- $${MIDL_GENERATED}/AccessibleRole.h \
- $${MIDL_GENERATED}/AccessibleStates.h \
- $${MIDL_GENERATED}/AccessibleTable.h \
- $${MIDL_GENERATED}/AccessibleTable2.h \
- $${MIDL_GENERATED}/AccessibleTableCell.h \
- $${MIDL_GENERATED}/AccessibleText.h \
- $${MIDL_GENERATED}/AccessibleValue.h \
- $${MIDL_GENERATED}/IA2CommonTypes.h \
- $${MIDL_GENERATED}/IA2TypeLibrary.h
-
+HEADERS += $${MIDL_GENERATED}/ia2_api_all.h
OTHER_FILES = \
- $$PWD/idl/Accessible2.idl \
- $$PWD/idl/AccessibleAction.idl \
- $$PWD/idl/AccessibleApplication.idl \
- $$PWD/idl/AccessibleComponent.idl \
- $$PWD/idl/AccessibleEditableText.idl \
- $$PWD/idl/AccessibleEventID.idl \
- $$PWD/idl/AccessibleHyperlink.idl \
- $$PWD/idl/AccessibleHypertext.idl \
- $$PWD/idl/AccessibleImage.idl \
- $$PWD/idl/AccessibleRelation.idl \
- $$PWD/idl/AccessibleRole.idl \
- $$PWD/idl/AccessibleStates.idl \
- $$PWD/idl/AccessibleTable.idl \
- $$PWD/idl/AccessibleTable2.idl \
- $$PWD/idl/AccessibleTableCell.idl \
- $$PWD/idl/AccessibleText.idl \
- $$PWD/idl/AccessibleValue.idl \
- $$PWD/idl/IA2CommonTypes.idl \
- $$PWD/idl/IA2TypeLibrary.idl
+ $$PWD/idl/ia2_api_all.idl
LIBS += -lrpcrt4
diff --git a/src/3rdparty/iaccessible2/idl/Accessible2.idl b/src/3rdparty/iaccessible2/idl/Accessible2.idl
deleted file mode 100644
index 6a0d750483..0000000000
--- a/src/3rdparty/iaccessible2/idl/Accessible2.idl
+++ /dev/null
@@ -1,679 +0,0 @@
-/*************************************************************************
- *
- * File Name (Accessible2.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-/** @mainpage
-
- @section _interfaces Interfaces
- IAccessible2\n
- IAccessibleAction\n
- IAccessibleApplication\n
- IAccessibleComponent\n
- IAccessibleHypertext\n
- IAccessibleHyperlink\n
- IAccessibleImage\n
- IAccessibleRelation\n
- IAccessibleTable [Deprecated]\n
- IAccessibleTable2\n
- IAccessibleTableCell\n
- IAccessibleText\n
- IAccessibleEditableText\n
- IAccessibleValue
-
- @section _structs Structs
- IA2Locale\n
- IA2TableModelChange\n
- IA2TextSegment
-
- @section _enums Enums
- ::IA2CoordinateType values define the requested coordinate type (screen or parent window).\n
- ::IA2EventID values identify events.\n
- ::IA2Role values defines roles which are in addition to the existing MSAA roles.\n
- ::IA2ScrollType values define where to place an object or substring on the screen.\n
- ::IA2States values define states which are in addition to the existing MSAA states.\n
- ::IA2TableModelChangeType values describe the kinds of changes made to a table (insert, delete, update).\n
- ::IA2TextBoundaryType values define the requested text unit (character, word, sentence, line, paragraph).\n
- ::IA2TextSpecialOffsets values define special offsets for use in the text interfaces.
-
- @section _constants Constants
- @ref grpRelations
-
- @section _misc Miscellaneous
- @ref _licensePage "BSD License"\n
- @ref _generalInfo "General Information"\n
-
- @page _licensePage BSD License
- %IAccessible2 IDL Specification
-
- Copyright (c) 2007, 2010 Linux Foundation\n
- Copyright (c) 2006 IBM Corporation\n
- Copyright (c) 2000, 2006 Sun Microsystems, Inc.\n
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials
- provided with the distribution.
-
- 3. Neither the name of the Linux Foundation nor the names of its
- contributors may be used to endorse or promote products
- derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- This BSD License conforms to the Open Source Initiative "Simplified
- BSD License" as published at:
- http://www.opensource.org/licenses/bsd-license.php
-
- %IAccessible2 is a trademark of the Linux Foundation. The %IAccessible2
- mark may be used in accordance with the
- <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/trademark-policy">
- Linux Foundation Trademark Policy</a> to indicate compliance with the %IAccessible2 specification.
-
- @page _generalInfo General Information
- The following information is applicable to two or more interfaces.
-
- @ref _errors\n
- @ref _memory\n
- &nbsp;&nbsp;@ref _arrayConsideration\n
- @ref _indexes\n
- @ref _enums\n
- @ref _specialOffsets\n
- @ref _dicoveringInterfaces\n
- @ref _changingInterfaces\n
- @ref _applicationInfo\n
- @ref _childIDs\n
- @ref _variants\n
- @ref _iaaction-iahyperlink\n
- @ref _trademark
-
- @section _errors Error Handling
- HRESULT values are defined by the Microsoft&reg; Win32&reg; API. For more information, refer to
- <a href="http://msdn2.microsoft.com/en-us/library/bb401631.aspx">Interpreting HRESULT Values</a>
- in MSDN&reg;.
-
- Note that the S_FALSE return value is considered a non-error value and the
- SUCCEEDED macro will return TRUE. S_FALSE is used when there is no failure
- but there was nothing valid to return, e.g. in IAccessible2::attributes when
- there are no attributes. When S_FALSE is returned [out] pointer types should
- be NULL and [out] longs should generally be 0, but sometimes -1 is used such
- as IAccessible2::indexInParent, IAccessibleText::caretOffset, and
- IAccessibleHypertext::hyperlinkIndex.
-
- Note that for BSTR [out] variables common COM practice is that the server does
- the SysAllocString and the client does the SysFreeString. Also note that when
- NULL is returned there is no need for the client to call SysFreeString. Please
- refer to the documentation for each method for more details regarding error handling.
-
- @section _memory Memory Management
- The following memory management issues should be considered:
- @li Although [out] BSTR variables are declared by the client, their space is
- allocated by the server. They need to be freed with SysFreeString by the
- client at end of life; the same is true when BSTRs are used in structs or
- arrays which are passed to the server.
- @li If there is no valid [out] BSTR to return, the server should return S_FALSE and
- assign NULL to the output, e.g. *theOutBSTR = NULL;.
- @li COM interfaces need to be referenced with AddRef when used and dereferenced
- with Release at end of life.
- @li Single [out] longs, HWNDs, booleans, and structs are declared by the caller
- and passed by reference. The marshaller does all the memory management.
-
- The following articles may be helpful for understanding memory management issues:
- @li An article by Don Box in a
- <a href="http://www.microsoft.com/msj/1196/activex1196.aspx">Q & A section</a>
- of the November 1996 edition of the Microsoft Systems Journal.
- @li A posting to a CodeGuru forum,
- <a href="http://www.codeguru.com/forum/showthread.php?t=364511">Windows SDK
- String: What are the rules for BSTR allocation and deallocation?</a>
-
- @subsection _arrayConsideration Special Consideration when using Arrays
- There are several methods which return arrays. In the case of IAccessible2::relations
- and IAccessibleRelation::targets the client must allocate and free the arrays.
-
- For the remaining methods which return arrays, the server must allocate the array
- and the client must free the array when no longer needed. These methods are
- IAccessible2::extendedStates, IAccessible2::localizedExtendedStates,
- IAccessibleAction::keyBinding, IAccessibleTable2::selectedCells,
- IAccessibleTable2::selectedColumns, and IAccessibleTable2::selectedRows. For
- those methods, the server must allocate both the top level array and any storage
- associated with it, e.g. for BSTRs. The server must allocate the arrays with
- CoTaskMemAlloc and any BSTRs with SysAllocString. The client must use CoTaskMemFree
- to free the array and any BSTRs must be freed with SysFreeString.
-
- Also, the IDL for those six methods includes an extraneous [in] parameter for the
- caller to specify the max size of the array. This parameter will be ignored by
- the COM server.
-
- @section _indexes Zero and One Based Indexes
- Unless otherwise specified all offsets and indexes are 0 based.
-
- @section _enums Enums
- Note that enums start at 0.
-
- @section _specialOffsets Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods
- IAccessibleText and IAccessibleEditableText can use one or more of the following
- special offset values. They are defined in the ::IA2TextSpecialOffsets enum.
- @li Using ::IA2_TEXT_OFFSET_LENGTH (-1) as an offset in any of the IAccessibleText or
- IAccessibleEditableText methods is the same as specifying the length of the string.
- @li Using ::IA2_TEXT_OFFSET_CARET (-2) as an offset for IAccessibleText::textBeforeOffset,
- IAccessibleText::textAtOffset, and IAccessibleText::textAfterOffset indicates that the
- text related to the physical location of the caret should be used. This is needed for
- applications that consider the character offset of the end of one line (as reached by
- pressing the End key) the same as the offset of the first character on the next line.
- Since the same offset is associated with two different lines a special means is needed
- to fetch text from the line where the caret is physically located.
-
- @section _dicoveringInterfaces Discovery of Interfaces
- In general AT (Assistive Technology) should try IAccessible2 interfaces, followed by using
- the MSAA (Microsoft&reg; Active Accessibility&reg;) interfaces. (In cases where the an application
- is known to have custom interfaces which provide information not supplied by IAccessible2
- or MSAA, then those custom interfaces can be used.) The AT can then, by default, support
- unknown IAccessible2/MSAA applications, without the application developers having to request
- AT vendors for support on an individual application by application basis.
-
- When you have a reference to an IAccessible and require a reference to an IAccessible2 use
- QueryService as follows:
- @code
- // pAcc is a reference to the accessible object's IAccessible interface.
- IServiceProvider *pService = NULL;
- hr = pAcc->QueryInterface(IID_IServiceProvider, (void **)&pService);
- if(SUCCEEDED(hr)) {
- IAccessible2 *pIA2 = NULL;
- hr = pService->QueryService(IID_IAccessible, IID_IAccessible2, (void**)&pIA2);
- if (SUCCEEDED(hr) && pIA2) {
- // The control supports IAccessible2.
- // pIA2 is the reference to the accessible object's IAccessible2 interface.
- }
- }
- @endcode
-
- @section _changingInterfaces Changing between Accessible Interfaces
- Note that developers must always implement MSAA's IAccessible and, if needed, some
- of the interfaces in the set of IAccessible2 interfaces. Although the IAccessible2
- IDL is coded such that IAccessible2 is a subclass of MSAA's IAccessible, none of
- MSAA's IAccessible methods are redefined by IAccessible2.
-
- QueryService must be used to switch from a reference to an MSAA IAccessible interface
- to another interface. This has been
- <a href="http://www.accessinteropalliance.org/docs/Introducing_IAccessibleEx.doc">
- documented by Microsoft</a> and the pertinent facts have been extracted below:
-
- @par
- Why use QueryService instead of just using QueryInterface to get IAccessibleEx
- directly? The reason is that since MSAA 2.0, clients don't talk to a server's
- IAccessible interface directly; instead they talk to an intermediate MSAA-provided
- wrapper that calls through to the original IAccessible. This wrapper provides services
- such as implementing IDispatch, supplying information from MSAA 2.0's Dynamic Annotation
- service, and scaling locations when running on Windows Vista with DPI scaling enabled.
- QueryService is the supported way to expose additional interfaces from an existing
- IAccessible and was originally used by MSHTML to expose IHTMLElement objects corresponding
- to IAccessibles. QueryService is often more convenient for servers to implement than
- QueryInterface because it does not have the same requirements for preserving object
- identity or symmetry/transitivity as QueryInterface, so QueryService allows servers to
- easily implement the interface on the same object or a separate object. The latter is
- often hard to do with QueryInterface unless the original object supports aggregation.
-
- Two related references in MSDN&reg; are:
- @li <a href="http://msdn.microsoft.com/en-us/library/ms696078(VS.85).aspx">
- "Using QueryService to expose a native object model interface for an IAccessible object"</a>
- @li <a href="http://msdn.microsoft.com/en-us/library/ms528415.aspx#acc_obj">
- "Accessing the Internet Explorer Object Associated with an Accessible Object"</a>
-
- Based on this information from Microsoft, QueryService must be used to switch back and forth
- between a reference to an MSAA IAccessible interface and any of the IAccessible2 interfaces.
-
- Regarding switching between any of the IAccessible2 interfaces, applications implementing
- IAccessible2 should implement the IAccessible2 interfaces on a single object since ATs
- will be using QueryInterface to switch between the IAccessilbe2 interfaces. Implementing
- the IAccessible2 interfaces on separate objects would require the use of QueryService.
- There is one exception, IAccessibleApplication can be implemented on a separate object so
- its common code doesn't have to be included in each accessible object. ATs should use
- QueryService to access IAccessibleApplication.
-
- @section _applicationInfo Access to Information about the Application
- Servers implementing IAccessible2 should provide access to the IAccessibleApplication
- interface via QueryService from any object so that ATs can easily determine specific
- information about the application such as its name or version.
-
- @section _childIDs Child IDs
- The IAccessible2 interfaces do not support child IDs, i.e. simple child elements.
- Full accessible objects must be created for each object that supports IAccessible2.
- Therefore MSAA's get_accChild should never return a child ID (other than CHILDID_SELF)
- for an object that implements any of the IAccessible2 interfaces.
-
- Microsoft's UI Automation specification has the same limitation and this was resolved
- in the UI Automation Express specification by adding IAccessibleEx::GetObjectForChild
- and IAccessibleEx::GetIAccessiblePair. These methods allow mapping back and forth
- between an IAccessibleEx and an {IAccessible, Child ID} pair. A future version of
- IAccessible2 may include similar methods to map back and forth between an IAccessible2
- and an {IAccessible, Child ID} pair.
-
- @section _variants VARIANTs
- Some methods return a VARIANT. Implementers need to make sure that the return type is
- specified, i.e. VT_I4, VT_IDISPATCH, etc. The methods that return VARIANTs are
- IAccessibleHyperlink::anchor, IAccessibleHyperlink::anchorTarget, IAccessibleValue::currentValue,
- IAccessibleValue::maximumValue, IAccessibleValue::minimumValue.
-
- @section _iaaction-iahyperlink IAccessibleHyperlink as subclass of IAccessibleAction
- In this version of the IDL, IAccessibleHyperlink is a subclass of IAccessibleAction.
- However, there is no practical need for that inheritance and in some cases, such as
- an image map of smart tags, it doesn't make sense because such an image map doesn't
- have actionable objects; it's the secondary smart tags that are actionable. As a
- result, implementations should not rely on the inheritance as it may be removed in
- a later version of the IDL.
-
- @section _trademark Trademark Attribution
- The names of actual companies and products mentioned herein may be the trademarks of
- their respective owners. In particular, Active Accessibility, Microsoft, MSDN, and Win32
- are trademarks of the Microsoft group of companies in the U.S.A. and/or other countries.
-
-**/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-import "AccessibleRelation.idl";
-import "AccessibleStates.idl";
-import "IA2CommonTypes.idl";
-
-/** A structure defining the locale of an accessible object.
-
-IAccessible2::locale returns this struct.
-*/
-typedef struct IA2Locale {
- BSTR language; ///< ISO 639-1 Alpha-2 two character language code
- BSTR country; ///< ISO 3166-1 Alpha-2 two character country code
- BSTR variant; ///< Application specific variant of the locale
-} IA2Locale;
-
-/** @brief This interface exposes the primary set of information about an
- IAccessible2 enabled accessible object.
-
- This interface must always be provided for objects that support some
- portion of the collection of the %IAccessible2 interfaces.
-
- Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces"
- for special considerations related to use of the MSAA IAccessible interface and
- the set of %IAccessible2 interfaces.
- */
-[object, uuid(E89F726E-C4F4-4c19-BB19-B647D7FA8478)]
-interface IAccessible2 : IAccessible
-{
-
- /** @brief Returns the number of accessible relations for this object.
- @param [out] nRelations
- @retval S_OK
- */
- [propget] HRESULT nRelations
- (
- [out, retval] long *nRelations
- );
-
- /** @brief Returns one accessible relation for this object.
- @param [in] relationIndex
- 0 based
- @param [out] relation
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT relation
- (
- [in] long relationIndex,
- [out, retval] IAccessibleRelation **relation
- );
-
- /** @brief Returns multiple accessible relations for this object.
- @param [in] maxRelations
- maximum size of the array allocated by the client
- @param [out] relations
- The array of accessible relation objects. Note that this array is to be
- allocated by the client and freed when no longer needed. Refer to @ref
- _arrayConsideration "Special Consideration when using Arrays" for more details.
- @param [out] nRelations
- actual number of relations in the returned array (not more than maxRelations)
- @retval S_OK
- @retval S_FALSE if there are no relations, nRelations is set to 0
- */
- [propget] HRESULT relations
- (
- [in] long maxRelations,
- [out, size_is(maxRelations), length_is(*nRelations)]
- IAccessibleRelation **relations,
- [out, retval] long *nRelations
- );
-
- /** @brief Returns the role of an %IAccessible2 object.
- @param [out] role
- The role of an %IAccessible2 object.
- @retval S_OK
- @note
- @li For convenience MSAA roles are also passed through this method so the
- AT doesn't have to also fetch roles through MSAA's get_accRole.
- @li %IAccessible2 roles should not be passed through MSAA's get_accRole.
- @li For compatibility with non IAccessible2 enabled ATs, IAccessible2
- applications should also add support to get_accRole to return the closest
- MSAA role or ROLE_SYSTEM_CLIENT (the MSAA defined default role) if there
- is not a good match.
- @li This method is missing a [propget] prefix in the IDL. The result is the
- method is named role in generated C++ code instead of get_role.
- */
- HRESULT role
- (
- [out, retval] long *role
- );
-
- /** @brief Makes an object visible on the screen.
- @param [in] scrollType
- Defines where the object should be placed on the screen.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT scrollTo
- (
- [in] enum IA2ScrollType scrollType
- );
-
- /** @brief Moves the top left of an object to a specified location.
-
- @param [in] coordinateType
- Specifies whether the coordinates are relative to the screen or the parent object.
- @param [in] x
- Defines the x coordinate.
- @param [in] y
- Defines the y coordinate.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT scrollToPoint
- (
- [in] enum IA2CoordinateType coordinateType,
- [in] long x,
- [in] long y
- );
-
- /** @brief Returns grouping information.
-
- Used for tree items, list items, tab panel labels, radio buttons, etc.
- Also used for collections of non-text objects.
-
- @param [out] groupLevel
- 1 based, 0 indicates that this value is not applicable
- @param [out] similarItemsInGroup
- 1 based, 0 indicates that this value is not applicable
- @param [out] positionInGroup
- 1 based, 0 indicates that this value is not applicable. This is an index
- into the objects in the current group, not an index into all the objects
- at the same group level.
- @retval S_OK if at least one value is valid
- @retval S_FALSE if no values are valid, [out] values are 0s
- @note This method is meant to describe the nature of an object's containment
- structure. It's exposed by trees, tree grids, nested lists, nested menus,
- but not headings, which uses the level object attribute. It is also exposed
- by radio buttons (with groupLevel == 0).
- @note This is normally not implemented on a combo box to describe the nature
- of its contents. Normally an AT will get that information from its child list
- object. However, in some cases when non-edit combo boxes are not able to be structured
- such that the list is a child of the combo box, this method is implemented on
- the combo box itself. ATs can use this interface if a child list is not found.
- */
- [propget] HRESULT groupPosition
- (
- [out] long *groupLevel,
- [out] long *similarItemsInGroup,
- [out, retval] long *positionInGroup
- );
-
- /** @brief Returns the bit strip containing any IAccessible2 states.
-
- The IAccessible2 states are in addition to the MSAA states and are defined in
- the IA2States enum.
-
- @param [out] states
- @retval S_OK
- */
- [propget] HRESULT states
- (
- [out, retval] AccessibleStates *states
- );
-
- /** @brief Returns the extended role.
-
- An extended role is a role which is dynamically generated by the application.
- It is not predefined by the %IAccessible2 specification.
-
- @param [out] extendedRole
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT extendedRole
- (
- [out, retval] BSTR *extendedRole
- );
-
- /** @brief Returns the localized extended role.
- @param [out] localizedExtendedRole
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT localizedExtendedRole
- (
- [out, retval] BSTR *localizedExtendedRole
- );
-
- /** @brief Returns the number of extended states.
- @param [out] nExtendedStates
- @retval S_OK
- */
- [propget] HRESULT nExtendedStates
- (
- [out, retval] long *nExtendedStates
- );
-
- /** @brief Returns the extended states (array of strings).
-
- An extended state is a state which is dynamically generated by the application.
- It is not predefined by the %IAccessible2 specification.
-
- @param [in] maxExtendedStates
- This parameter is ignored. Refer to @ref _arrayConsideration
- "Special Consideration when using Arrays" for more details.
- @param [out] extendedStates
- This array is allocated by the server. Free it with CoTaskMemFree.
- @param [out] nExtendedStates
- The number of extended states returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT extendedStates
- (
- [in] long maxExtendedStates,
- [out, size_is(,maxExtendedStates), length_is(,*nExtendedStates)] BSTR **extendedStates,
- [out, retval] long *nExtendedStates
- );
-
- /** @brief Returns the localized extended states (array of strings).
- @param [in] maxLocalizedExtendedStates
- This parameter is ignored. Refer to @ref _arrayConsideration
- "Special Consideration when using Arrays" for more details.
- @param [out] localizedExtendedStates
- This array is allocated by the server. Free it with CoTaskMemFree.
- @param [out] nLocalizedExtendedStates
- The number of localized extended states returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT localizedExtendedStates
- (
- [in] long maxLocalizedExtendedStates,
- [out, size_is(,maxLocalizedExtendedStates), length_is(,*nLocalizedExtendedStates)] BSTR **localizedExtendedStates,
- [out, retval] long *nLocalizedExtendedStates
- );
-
- /** @brief Returns the unique ID.
-
- The uniqueID is an identifier for this object, is unique within the
- current window, and remains the same for the lifetime of the accessible
- object.
-
- The uniqueID is not related to:
- - the MSAA objectID which is used by the server to disambiguate between
- IAccessibles per HWND or
- - the MSAA childID which is used to disambiguate between children being
- managed by an IAccessible.
-
- This value is provided so the AT can have access to a unique runtime persistent
- identifier even when not handling an event for the object.
-
- An example of when this value is useful is if the AT wants to build a cache.
- The AT could cache the uniqueIDs in addition to other data being cached.
- When an event is fired the AT could map the uniqueID to its internal model.
- Thus, if there's a REORDER/SHOW/HIDE event the AT knows which part of the
- internal structure has been invalidated and can refetch just that part.
-
- This value can also be used by an AT to determine when the current control
- has changed. If the role is the same for two controls that are adjacent in
- the tab order, this can be used to detect the new control.
-
- Another use of this value by an AT is to identify when a grouping object has
- changed, e.g. when moving from a radio button in one group to a radio button in a
- different group.
-
- One means of implementing this would be to create a factory with a 32 bit number
- generator and a reuse pool. The number generator would emit numbers starting
- at 1. Each time an object's life cycle ended, its number would be saved into a
- reuse pool. The number generator would be used whenever the reuse pool was empty.
-
- Another way to create a unique ID is to generate it from a pointer value, e.g. an
- object's address. That would be unique because no two active objects can use the
- same allocated memory space.
-
- @param [out] uniqueID
- @retval S_OK
- */
- [propget] HRESULT uniqueID
- (
- [out, retval] long *uniqueID
- );
-
- /** @brief Returns the window handle for the parent window which contains this object.
-
- This is the same window handle which will be passed for any events that occur on the
- object, but is cached in the accessible object for use when it would be helpful to
- access the window handle in cases where an event isn't fired on this object.
-
- A use case is when a screen reader is grabbing an entire web page on a page load.
- Without the availability of windowHandle, the AT would have to get the window handle
- by using WindowFromAccessibleObject on each IAccessible, which is slow because it's
- implemented by oleacc.dll as a loop which crawls up the ancestor chain and looks for
- a ROLE_WINDOW object, mapping that back to a window handle.
-
- @param [out] windowHandle
- @retval S_OK
- */
- [propget] HRESULT windowHandle
- (
- [out, retval] HWND *windowHandle
- );
-
- /** @brief Returns the index of this object in its parent object.
- @param [out] indexInParent
- 0 based; -1 indicates there is no parent; the upper bound is the value
- returned by the parent's IAccessible::get_accChildCount.
- @retval S_OK
- @retval S_FALSE if no parent, [out] value is -1
- */
- [propget] HRESULT indexInParent
- (
- [out, retval] long *indexInParent
- );
-
- /** @brief Returns the IA2Locale of the accessible object.
- @param [out] locale
- @retval S_OK
- */
- [propget] HRESULT locale
- (
- [out, retval] IA2Locale *locale
- );
-
- /** @brief Returns the attributes specific to this %IAccessible2 object, such as a cell's formula.
- @param [out] attributes
- @retval S_OK
- @retval S_FALSE returned if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT attributes
- (
- [out, retval] BSTR *attributes
- );
-
-}
-
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleAction.idl b/src/3rdparty/iaccessible2/idl/AccessibleAction.idl
deleted file mode 100644
index edab0d288b..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleAction.idl
+++ /dev/null
@@ -1,194 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleAction.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-
-/** @brief This interface gives access to actions that can be executed
- for accessible objects.
-
- Every accessible object that can be manipulated via the native GUI beyond the
- methods available either in the MSAA IAccessible interface or in the set of
- IAccessible2 interfaces (other than this IAccessibleAction interface) should
- support the IAccessibleAction interface in order to provide Assistive Technology
- access to all the actions that can be performed by the object. Each action can
- be performed or queried for a name, description or associated key bindings.
- Actions are needed more for ATs that assist the mobility impaired, such as
- on-screen keyboards and voice command software. By providing actions directly,
- the AT can present them to the user without the user having to perform the extra
- steps to navigate a context menu.
-
- The first action should be equivalent to the MSAA default action. If there is
- only one action, %IAccessibleAction should also be implemented.
-*/
-[object, uuid(B70D9F59-3B5A-4dba-AB9E-22012F607DF5)]
-interface IAccessibleAction : IUnknown
-{
-
- /** @brief Returns the number of accessible actions available in this object.
-
- If there are more than one, the first one is considered the
- "default" action of the object.
- @param [out] nActions
- The returned value of the number of actions is zero if there are
- no actions.
- @retval S_OK
- @note This method is missing a [propget] prefix in the IDL. The result is the
- method is named nActions in generated C++ code instead of get_nActions.
- */
- HRESULT nActions
- (
- [out,retval] long* nActions
- );
-
- /** @brief Performs the specified Action on the object.
- @param [in] actionIndex
- 0 based index specifying the action to perform. If it lies outside
- the valid range no action is performed.
- @retval S_OK
- @retval S_FALSE if action could not be performed
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT doAction
- (
- [in] long actionIndex
- );
-
- /** @brief Returns a description of the specified action of the object.
- @param [in] actionIndex
- 0 based index specifying which action's description to return.
- If it lies outside the valid range an empty string is returned.
- @param [out] description
- The returned value is a localized string of the specified action.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT description
- (
- [in] long actionIndex,
- [out, retval] BSTR *description
- );
-
- /** @brief Returns an array of BSTRs describing one or more key bindings, if
- there are any, associated with the specified action.
-
- The returned strings are the localized human readable key sequences to be
- used to activate each action, e.g. "Ctrl+Shift+D". Since these key
- sequences are to be used when the object has focus, they are like
- mnemonics (access keys), and not like shortcut (accelerator) keys.
-
- There is no need to implement this method for single action controls since
- that would be redundant with the standard MSAA programming practice of
- getting the mnemonic from get_accKeyboardShortcut.
-
- An AT such as an On Screen Keyboard might not expose these bindings but
- provide alternative means of activation.
-
- Note: the client allocates and passes in an array of pointers. The server
- allocates the BSTRs and passes back one or more pointers to these BSTRs into
- the array of pointers allocated by the client. The client is responsible
- for deallocating the BSTRs.
-
- @param [in] actionIndex
- 0 based index specifying which action's key bindings should be returned.
- @param [in] nMaxBindings
- This parameter is ignored. Refer to @ref _arrayConsideration
- "Special Consideration when using Arrays" for more details.
- @param [out] keyBindings
- An array of BSTRs, allocated by the server, one for each key binding.
- Free it with CoTaskMemFree.
- @param [out] nBindings
- The number of key bindings returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are no key bindings, [out] values are NULL and 0 respectively
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT keyBinding
- (
- [in] long actionIndex,
- [in] long nMaxBindings,
- [out, size_is(,nMaxBindings), length_is(,*nBindings)] BSTR **keyBindings,
- [out, retval] long *nBindings
- );
-
- /** @brief Returns the non-localized name of specified action.
- @param [in] actionIndex
- 0 based index specifying which action's non-localized name should be returned.
- @param [out] name
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT name
- (
- [in] long actionIndex,
- [out, retval] BSTR *name
- );
-
- /** @brief Returns the localized name of specified action.
- @param [in] actionIndex
- 0 based index specifying which action's localized name should be returned.
- @param [out] localizedName
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT localizedName
- (
- [in] long actionIndex,
- [out, retval] BSTR *localizedName
- );
-
-}
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleApplication.idl b/src/3rdparty/iaccessible2/idl/AccessibleApplication.idl
deleted file mode 100644
index ed15aa0018..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleApplication.idl
+++ /dev/null
@@ -1,121 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleApplication.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-
-/** @brief This interface gives access to the application's name and version information.
-
- This interface provides the AT with the information it needs to differentiate
- this application from other applications, from other versions of this
- application, or from other versions of this application running on different
- versions of an accessibility bridge or accessibility toolkit.
-
- Servers implementing IAccessible2 should provide access to the %IAccessibleApplication
- interface via QueryService from any object so that ATs can easily determine specific
- information about the application such as its name or version.
-*/
-[object, uuid(D49DED83-5B25-43F4-9B95-93B44595979E)]
-interface IAccessibleApplication : IUnknown
-{
-
- /** @brief Returns the application name.
- @param [out] name
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT appName
- (
- [out, retval] BSTR *name
- );
-
- /** @brief Returns the application version.
- @param [out] version
- The version string must not contain levels when it is know beforehand that
- this information will never require a change in a client's behavior.
- For example, use "3.6.0" rather than "3.6.0.v201005131500".
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT appVersion
- (
- [out, retval] BSTR *version
- );
-
- /** @brief Returns the toolkit/bridge name.
- @param [out] name
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT toolkitName
- (
- [out, retval] BSTR *name
- );
-
- /** @brief Returns the toolkit/bridge version.
- @param [out] version
- The version string must not contain levels when it is know beforehand that
- this information will never require a change in a client's behavior.
- For example, use "3.6.0" rather than "3.6.0.v201005131500".
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT toolkitVersion
- (
- [out, retval] BSTR *version
- );
-
-}
-
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleComponent.idl b/src/3rdparty/iaccessible2/idl/AccessibleComponent.idl
deleted file mode 100644
index bea623a938..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleComponent.idl
+++ /dev/null
@@ -1,124 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleComponent.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-
-/** A value specifying a color in ARGB format, where each 8 bit color component
-specifies alpha, red, green, and blue respectively. The alpha value is optional.
-*/
-typedef long IA2Color;
-
-/** @brief This interface is implemented by any object that can be rendered
- on the screen.
-
- This interface provides the standard mechanism for an assistive technology
- to retrieve information concerning the graphical representation of an object.
- Coordinates used by the functions of this interface are specified in
- different coordinate systems. Their scale is the same and is equal to
- that of the screen coordinate system. In other words all coordinates
- are measured in pixels. They differ in their respective origin:
- <ul>
- <li>The screen coordinate system has its origin in the upper left
- corner of the current screen.</li>
- <li>The origin of the parent coordinate system is the upper left corner
- of the parent's bounding box. With no parent the screen coordinate
- system is used instead.</li>
- </ul>
-*/
-[object, uuid(1546D4B0-4C98-4bda-89AE-9A64748BDDE4)]
-interface IAccessibleComponent : IUnknown
-{
-
- /** @brief Returns the location of the upper left corner of the object's
- bounding box relative to the immediate parent object.
-
- The coordinates of the bounding box are given relative to the parent's
- coordinate system. The coordinates of the returned position are relative
- to this object's parent or relative to the screen on which this object
- is rendered if it has no parent. If the object is not on any screen
- the returned position is (0,0).
-
- @param [out] x
- @param [out] y
- @retval S_OK
- */
- [propget] HRESULT locationInParent
- (
- [out] long *x,
- [out, retval] long *y
- );
-
- /** @brief Returns the foreground color of this object.
- @param [out] foreground
- The returned color is the foreground color of this object or, if
- that is not supported, the default foreground color.
- @retval S_OK
- */
- [propget] HRESULT foreground
- (
- [out, retval] IA2Color *foreground
- );
-
- /** @brief Returns the background color of this object.
- @param [out] background
- The returned color is the background color of this object or, if
- that is not supported, the default background color.
- @retval S_OK
- */
- [propget] HRESULT background
- (
- [out, retval] IA2Color *background
- );
-}
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleEditableText.idl b/src/3rdparty/iaccessible2/idl/AccessibleEditableText.idl
deleted file mode 100644
index 48fefd30ef..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleEditableText.idl
+++ /dev/null
@@ -1,259 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleEditableText.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-import "IA2CommonTypes.idl";
-
-/** @brief This interface provides clipboard capability to text objects.
-
- This interface is typically used in conjunction with the IAccessibleText
- interface and complements that interface with the additional capability of
- clipboard operations. Note that even a read only text object can support
- the copy capability so this interface is not limited to editable objects.
-
- The substrings used with this interface are specified as follows:
- If startOffset is less than endOffset, the substring starts with the
- character at startOffset and ends with the character just before endOffset.
- If endOffset is lower than startOffset, the result is the same as a call
- with the two arguments exchanged. The whole text can be defined by passing
- the indices zero and IAccessibleText::nCharacters. If both indices have the
- same value, an empty string is defined.
-
- Refer to the @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about a special offset constant that can be used in %IAccessibleEditableText methods.
-*/
-[object, uuid(A59AA09A-7011-4b65-939D-32B1FB5547E3)]
-interface IAccessibleEditableText : IUnknown
-{
-
- /** @brief Copies the text range into the clipboard.
-
- The selection is set to the specified offsets and then selection is copied into
- the system clipboard.
-
- @param [in] startOffset
- Start index of the text to moved into the clipboard.
- The valid range is 0..length.
- @param [in] endOffset
- End index of the text to moved into the clipboard.
- The valid range is 0..length.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- @note Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleEditableText
- methods.
- */
- HRESULT copyText
- (
- [in] long startOffset,
- [in] long endOffset
- );
-
- /** @brief Deletes a range of text.
-
- The text between and including the two given indices is deleted
- from the text represented by this object.
-
- @param [in] startOffset
- Start index of the text to be deleted.
- The valid range is 0..length.
- @param [in] endOffset
- End index of the text to be deleted.
- The valid range is 0..length.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- @note Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleEditableText
- methods.
- */
- HRESULT deleteText
- (
- [in] long startOffset,
- [in] long endOffset
- );
-
- /** @brief Inserts text at the specified position.
-
- The specified string is inserted at the given index into the text
- represented by this object.
-
- @param [in] offset
- Index at which to insert the text.
- The valid range is 0..length.
- Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleEditableText
- methods.
- @param [in] text
- Text that is inserted.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT insertText
- (
- [in] long offset,
- [in] BSTR *text
- );
-
- /** @brief Deletes a range of text and copies it to the clipboard.
-
- The selection is set to the specified offsets, the selection is then copied into
- the system clipboard, and then the selection is deleted.
-
- @param [in] startOffset
- Start index of the text to be deleted.
- The valid range is 0..length.
- @param [in] endOffset
- End index of the text to be deleted.
- The valid range is 0..length.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- @note Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleEditableText
- methods.
- */
- HRESULT cutText
- (
- [in] long startOffset,
- [in] long endOffset
- );
-
- /** @brief Pastes content from the clipboard.
-
- Any existing selection is removed, the clipboard content is then pasted into
- this object's text at the given offset. This method is similar to the insertText
- method. If the index is not valid the system clipboard content is not inserted. The
- behavior is the same as when Ctrl+V is used, i.e. the pasted contents are not
- necessarily plain text.
-
- @param [in] offset
- Index at which to insert the content from the system clipboard into
- the text represented by this object.
- The valid range is 0..length.
- Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleEditableText
- methods.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT pasteText
- (
- [in] long offset
- );
-
- /** @brief Replaces text.
-
- The text between the two given indices is replaced by the specified
- replacement string. This method is equivalent to calling first
- IAccessibleEditableText::deleteText with the two indices and then
- calling IAccessibleEditableText::insertText with the replacement text
- at the start index.
-
- @param [in] startOffset
- Start index of the text to be replaced.
- The valid range is 0..length.
- @param [in] endOffset
- End index of the text to be replaced.
- The valid range is 0..length.
- @param [in] text
- The Text that replaces the text between the given indices.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- @note Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleEditableText
- methods.
- */
- HRESULT replaceText
- (
- [in] long startOffset,
- [in] long endOffset,
- [in] BSTR *text
- );
-
- /** @brief Replaces the attributes of a text range by the given set of attributes.
-
- Sets the attributes for the text between the two given indices. The old
- attributes are replaced by the new list of attributes.
-
- @param [in] startOffset
- Start index of the text whose attributes are modified.
- The valid range is 0..length.
- @param [in] endOffset
- End index of the text whose attributes are modified.
- The valid range is 0..length.
- @param [in] attributes
- Set of attributes that replaces the old list of attributes of
- the specified text portion.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- @note Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleEditableText
- methods.
- */
- HRESULT setAttributes
- (
- [in] long startOffset,
- [in] long endOffset,
- [in] BSTR *attributes
- );
-}
-
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleEventID.idl b/src/3rdparty/iaccessible2/idl/AccessibleEventID.idl
deleted file mode 100644
index 1db957d6e5..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleEventID.idl
+++ /dev/null
@@ -1,230 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleEventID.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-/** %IAccessible2 specific event constants
-
- This enum defines the event IDs fired by %IAccessible2 objects. The event IDs
- are in addition to those used by MSAA.
-*/
-enum IA2EventID {
-
- /** The change of the number or attributes of actions of an accessible
- object is signaled by events of this type.
- */
- IA2_EVENT_ACTION_CHANGED = 0x101,
-
- /** <b>Deprecated.</b> The active descendant of a component has changed.
-
- Note: This event constant is misspelled and thus is deprecated and will be
- removed in a later version. Please use the correctly spelled version which
- follows.
- */
- IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
-
- /** The active descendant of a component has changed. The active descendant
- is used in objects with transient children.
-
- Note: Due to the fact that MSAA's WinEvents don't allow the active child index
- to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event the manages
- descendants scheme can't be used. Instead the active child object has to fire
- MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be
- added to provide for event specific data to be passed with the event. At that
- time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
- IA2_STATE_MANAGES_DESCENDANTS state would be useful.
- */
- IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
-
- /** The document wide attributes of the document object have changed.
- */
- IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED,
-
- /** The contents of the document have changed.
- */
- IA2_EVENT_DOCUMENT_CONTENT_CHANGED,
-
- /** The loading of the document has completed.
- */
- IA2_EVENT_DOCUMENT_LOAD_COMPLETE,
-
- /** The loading of the document was interrupted.
- */
- IA2_EVENT_DOCUMENT_LOAD_STOPPED,
-
- /** The document contents are being reloaded.
- */
- IA2_EVENT_DOCUMENT_RELOAD,
-
- /** The ending index of this link within the containing string has changed.
- */
- IA2_EVENT_HYPERLINK_END_INDEX_CHANGED,
-
- /** The number of anchors associated with this hyperlink object has changed.
- */
- IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED,
-
- /** The hyperlink selected state changed from selected to unselected or
- from unselected to selected.
- */
- IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED,
-
- /** One of the links associated with the hypertext object has been activated.
- */
- IA2_EVENT_HYPERTEXT_LINK_ACTIVATED,
-
- /** One of the links associated with the hypertext object has been selected.
- */
- IA2_EVENT_HYPERTEXT_LINK_SELECTED,
-
- /** The starting index of this link within the containing string has changed.
- */
- IA2_EVENT_HYPERLINK_START_INDEX_CHANGED,
-
- /** Focus has changed from one hypertext object to another, or focus moved
- from a non-hypertext object to a hypertext object, or focus moved from a
- hypertext object to a non-hypertext object.
- */
- IA2_EVENT_HYPERTEXT_CHANGED,
-
- /** The number of hyperlinks associated with a hypertext object changed
- */
- IA2_EVENT_HYPERTEXT_NLINKS_CHANGED,
-
- /** An object's attributes changed.
- Also see ::IA2_EVENT_TEXT_ATTRIBUTE_CHANGED.
- */
- IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED,
-
- /** A slide changed in a presentation document or a page boundary was
- crossed in a word processing document.
- */
- IA2_EVENT_PAGE_CHANGED,
-
- /** The caret moved from one section to the next.
- */
- IA2_EVENT_SECTION_CHANGED,
-
- /** A table caption changed.
- */
- IA2_EVENT_TABLE_CAPTION_CHANGED,
-
- /** A table's column description changed.
- */
- IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED,
-
- /** A table's column header changed.
- */
- IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED,
-
- /** A table's data changed.
- */
- IA2_EVENT_TABLE_MODEL_CHANGED,
-
- /** A table's row description changed.
- */
- IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED,
-
- /** A table's row header changed.
- */
- IA2_EVENT_TABLE_ROW_HEADER_CHANGED,
-
- /** A table's summary changed.
- */
- IA2_EVENT_TABLE_SUMMARY_CHANGED,
-
- /** A text object's attributes changed.
- Also see ::IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED.
- */
- IA2_EVENT_TEXT_ATTRIBUTE_CHANGED,
-
- /** The caret has moved to a new position.
- */
- IA2_EVENT_TEXT_CARET_MOVED,
-
- /** <b>Deprecated.</b> This event is equivalent to ::IA2_EVENT_TEXT_UPDATED.
- */
- IA2_EVENT_TEXT_CHANGED,
-
- /** The caret moved from one column to the next.
- */
- IA2_EVENT_TEXT_COLUMN_CHANGED,
-
- /** Text was inserted.
- */
- IA2_EVENT_TEXT_INSERTED,
-
- /** Text was removed.
- */
- IA2_EVENT_TEXT_REMOVED,
-
- /** This event indicates general text changes, i.e. changes to text that are
- exposed through the IAccessibleText interface. For compatibility with ATK/AT-SPI
- which does not have an equivalent event, servers can alternatively fire
- ::IA2_EVENT_TEXT_REMOVED and ::IA2_EVENT_TEXT_INSERTED.
- */
- IA2_EVENT_TEXT_UPDATED,
-
- /** The text selection changed. Later versions of Microsoft development environments
- have an equivalent event identified, EVENT_OBJECT_TEXTSELECTIONCHANGED. Servers
- should use that if it is available and use IA2_EVENT_TEXT_SELECTION_CHANGED otherwise.
- Clients should be prepared to respond to either event.
-
- */
- IA2_EVENT_TEXT_SELECTION_CHANGED,
-
- /** A visible data event indicates the change of the visual appearance
- of an accessible object. This includes for example most of the
- attributes available via the IAccessibleComponent interface.
- */
- IA2_EVENT_VISIBLE_DATA_CHANGED
-
-};
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleHyperlink.idl b/src/3rdparty/iaccessible2/idl/AccessibleHyperlink.idl
deleted file mode 100644
index 9311176d9c..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleHyperlink.idl
+++ /dev/null
@@ -1,187 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleHyperlink.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-import "AccessibleAction.idl";
-
-/** @brief This interface represents hyperlinks.
-
- This interface represents a hyperlink associated with a single substring
- of text or single non-text object. Non-text objects can have either a
- single link or a collection of links such as when the non-text object is
- an image map.
-
- Linked objects and anchors are implementation dependent. This interface is derived
- from IAccessibleAction. IAccessibleAction::nActions is one greater than the
- maximum value for the indices used with the methods of this interface.
-
- Furthermore, the object that implements this interface has to be connected
- implicitly or explicitly with an object that implements IAccessibleText.
- IAccessibleHyperlink::startIndex and IAccessibleHyperlink::endIndex are
- indices with respect to the text exposed by IAccessibleText.
-
- This interface provides access to a single object which can have multiple actions.
- An example is an image map which is an image with multiple links each of which is
- associated with a separate non-overlapping area of the image. This interface could
- also be applied to other kinds of objects with multiple actions such as "smart tags"
- which are objects, typically strings, which have multiple actions such as
- "Activate URI", "Bookmark URI", etc.
-
- An interesting use case is an image map where each area is associated with multiple
- actions, e.g. an image map of smart tags. In this case you would have to implement
- two levels of accessible hyperlinks. The first level hyperlinks would only implement
- anchor and anchorTarget. The anchors would all reference the image object. The
- anchorTargets would reference the second level accessible hyperlink objects. None
- of the IAccessibleAction methods would be implemented on the first level hyperlink
- objects. The second level hyperlink objects would implement the IAccessibleAction
- methods. Their anchors would also reference the image object and their anchorTargets
- would reference URLs or the objects that would be activated.
-
- This use case demonstrates that in some cases there is no need for IAccessibleHyperlink
- to derive from IAccessibleAction. As a result it may be removed in a later version of
- the IDL and it is suggested that implementations should not rely on the inheritance.
-
-*/
-[object, uuid(01C20F2B-3DD2-400f-949F-AD00BDAB1D41)]
-interface IAccessibleHyperlink : IAccessibleAction
-{
-
- /** @brief Returns an object that represents the link anchor, as appropriate
- for the link at the specified index.
- @param [in] index
- A 0 based index identifies the anchor when, as in the case of an image map,
- there is more than one link represented by this object. The valid maximal
- index is indicated by IAccessibleAction::nActions.
- @param [out] anchor
- This is an implementation dependent value. For example, for a text link this
- method could return the substring of the containing string where the substring
- is overridden with link behavior, and for an image link this method could return
- an IUnknown VARIANT for IAccessibleImage. See the section about
- @ref _variants "VARIANTs" for additional information.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT anchor
- (
- [in] long index,
- [out, retval] VARIANT *anchor
- );
-
- /** @brief Returns an object representing the target of the link, as appropriate
- for the link at the specified index.
- @param [in] index
- A 0 based index identifies the anchor when, as in the case of an image map,
- there is more than one link represented by this object. The valid maximal
- index is indicated by IAccessibleAction::nActions.
- @param [out] anchorTarget
- This is an implementation dependent value. For example this method could
- return a BSTR VARIANT of the URI. Alternatively this method could return an
- IUnknown VARIANT of a COM interface representing a target object to be
- activated when the link is activated. See the section about
- @ref _variants "VARIANTs" for additional information.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT anchorTarget
- (
- [in] long index,
- [out, retval] VARIANT *anchorTarget
- );
-
- /** @brief Returns the 0 based character offset at which the textual representation of the hyperlink starts.
-
- The returned value is related to the IAccessibleText interface of the object that
- owns this hyperlink.
- @param [out] index
- @retval S_OK
- */
- [propget] HRESULT startIndex
- (
- [out, retval] long *index
- );
-
- /** @brief Returns the 0 based character offset at which the textual representation of the hyperlink ends.
-
- The returned value is related to the IAccessibleText interface of the object that
- owns this hyperlink. The character at the index is not part of the hypertext.
- @param [out] index
- @retval S_OK
- */
- [propget] HRESULT endIndex
- (
- [out, retval] long *index
- );
-
- /** @brief Returns whether the target object referenced by this link is still valid.
-
- This is a volatile state that may change without sending an appropriate event.
- Returns TRUE if the referenced target is still valid and FALSE otherwise.
-
- This has also been used to indicate whether or not the URI of the anchorTarget
- is malformed.
-
- @param [out] valid
- If false, one or more of the object's links are invalid.
- If true, all of the object's links are valid.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is FALSE
- @note This method is not being used, is deprecated, and should not be implemented or
- used. It is likely that this method will be removed in a later version of the IDL.
- */
- [propget] HRESULT valid
- (
- [out, retval] boolean *valid
- );
-}
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleHypertext.idl b/src/3rdparty/iaccessible2/idl/AccessibleHypertext.idl
deleted file mode 100644
index 13093bf610..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleHypertext.idl
+++ /dev/null
@@ -1,123 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleHypertext.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-import "AccessibleText.idl";
-import "AccessibleHyperlink.idl";
-
-/** @brief This interface exposes information about hypertext in a document.
-
- The %IAccessibleHypertext interface is the main interface to expose
- hyperlinks in a document, typically a text document, that are used
- to reference other documents. A typical implementation is to implement
- this interface on the smallest text object such as a paragraph of text.
-*/
-[object, uuid(6B4F8BBF-F1F2-418a-B35E-A195BC4103B9)]
-interface IAccessibleHypertext : IAccessibleText
-{
-
- /** @brief Returns the number of links and link groups contained within this hypertext
- paragraph.
- @param [out] hyperlinkCount
- The number of links and link groups within this hypertext paragraph.
- Returns 0 if there is no link.
- @retval S_OK
- */
- [propget] HRESULT nHyperlinks
- (
- [out, retval] long *hyperlinkCount
- );
-
- /** @brief Returns the specified link.
-
- The returned IAccessibleHyperlink object encapsulates the hyperlink and
- provides several kinds of information describing it.
- @param [in] index
- This 0 based index specifies the hyperlink to return.
- @param [out] hyperlink
- If the given index is valid, i.e. lies in the interval from 0 to the number
- of links minus one, a reference to the specified hyperlink object is returned.
- If the index is invalid then a NULL pointer is returned.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT hyperlink
- (
- [in] long index,
- [out, retval] IAccessibleHyperlink **hyperlink
- );
-
- /** @brief Returns the index of the hyperlink that is associated with this character index.
-
- This is the case when a link spans the given character index.
- @param [in] charIndex
- A 0 based index of the character for which to return the link index. If
- IAccessibleText is used to represent the text containing the link, then the
- character index is only valid if it is greater than or equal to zero and
- lower than the number of characters in the text.
- @param [out] hyperlinkIndex
- Returns the 0 based index of the hyperlink that is associated with this
- character index, or -1 if charIndex is not on a link.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is -1
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT hyperlinkIndex
- (
- [in] long charIndex,
- [out, retval] long *hyperlinkIndex
- );
-
-}
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleImage.idl b/src/3rdparty/iaccessible2/idl/AccessibleImage.idl
deleted file mode 100644
index e347614e29..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleImage.idl
+++ /dev/null
@@ -1,111 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleImage.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-import "IA2CommonTypes.idl";
-
-/** @brief This interface represents images and icons.
-
- This interface is used for a representation of images like icons on buttons.
- %IAccessibleImage only needs to be implemented in certain situations. Some
- examples are:
- <ol>
- <li>The accessible name and description are not enough to fully
- describe the image, e.g. when the accessible description is used to define the
- behavior of an actionable image and the image itself conveys semantically
- significant information.
- <li>The user can edit the content that includes an
- image and therefore the user needs to be able to review the image's position.
- </ol>
-*/
-[object, uuid(FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE)]
-interface IAccessibleImage : IUnknown
-{
- /** @brief Returns the localized description of the image.
- @param [out] description
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT description
- (
- [out, retval] BSTR *description
- );
-
- /** @brief Returns the coordinates of the image.
- @param [in] coordinateType
- Specifies whether the returned coordinates should be relative to the screen or the parent object.
- @param [out] x
- @param [out] y
- @retval S_OK
- */
- [propget] HRESULT imagePosition
- (
- [in] enum IA2CoordinateType coordinateType,
- [out] long *x,
- [out, retval] long *y
- );
-
- /** @brief Returns the size of the image in units specified by parent's coordinate system.
- @param [out] height
- @param [out] width
- @retval S_OK
- */
-
- [propget] HRESULT imageSize
- (
- [out] long *height,
- [out, retval] long *width
- );
-}
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleRelation.idl b/src/3rdparty/iaccessible2/idl/AccessibleRelation.idl
deleted file mode 100644
index b0c6dfcc97..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleRelation.idl
+++ /dev/null
@@ -1,197 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleRelation.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-
-/** @defgroup grpRelations Relations
- Use the following constants to compare against the BSTRs returned by
- IAccessibleRelation::relationType.
-*/
-///@{
-
-/** Some attribute of this object is affected by a target object. */
-const WCHAR *const IA2_RELATION_CONTROLLED_BY = L"controlledBy";
-
-/** This object is interactive and controls some attribute of a target object. */
-const WCHAR *const IA2_RELATION_CONTROLLER_FOR = L"controllerFor";
-
-/** This object is described by the target object. */
-const WCHAR *const IA2_RELATION_DESCRIBED_BY = L"describedBy";
-
-/** This object is describes the target object. */
-const WCHAR *const IA2_RELATION_DESCRIPTION_FOR = L"descriptionFor";
-
-/** This object is embedded by a target object. */
-const WCHAR *const IA2_RELATION_EMBEDDED_BY = L"embeddedBy";
-
-/** This object embeds a target object. This relation can be used on the
- OBJID_CLIENT accessible for a top level window to show where the content
- areas are.
-*/
-const WCHAR *const IA2_RELATION_EMBEDS = L"embeds";
-
-/** Content flows to this object from a target object.
- This relation and IA2_RELATION_FLOWS_TO are useful to tie text and non-text
- objects together in order to allow assistive technology to follow the
- intended reading order.
-*/
-const WCHAR *const IA2_RELATION_FLOWS_FROM = L"flowsFrom";
-
-/** Content flows from this object to a target object. */
-const WCHAR *const IA2_RELATION_FLOWS_TO = L"flowsTo";
-
-/** This object is label for a target object. */
-const WCHAR *const IA2_RELATION_LABEL_FOR = L"labelFor";
-
-/** This object is labelled by a target object. Note that the double L spelling
- which follows is preferred. Please use it instead. This single L version may
- be removed in a later version.
-*/
-const WCHAR *const IA2_RELATION_LABELED_BY = L"labelledBy";
-
-/** This object is labelled by a target object. */
-const WCHAR *const IA2_RELATION_LABELLED_BY = L"labelledBy";
-
-/** This object is a member of a group of one or more objects. When
- there is more than one object in the group each member may have one and the
- same target, e.g. a grouping object. It is also possible that each member has
- multiple additional targets, e.g. one for every other member in the group.
-*/
-const WCHAR *const IA2_RELATION_MEMBER_OF = L"memberOf";
-
-/** This object is a child of a target object. */
-const WCHAR *const IA2_RELATION_NODE_CHILD_OF = L"nodeChildOf";
-
-/** This object is a parent window of the target object. */
-const WCHAR *const IA2_RELATION_PARENT_WINDOW_OF = L"parentWindowOf";
-
-/** This object is a transient component related to the target object.
- When this object is activated the target object doesn't lose focus.
-*/
-const WCHAR *const IA2_RELATION_POPUP_FOR = L"popupFor";
-
-/** This object is a sub window of a target object. */
-const WCHAR *const IA2_RELATION_SUBWINDOW_OF = L"subwindowOf";
-
-///@}
-
-/// This interface gives access to an object's set of relations.
-[object, uuid(7CDF86EE-C3DA-496a-BDA4-281B336E1FDC)]
-interface IAccessibleRelation : IUnknown
-{
- /** @brief Returns the type of the relation.
- @param [out] relationType
- The strings returned are defined @ref grpRelations "in this section of the documentation".
- @retval S_OK
- */
- [propget] HRESULT relationType
- (
- [out, retval] BSTR *relationType
- );
-
- /** @brief Returns a localized version of the relation type.
- @param [out] localizedRelationType
- @retval S_OK
- */
- [propget] HRESULT localizedRelationType
- (
- [out, retval] BSTR *localizedRelationType
- );
-
- /** @brief Returns the number of targets for this relation.
- @param [out] nTargets
- @retval S_OK
- */
- [propget] HRESULT nTargets
- (
- [out, retval] long *nTargets
- );
-
- /** @brief Returns one accessible relation target.
- @param [in] targetIndex
- 0 based index
- @param [out] target
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- @note Use QueryInterface to get IAccessible2.
- */
- [propget] HRESULT target
- (
- [in] long targetIndex,
- [out, retval] IUnknown **target
- );
-
- /** @brief Returns multiple accessible relation targets
- @param [in] maxTargets
- maximum size of the array allocated by the client
- @param [out] targets
- The array of target objects. Note that this array is to be allocated by the
- client and freed when no longer needed. Refer to @ref _arrayConsideration
- "Special Consideration when using Arrays" for more details. You will need to use
- QueryInterface on the IUnknown to get the IAccessible2.
- @param [out] nTargets
- actual number of targets in the returned array (not more than maxTargets)
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, e.g. a negative value
- */
- [propget] HRESULT targets
- (
- [in] long maxTargets,
- [out, size_is(maxTargets), length_is(*nTargets)]
- IUnknown **targets,
- [out, retval] long *nTargets
- );
-
-}
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleRole.idl b/src/3rdparty/iaccessible2/idl/AccessibleRole.idl
deleted file mode 100644
index 385e02d05a..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleRole.idl
+++ /dev/null
@@ -1,293 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleRole.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-
-/** Collection of roles
-
- This enumerator defines an extended set of accessible roles of objects implementing
- the %IAccessible2 interface. These roles are in addition to the MSAA roles obtained
- through the MSAA get_accRole method. Examples are 'footnote', 'heading', and
- 'label'. You obtain an object's %IAccessible2 roles by calling IAccessible2::role.
-*/
-enum IA2Role {
-
- /** Unknown role. The object contains some Accessible information, but its
- role is not known.
- */
- IA2_ROLE_UNKNOWN = 0,
-
- /** An object that can be drawn into and to manage events from the objects
- drawn into it. Also refer to ::IA2_ROLE_FRAME,
- ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE.
- */
- IA2_ROLE_CANVAS = 0x401,
-
- /// A caption describing another object.
- IA2_ROLE_CAPTION,
-
- /// Used for check buttons that are menu items.
- IA2_ROLE_CHECK_MENU_ITEM,
-
- /// A specialized dialog that lets the user choose a color.
- IA2_ROLE_COLOR_CHOOSER,
-
- /// A date editor.
- IA2_ROLE_DATE_EDITOR,
-
- /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE.
- Also refer to ::IA2_ROLE_INTERNAL_FRAME.
- */
- IA2_ROLE_DESKTOP_ICON,
-
- /** A desktop pane. A pane that supports internal frames and iconified
- versions of those internal frames. Also refer to ::IA2_ROLE_INTERNAL_FRAME.
- */
- IA2_ROLE_DESKTOP_PANE,
-
- /** A directory pane. A pane that allows the user to navigate through
- and select the contents of a directory. May be used by a file chooser.
- Also refer to ::IA2_ROLE_FILE_CHOOSER.
- */
- IA2_ROLE_DIRECTORY_PANE,
-
- /** An editable text object in a toolbar. <b>Deprecated.</b>
- The edit bar role was meant for a text area in a tool bar. However, to detect
- a text area in a tool bar the AT can query the parent.
- */
- IA2_ROLE_EDITBAR,
-
- /// Embedded (OLE) object.
- IA2_ROLE_EMBEDDED_OBJECT,
-
- /// Text that is used as an endnote (footnote at the end of a chapter or section).
- IA2_ROLE_ENDNOTE,
-
- /** A file chooser. A specialized dialog that displays the files in the
- directory and lets the user select a file, browse a different directory,
- or specify a filename. May use the directory pane to show the contents of
- a directory.
- Also refer to ::IA2_ROLE_DIRECTORY_PANE.
- */
- IA2_ROLE_FILE_CHOOSER,
-
- /** A font chooser. A font chooser is a component that lets the user pick
- various attributes for fonts.
- */
- IA2_ROLE_FONT_CHOOSER,
-
- /** Footer of a document page.
- Also refer to ::IA2_ROLE_HEADER.
- */
- IA2_ROLE_FOOTER,
-
- /// Text that is used as a footnote. Also refer to ::IA2_ROLE_ENDNOTE.
- IA2_ROLE_FOOTNOTE,
-
- /** A container of form controls. An example of the use of this role is to
- represent an HTML FORM tag.
- */
- IA2_ROLE_FORM,
-
- /** Frame role. A top level window with a title bar, border, menu bar, etc.
- It is often used as the primary window for an application. Also refer to
- ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window.
- */
- IA2_ROLE_FRAME,
-
- /** A glass pane. A pane that is guaranteed to be painted on top of all panes
- beneath it. Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and
- ::IA2_ROLE_ROOT_PANE.
- */
- IA2_ROLE_GLASS_PANE,
-
- /** Header of a document page.
- Also refer to ::IA2_ROLE_FOOTER.
- */
- IA2_ROLE_HEADER,
-
- /// Heading. Use the IAccessible2::attributes level attribute to determine the heading level.
- IA2_ROLE_HEADING,
-
- /// A small fixed size picture, typically used to decorate components.
- IA2_ROLE_ICON,
-
- /** An image map object. Usually a graphic with multiple hotspots, where
- each hotspot can be activated resulting in the loading of another document
- or section of a document.
- */
- IA2_ROLE_IMAGE_MAP,
-
- /** An object which is used to allow input of characters not found on a keyboard,
- such as the input of Chinese characters on a Western keyboard.
- */
- IA2_ROLE_INPUT_METHOD_WINDOW,
-
- /** An internal frame. A frame-like object that is clipped by a desktop pane.
- The desktop pane, internal frame, and desktop icon objects are often used to
- create multiple document interfaces within an application.
- Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME.
- */
- IA2_ROLE_INTERNAL_FRAME,
-
- /// An object used to present an icon or short string in an interface.
- IA2_ROLE_LABEL,
-
- /** A layered pane. A specialized pane that allows its children to be drawn
- in layers, providing a form of stacking order. This is usually the pane that
- holds the menu bar as well as the pane that contains most of the visual
- components in a window.
- Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE.
- */
- IA2_ROLE_LAYERED_PANE,
-
- /// An embedded note which is not visible until activated.
- IA2_ROLE_NOTE,
-
- /** A specialized pane whose primary use is inside a dialog.
- Also refer to MSAA's dialog role.
- */
- IA2_ROLE_OPTION_PANE,
-
- /** An object representing a page of document content. It is used in documents
- which are accessed by the user on a page by page basis.
- */
- IA2_ROLE_PAGE,
-
- /// A paragraph of text.
- IA2_ROLE_PARAGRAPH,
-
- /** A radio button that is a menu item.
- Also refer to MSAA's button and menu item roles.
- */
- IA2_ROLE_RADIO_MENU_ITEM,
-
- /** An object which is redundant with another object in the accessible hierarchy.
- ATs typically ignore objects with this role.
- */
- IA2_ROLE_REDUNDANT_OBJECT,
-
- /** A root pane. A specialized pane that has a glass pane and a layered pane
- as its children.
- Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE
- */
- IA2_ROLE_ROOT_PANE,
-
- /** A ruler such as those used in word processors.
- */
- IA2_ROLE_RULER,
-
- /** A scroll pane. An object that allows a user to incrementally view a large
- amount of information. Its children can include scroll bars and a viewport.
- Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role.
- */
- IA2_ROLE_SCROLL_PANE,
-
- /** A container of document content. An example of the use of this role is to
- represent an HTML DIV tag. A section may be used as a region. A region is a
- group of elements that together form a perceivable unit. A region does not
- necessarily follow the logical structure of the content, but follows the
- perceivable structure of the page. A region may have an attribute in the set
- of IAccessible2::attributes which indicates that it is "live". A live region
- is content that is likely to change in response to a timed change, a user
- event, or some other programmed logic or event.
- */
- IA2_ROLE_SECTION,
-
- /// Object with graphical representation used to represent content on draw pages.
- IA2_ROLE_SHAPE,
-
- /** A split pane. A specialized panel that presents two other panels at the
- same time. Between the two panels is a divider the user can manipulate to make
- one panel larger and the other panel smaller.
- */
- IA2_ROLE_SPLIT_PANE,
-
- /** An object that forms part of a menu system but which can be "undocked"
- from or "torn off" the menu system to exist as a separate window.
- */
- IA2_ROLE_TEAR_OFF_MENU,
-
- /// An object used as a terminal emulator.
- IA2_ROLE_TERMINAL,
-
- /// Collection of objects that constitute a logical text entity.
- IA2_ROLE_TEXT_FRAME,
-
- /** A toggle button. A specialized push button that can be checked or unchecked,
- but does not provide a separate indicator for the current state.
- Also refer to MSAA's roles of push button, check box, and radio button.
- <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used. Instead, use MSAA's
- ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED.
- */
- IA2_ROLE_TOGGLE_BUTTON,
-
- /** A viewport. An object usually used in a scroll pane. It represents the
- portion of the entire data that the user can see. As the user manipulates
- the scroll bars, the contents of the viewport can change.
- Also refer to ::IA2_ROLE_SCROLL_PANE.
- */
- IA2_ROLE_VIEW_PORT,
-
- /** An object containing content which is complementary to the main content of
- a document, but remains meaningful when separated from the main content. There
- are various types of content that would appropriately have this role. For example,
- in the case where content is delivered via a web portal to a web browser, this may
- include but not be limited to show times, current weather, related articles, or
- stocks to watch. The complementary role indicates that contained content is relevant
- to the main content. If the complementary content is completely separable main
- content, it may be appropriate to use a more general role.
- */
- IA2_ROLE_COMPLEMENTARY_CONTENT
-
-};
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleStates.idl b/src/3rdparty/iaccessible2/idl/AccessibleStates.idl
deleted file mode 100644
index 0304b643da..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleStates.idl
+++ /dev/null
@@ -1,209 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleStates.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-
-typedef long AccessibleStates;
-
-/** %IAccessible2 specific state bit constants
-
- This enum defines the state bits returned by IAccessible2::states. The
- %IAccessible2 state bits are in addition to those returned by MSAA.
-*/
-enum IA2States {
-
-/** Indicates a window is currently the active window, or is an active subelement
- within a container or table.
-
- This state can be used to indicate the current active item in a container, even
- if the container itself is not currently active. In other words this would indicate
- the item that will get focus if you tab to the container.
-
- This information is important for knowing what to report for trees and potentially
- other containers in a virtual buffer.
-
- Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
-*/
-IA2_STATE_ACTIVE = 0x1,
-
-/** Indicates that the object is armed.
-
- Used to indicate that the control is "pressed" and will be invoked when the
- actuator, e.g. a mouse button, is "released". An AT which either monitors the
- mouse or synthesizes mouse events might need to know that, and possibly a talking
- interface would even let the user know about it. It could also potentially be
- useful to on screen keyboards or test tools since the information does indicate
- something about the state of the interface, for example, code operating asynchronously
- might need to wait for the armed state to change before doing something else.
-
-*/
-IA2_STATE_ARMED = 0x2,
-
-/** Indicates the user interface object corresponding to this object no longer exists. */
-IA2_STATE_DEFUNCT = 0x4,
-
-/** An object with this state has a caret and implements the IAccessibleText interface.
-
- Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination
- with IA2_STATE_EDITABLE.
-
-*/
-IA2_STATE_EDITABLE = 0x8,
-
-/** Indicates the orientation of this object is horizontal. */
-IA2_STATE_HORIZONTAL = 0x10,
-
-/** Indicates this object is minimized and is represented only by an icon. */
-IA2_STATE_ICONIFIED = 0x20,
-
-/** Indicates an input validation failure. */
-IA2_STATE_INVALID_ENTRY = 0x40,
-
-/** Indicates that this object manages its children.
-
- Note: Due to the fact that MSAA's WinEvents don't allow the active child index
- to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages
- descendants scheme can't be used. Instead the active child object has to fire
- MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be
- added to provide for event specific data to be passed with the event. At that
- time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
- IA2_STATE_MANAGES_DESCENDANTS state would be useful.
-*/
-IA2_STATE_MANAGES_DESCENDANTS = 0x80,
-
-/** Indicates that an object is modal.
-
- Modal objects have the behavior that something must be done with the object
- before the user can interact with an object in a different window.
-*/
-IA2_STATE_MODAL = 0x100,
-
-/** Indicates this text object can contain multiple lines of text. */
-IA2_STATE_MULTI_LINE = 0x200,
-
-/** Indicates this object paints every pixel within its rectangular region. */
-IA2_STATE_OPAQUE = 0x400,
-
-/** Indicates that user interaction is required.
-
- An example of when this state is used is when a field in a form must be filled
- before a form can be processed.
-*/
-IA2_STATE_REQUIRED = 0x800,
-
-/** Indicates an object which supports text selection.
-
- Note: This is different than MSAA STATE_SYSTEM_SELECTABLE.
-*/
-IA2_STATE_SELECTABLE_TEXT = 0x1000,
-
-/** Indicates that this text object can contain only a single line of text. */
-IA2_STATE_SINGLE_LINE = 0x2000,
-
-/** Indicates that the accessible object is stale.
-
- This state is used when the accessible object no longer accurately
- represents the state of the object which it is representing such as when an
- object is transient or when an object has been or is in the process of being
- destroyed or when the object's index in its parent has changed.
-*/
-IA2_STATE_STALE = 0x4000,
-
-/** Indicates that the object implements autocompletion.
-
- This state indicates that a text control will respond to the input of
- one ore more characters and cause a sub-item to become selected. The
- selection may also result in events fired on the parent object.
-*/
-IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000,
-
-/** Indicates this object is transient.
-
- An object has this state when its parent object has the state ::IA2_STATE_MANAGES_DESCENDANTS.
- For example, a list item object may be managed by its parent list object and may only
- exist as long as the object is actually rendered. Similarly a table cell's accessible
- object may exist only while the cell has focus. However, from the perspective of an
- assistive technology a transient object behaves like a non-transient object. As a
- result it is likely that this state is not of use to an assistive technology, but it
- is provided in case an assistive technology determines that knowledge of the transient
- nature of the object is useful and also for harmony with the Linux accessibility API.
-
- Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
- */
-IA2_STATE_TRANSIENT = 0x10000,
-
-/** Indicates the orientation of this object is vertical. */
-IA2_STATE_VERTICAL = 0x20000,
-
-/** Indicates this object is checkable.
-
- The standard checkable objects are check boxes, radio buttons, check box menu
- items, radio menu items, and toggle buttons. Since assistive technology will
- determine that these objects are checkable via the object's role the checkable
- state is not required. However, this state is necessary in those cases where
- an object has a role which is not one of the previously mentioned roles. An
- example is a table cell which indicates whether or not an email has an attachment,
- whether or not an mail is considered spam, and whether or not an email has been read.
- */
-IA2_STATE_CHECKABLE = 0x40000,
-
-/** Indicates this object is pinned.
-
- This state indicates that an object is fixed at a certain location. One example
- is a browser tab that when pinned cannot be moved until unpinned. Another example
- is a movable or floating object that when pinned remains in its pinned location
- until being unpinned.
- */
-IA2_STATE_PINNED = 0x80000
-
-};
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleTable.idl b/src/3rdparty/iaccessible2/idl/AccessibleTable.idl
deleted file mode 100644
index 69c99a7515..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleTable.idl
+++ /dev/null
@@ -1,551 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleTable.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-import "Accessible2.idl";
-import "IA2CommonTypes.idl";
-
-/** @brief This interface gives access to a two-dimensional table.
-
- Typically all accessible objects that represent cells or cell-clusters of a table
- will be at the same time children of the table. In this case IAccessible2::indexInParent
- will return the child index which then can be used when calling IAccessibleTable::rowIndex
- and IAccessibleTable::columnIndex.
-
- However, in some cases that kind of implementation will not be possible. When
- the table cells are not direct children of a table, the object representing
- the cell can define a "table-cell-index" object attribute identifying the 0
- based table cell index. This object attribute is obtained by parsing the
- attribute string returned by IAccessible2::attributes. The "table-cell-index"
- attribute can be used just like a child index of the typical case. ATs should
- first test for the presence of the "table-cell-index" attribute and if it is not
- present then IAccessible2::indexInParent can be used as in the typical case
- where cells are direct children of the table.
-
- The range of valid coordinates for this interface are implementation dependent.
- However, that range includes at least the intervals from the from the first row
- or column with the index 0 up to the last (but not including) used row or column
- as returned by IAccessibleTable::nRows and IAccessibleTable::nColumns.
-
- Note that newer implementations are now using IAccessibleTable2 and IAccessibleTableCell
- rather than this interface.
-*/
-[object, uuid(35AD8070-C20C-4fb4-B094-F4F7275DD469)]
-interface IAccessibleTable : IUnknown
-{
-
- /** @brief Returns the accessible object at the specified row and column in
- the table. This object could be an IAccessible or an IAccessible2.
- @param [in] row
- The 0 based row index for which to retrieve the cell.
- @param [in] column
- The 0 based column index for which to retrieve the cell.
- @param [out] accessible
- If both row and column index are valid then the corresponding accessible
- object is returned that represents the requested cell regardless of whether
- the cell is currently visible (on the screen).
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, [out] value is NULL
- */
- [propget] HRESULT accessibleAt
- (
- [in] long row,
- [in] long column,
- [out, retval] IUnknown **accessible
- );
-
- /** @brief Returns the caption for the table. The returned object could be
- an IAccessible or an IAccessible2.
- @param [out] accessible
- If the table has a caption then a reference to it is returned, else a NULL
- pointer is returned.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT caption
- (
- [out, retval] IUnknown **accessible
- );
-
- /** @brief Translates the given row and column indexes into the corresponding cell index.
- @param [in] rowIndex
- 0 based row index for the cell.
- @param [in] columnIndex
- 0 based column index for the cell.
- @param [out] cellIndex
- Returns the 0 based index of the cell at the specified row and column indexes.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, [out] value is 0
- @note The returned value is not necessarily a child index of the immediate parent.
- In cases where the table cells are not direct children of the table the index
- is actually the cell index, i.e. conceptually it's an index into a one dimensional
- array of cells laid out in row order.
- */
- [propget] HRESULT childIndex
- (
- [in] long rowIndex,
- [in] long columnIndex,
- [out, retval] long *cellIndex
- );
-
- /** @brief Returns the description text of the specified column in the table.
- @param [in] column
- The 0 based index of the column for which to retrieve the description.
- @param [out] description
- Returns the description text of the specified column in the table if such a
- description exists. Otherwise a NULL pointer is returned.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- @retval E_INVALIDARG if bad [in] passed, [out] value is NULL
- */
- [propget] HRESULT columnDescription
- (
- [in] long column,
- [out, retval] BSTR *description
- );
-
- /** @brief Returns the number of columns occupied by the accessible object
- at the specified row and column in the table.
-
- The result is greater than 1 if the specified cell spans multiple columns.
- @param [in] row
- 0 based row index of the accessible for which to return the column extent.
- @param [in] column
- 0 based column index of the accessible for which to return the column extent.
- @param [out] nColumnsSpanned
- Returns the 1 based column extent of the specified cell.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, [out] value is 0
- */
- [propget] HRESULT columnExtentAt
- (
- [in] long row,
- [in] long column,
- [out, retval] long *nColumnsSpanned
- );
-
- /** @brief Returns the column headers as an %IAccessibleTable object.
-
- Content and size of the returned table are implementation dependent.
- @param [out] accessibleTable
- The column header
- @param [out] startingRowIndex
- The 0 based row index where the header starts, usually 0.
- @retval S_OK
- @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT columnHeader
- (
- [out] IAccessibleTable **accessibleTable,
- [out, retval] long *startingRowIndex
- );
-
- /** @brief Translates the given cell index into the corresponding column index.
- @param [in] cellIndex
- 0 based index of the cell in the parent or closest ancestor table. Typically this
- is the value returned from IAccessible2::indexInParent, but in the case where the
- table cells are not direct children of the table this is the cell index specified
- by the "table-cell-index" object attribute obtained from parsing the attributes
- string returned by calling IAccessible2::attributes on the cell object.
- @param [out] columnIndex
- Returns the 0 based column index of the cell of the specified child or the index of
- the first column if the child spans multiple columns.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, [out] value is 0
- */
- [propget] HRESULT columnIndex
- (
- [in] long cellIndex,
- [out, retval] long *columnIndex
- );
-
- /** @brief Returns the total number of columns in table
- @param [out] columnCount
- Number of columns in table (including columns outside the current viewport)
- @retval S_OK
- */
- [propget] HRESULT nColumns
- (
- [out, retval] long *columnCount
- );
-
- /** @brief Returns the total number of rows in table
- @param [out] rowCount
- Number of rows in table (including rows outside the current viewport)
- @retval S_OK
- */
- [propget] HRESULT nRows
- (
- [out, retval] long *rowCount
- );
-
- /** @brief Returns the total number of selected cells
- @param [out] cellCount
- Number of cells currently selected
- @retval S_OK
- */
- [propget] HRESULT nSelectedChildren
- (
- [out, retval] long *cellCount
- );
-
- /** @brief Returns the total number of selected columns
- @param [out] columnCount
- Number of columns currently selected
- @retval S_OK
- */
- [propget] HRESULT nSelectedColumns
- (
- [out, retval] long *columnCount
- );
-
- /** @brief Returns the total number of selected rows
- @param [out] rowCount
- Number of rows currently selected
- @retval S_OK
- */
- [propget] HRESULT nSelectedRows
- (
- [out, retval] long *rowCount
- );
-
- /** @brief Returns the description text of the specified row in the table.
- @param [in] row
- The 0 based index of the row for which to retrieve the description.
- @param [out] description
- Returns the description text of the specified row in the table if such a
- description exists. Otherwise a NULL pointer is returned.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- @retval E_INVALIDARG if bad [in] passed, [out] value is NULL
- */
- [propget] HRESULT rowDescription
- (
- [in] long row,
- [out, retval] BSTR *description
- );
-
- /** @brief Returns the number of rows occupied by the accessible object
- at the specified row and column in the table.
-
- The result is greater than 1 if the specified cell spans multiple rows.
- @param [in] row
- 0 based row index of the accessible for which to return the row extent.
- @param [in] column
- 0 based column index of the accessible for which to return the row extent.
- @param [out] nRowsSpanned
- Returns the row extent of the specified cell.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, [out] value is 0
- */
- [propget] HRESULT rowExtentAt
- (
- [in] long row,
- [in] long column,
- [out, retval] long *nRowsSpanned
- );
-
- /** @brief Returns the row headers as an %IAccessibleTable object.
-
- Content and size of the returned table are implementation dependent.
- @param [out] accessibleTable
- The row header.
- @param [out] startingColumnIndex
- The 0 based column index where the header starts, usually 0.
- @retval S_OK
- @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT rowHeader
- (
- [out] IAccessibleTable **accessibleTable,
- [out, retval] long *startingColumnIndex
- );
-
- /** @brief Translates the given cell index into a row index.
- @param [in] cellIndex
- 0 based index of the cell in the parent or closest ancestor table. Typically this
- is the value returned from IAccessible2::indexInParent, but in the case where the
- table cells are not direct children of the table this is the cell index specified
- by the "table-cell-index" object attribute obtained from parsing the attributes
- string returned by calling IAccessible2::attributes on the cell object.
- @param [out] rowIndex
- 0 based row index
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, [out] value is 0
- */
- [propget] HRESULT rowIndex
- (
- [in] long cellIndex,
- [out, retval] long *rowIndex
- );
-
- /** @brief Returns a list of cell indexes currently selected (0 based).
- @param [in] maxChildren
- This parameter is ignored. Refer to @ref _arrayConsideration
- "Special Consideration when using Arrays" for more details.
- @param [out] children
- An array of cell indexes of selected cells (each index is 0 based),
- allocated by the server. Free it with CoTaskMemFree.
- @param [out] nChildren
- The number of cell indexes returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT selectedChildren
- (
- [in] long maxChildren,
- [out, size_is(,maxChildren), length_is(,*nChildren)] long **children,
- [out, retval] long *nChildren
- );
-
- /** @brief Returns a list of column indexes currently selected (0 based).
- @param [in] maxColumns
- This parameter is ignored. Refer to @ref _arrayConsideration
- "Special Consideration when using Arrays" for more details.
- @param [out] columns
- An array of column indexes of selected columns (each index is 0 based), allocated
- by the server. Free it with CoTaskMemFree.
- @param [out] nColumns
- The number of column indexes returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT selectedColumns
- (
- [in] long maxColumns,
- [out, size_is(,maxColumns), length_is(,*nColumns)] long **columns,
- [out, retval] long *nColumns
- );
-
- /** @brief Returns a list of row indexes currently selected (0 based).
- @param [in] maxRows
- This parameter is ignored. Refer to @ref _arrayConsideration
- "Special Consideration when using Arrays" for more details.
- @param [out] rows
- An array of row indexes of selected rows (each index is 0 based), allocated
- by the server. Free it with CoTaskMemFree.
- @param [out] nRows
- The number of row indexes returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT selectedRows
- (
- [in] long maxRows,
- [out, size_is(,maxRows), length_is(,*nRows)] long **rows,
- [out, retval] long *nRows
- );
-
- /** @brief Returns the summary description of the table. The returned object could be
- an IAccessible or an IAccessible2.
- @param [out] accessible
- Returns a reference to an implementation dependent accessible object
- representing the table's summary or a NULL pointer if the table
- does not support a summary.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT summary
- (
- [out, retval] IUnknown **accessible
- );
-
- /** @brief Returns a boolean value indicating whether the specified column is
- completely selected.
- @param [in] column
- 0 based index of the column for which to determine whether it is selected.
- @param [out] isSelected
- Returns TRUE if the specified column is selected completely and FALSE otherwise.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE
- */
- [propget] HRESULT isColumnSelected
- (
- [in] long column,
- [out, retval] boolean *isSelected
- );
-
- /** @brief Returns a boolean value indicating whether the specified row is completely
- selected.
- @param [in] row
- 0 based index of the row for which to determine whether it is selected.
- @param [out] isSelected
- Returns TRUE if the specified row is selected completely and FALSE otherwise.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE
- */
- [propget] HRESULT isRowSelected
- (
- [in] long row,
- [out, retval] boolean *isSelected
- );
-
- /** @brief Returns a boolean value indicating whether the specified cell is selected.
- @param [in] row
- 0 based index of the row for the cell to determine whether it is selected.
- @param [in] column
- 0 based index of the column for the cell to determine whether it is selected.
- @param [out] isSelected
- Returns TRUE if the specified cell is selected and FALSE otherwise.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE
- */
- [propget] HRESULT isSelected
- (
- [in] long row,
- [in] long column,
- [out, retval] boolean *isSelected
- );
-
- /** @brief Selects a row and unselects all previously selected rows.
- @param [in] row
- 0 based index of the row to be selected.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT selectRow
- (
- [in] long row
- );
-
- /** @brief Selects a column and unselects all previously selected columns.
- @param [in] column
- 0 based index of the column to be selected.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT selectColumn
- (
- [in] long column
- );
-
- /** @brief Unselects one row, leaving other selected rows selected (if any).
- @param [in] row
- 0 based index of the row to be unselected.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT unselectRow
- (
- [in] long row
- );
-
- /** @brief Unselects one column, leaving other selected columns selected (if any).
- @param [in] column
- 0 based index of the column to be unselected.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT unselectColumn
- (
- [in] long column
- );
-
- /** @brief Given a cell index, gets the row and column indexes and extents of a cell
- and whether or not it is selected.
-
- This is a convenience function. It is not mandatory to implement it.
- @param [in] index
- 0 based index of this cell in the table.
- @param [out] row
- 0 based row index.
- @param [out] column
- 0 based column index.
- @param [out] rowExtents
- Number of cells spanned by this cell in this row.
- @param [out] columnExtents
- Number of cells spanned by this cell in this column.
- @param [out] isSelected
- Indicates if the specified cell is selected.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, [out] values are 0s and FALSE respectively
- */
- [propget] HRESULT rowColumnExtentsAtIndex
- (
- [in] long index,
- [out] long *row,
- [out] long *column,
- [out] long *rowExtents,
- [out] long *columnExtents,
- [out, retval] boolean *isSelected
- );
-
- /** @brief Returns the type and extents describing how a table changed.
-
- Provided for use by the IA2_EVENT_TABLE_MODEL_CHANGED event handler.
-
- This data is only guaranteed to be valid while the thread notifying the event
- continues. Once the handler has returned, the validity of the data depends on
- how the server manages the life cycle of its objects. Also, note that the server
- may have different life cycle management strategies for controls depending on
- whether or not a control manages its children. Lists, trees, and tables can have
- a large number of children and thus it's possible that the child objects for those
- controls would only be created as needed. Servers should document their life cycle
- strategy as this will be of interest to assistive technology or script engines
- accessing data out of process or from other threads. Servers only need to save the
- most recent row and column values associated with the change and a scope of the
- entire application is adequate.
-
- @param [out] modelChange
- A struct of (type(insert, delete, update), firstRow, lastRow, firstColumn, lastColumn).
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT modelChange
- (
- [out, retval] IA2TableModelChange *modelChange
- );
-
-}
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleTable2.idl b/src/3rdparty/iaccessible2/idl/AccessibleTable2.idl
deleted file mode 100644
index 9d7f3e4475..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleTable2.idl
+++ /dev/null
@@ -1,375 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleTable2.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-import "Accessible2.idl";
-import "IA2CommonTypes.idl";
-
-/** @brief This interface gives access to a two-dimensional table.
-
- Please also refer to the IAccessibleTableCell interface.
-
- If you want to support older applications you should also support the
- IAccessibleTable inteface.
-*/
-[object, uuid(6167f295-06f0-4cdd-a1fa-02e25153d869)]
-interface IAccessibleTable2 : IUnknown
-{
-
- /** @brief Returns the accessible object at the specified row and column in
- the table. This object could be an IAccessible or an IAccessible2.
- @param [in] row
- The 0 based row index for which to retrieve the cell.
- @param [in] column
- The 0 based column index for which to retrieve the cell.
- @param [out] cell
- If both row and column index are valid then the corresponding accessible
- object is returned that represents the requested cell regardless of whether
- the cell is currently visible (on the screen).
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT cellAt
- (
- [in] long row,
- [in] long column,
- [out, retval] IUnknown **cell
- );
-
- /** @brief Returns the caption for the table. The returned object could be
- an IAccessible or an IAccessible2.
- @param [out] accessible
- If the table has a caption then a reference to it is returned, else a NULL
- pointer is returned.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT caption
- (
- [out, retval] IUnknown **accessible
- );
-
- /** @brief Returns the description text of the specified column in the table.
- @param [in] column
- The 0 based index of the column for which to retrieve the description.
- @param [out] description
- Returns the description text of the specified column in the table if such a
- description exists. Otherwise a NULL pointer is returned.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT columnDescription
- (
- [in] long column,
- [out, retval] BSTR *description
- );
-
-
- /** @brief Returns the total number of columns in table
- @param [out] columnCount
- Number of columns in table (including columns outside the current viewport)
- @retval S_OK
- */
- [propget] HRESULT nColumns
- (
- [out, retval] long *columnCount
- );
-
- /** @brief Returns the total number of rows in table
- @param [out] rowCount
- Number of rows in table (including rows outside the current viewport)
- @retval S_OK
- */
- [propget] HRESULT nRows
- (
- [out, retval] long *rowCount
- );
-
- /** @brief Returns the total number of selected cells
- @param [out] cellCount
- Number of cells currently selected
- @retval S_OK
- */
- [propget] HRESULT nSelectedCells
- (
- [out, retval] long *cellCount
- );
-
- /** @brief Returns the total number of selected columns
- @param [out] columnCount
- Number of columns currently selected
- @retval S_OK
- */
- [propget] HRESULT nSelectedColumns
- (
- [out, retval] long *columnCount
- );
-
- /** @brief Returns the total number of selected rows
- @param [out] rowCount
- Number of rows currently selected
- @retval S_OK
- */
- [propget] HRESULT nSelectedRows
- (
- [out, retval] long *rowCount
- );
-
- /** @brief Returns the description text of the specified row in the table.
- @param [in] row
- The 0 based index of the row for which to retrieve the description.
- @param [out] description
- Returns the description text of the specified row in the table if such a
- description exists. Otherwise a NULL pointer is returned.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT rowDescription
- (
- [in] long row,
- [out, retval] BSTR *description
- );
-
- /** @brief Returns a list of accessibles currently selected.
- @param [out] cells
- Pointer to an array of references to selected accessibles. The array is
- allocated by the server with CoTaskMemAlloc and freed by the client with
- CoTaskMemFree.
- @param [out] nSelectedCells
- The number of accessibles returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT selectedCells
- (
- [out, size_is(,*nSelectedCells,)] IUnknown ***cells,
- [out, retval] long *nSelectedCells
- );
-
- /** @brief Returns a list of column indexes currently selected (0 based).
- @param [out] selectedColumns
- A pointer to an array of column indexes of selected columns (each index is
- 0 based). The array is allocated by the server with CoTaskMemAlloc and
- freed by the client with CoTaskMemFree.
- @param [out] nColumns
- The number of column indexes returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT selectedColumns
- (
- [out, size_is(,*nColumns)] long **selectedColumns,
- [out, retval] long *nColumns
- );
-
- /** @brief Returns a list of row indexes currently selected (0 based).
- @param [out] selectedRows
- An array of row indexes of selected rows (each index is 0 based). The array
- is allocated by the server with CoTaskMemAlloc and freed by the client with
- CoTaskMemFree.
- @param [out] nRows
- The number of row indexes returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT selectedRows
- (
- [out, size_is(,*nRows)] long **selectedRows,
- [out, retval] long *nRows
- );
-
- /** @brief Returns the summary description of the table. The returned object could be
- an IAccessible or an IAccessible2.
- @param [out] accessible
- Returns a reference to an implementation dependent accessible object
- representing the table's summary or a NULL pointer if the table
- does not support a summary.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT summary
- (
- [out, retval] IUnknown **accessible
- );
-
- /** @brief Returns a boolean value indicating whether the specified column is
- completely selected.
- @param [in] column
- 0 based index of the column for which to determine whether it is selected.
- @param [out] isSelected
- Returns TRUE if the specified column is selected completely and FALSE otherwise.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT isColumnSelected
- (
- [in] long column,
- [out, retval] boolean *isSelected
- );
-
- /** @brief Returns a boolean value indicating whether the specified row is completely
- selected.
- @param [in] row
- 0 based index of the row for which to determine whether it is selected.
- @param [out] isSelected
- Returns TRUE if the specified row is selected completely and FALSE otherwise.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT isRowSelected
- (
- [in] long row,
- [out, retval] boolean *isSelected
- );
-
- /** @brief Selects a row and unselects all previously selected rows.
-
- The behavior should mimic that of the application, but for those applications
- which do not have a means in the GUI to select a full row of cells the behavior
- should be as follows: First any selected rows in the table are unselected. Then
- the entire row of cells for the specified row is selected. If any of the
- cells in the selected row span additional rows, the cells in those rows
- are also selected.
- @param [in] row
- 0 based index of the row to be selected.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT selectRow
- (
- [in] long row
- );
-
- /** @brief Selects a column and unselects all previously selected columns.
-
- The behavior should mimic that of the application, but for those applications
- which do not have a means in the GUI to select a full column of cells the behavior
- should be as follows: First any selected columns in the table are unselected. Then
- the entire column of cells for the specified column is selected. If any of the
- cells in the selected column span additional columns, the cells in those columns
- are also selected.
- @param [in] column
- 0 based index of the column to be selected.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT selectColumn
- (
- [in] long column
- );
-
- /** @brief Unselects one row, leaving other selected rows selected (if any).
-
- The behavior should mimic that of the application, but for those applications
- which do not have a means in the GUI to unselect a full row of cells the
- behavior should be as follows: The entire row of cells for the specified
- row is unselected. If any of the cells in the selected row span additional
- rows, the cells in those rows are also unselected.
- @param [in] row
- 0 based index of the row to be unselected.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT unselectRow
- (
- [in] long row
- );
-
- /** @brief Unselects one column, leaving other selected columns selected (if any).
-
- The behavior should mimic that of the application, but for those applications
- which do not have a means in the GUI to unselect a full column of cells the
- behavior should be as follows: The entire column of cells for the specified
- column is unselected. If any of the cells in the selected column span additional
- columns, the cells in those columns are also unselected.
- @param [in] column
- 0 based index of the column to be unselected.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT unselectColumn
- (
- [in] long column
- );
-
- /** @brief Returns the type and extents describing how a table changed.
-
- Provided for use by the IA2_EVENT_TABLE_MODEL_CHANGED event handler.
-
- This data is only guaranteed to be valid while the thread notifying the event
- continues. Once the handler has returned, the validity of the data depends on
- how the server manages the life cycle of its objects. Also, note that the server
- may have different life cycle management strategies for controls depending on
- whether or not a control manages its children. Lists, trees, and tables can have
- a large number of children and thus it's possible that the child objects for those
- controls would only be created as needed. Servers should document their life cycle
- strategy as this will be of interest to assistive technology or script engines
- accessing data out of process or from other threads. Servers only need to save the
- most recent row and column values associated with the change and a scope of the
- entire application is adequate.
-
- @param [out] modelChange
- A struct of (type(insert, delete, update), firstRow, lastRow, firstColumn, lastColumn).
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT modelChange
- (
- [out, retval] IA2TableModelChange *modelChange
- );
-
-}
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleTableCell.idl b/src/3rdparty/iaccessible2/idl/AccessibleTableCell.idl
deleted file mode 100644
index a4cd988384..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleTableCell.idl
+++ /dev/null
@@ -1,194 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleTableCell.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-import "Accessible2.idl";
-
-/** @brief This interface gives access to the cells of a two-dimensional table.
-
- Please also refer to the IAccessibleTable2 interface.
-
-*/
-[object, uuid(594116B1-C99F-4847-AD06-0A7A86ECE645)]
-interface IAccessibleTableCell : IUnknown
-{
-
- /** @brief Returns the number of columns occupied by this cell accessible.
-
- The result is greater than 1 if the specified cell spans multiple columns.
- @param [out] nColumnsSpanned
- Returns the 1 based column extent of the specified cell.
- @retval S_OK
- */
- [propget] HRESULT columnExtent
- (
- [out, retval] long *nColumnsSpanned
- );
-
- /** @brief Returns the column headers as an array of cell accessibles.
-
- @param [out] cellAccessibles
- Pointer to an array of references to cell accessibles. The array is allocated
- by the server. Free it with CoTaskMemFree.
- @param [out] nColumnHeaderCells
- The number of accessibles returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT columnHeaderCells
- (
- [out, size_is(,*nColumnHeaderCells,)] IUnknown ***cellAccessibles,
- [out, retval] long *nColumnHeaderCells
- );
-
- /** @brief Translates this cell accessible into the corresponding column index.
-
- @param [out] columnIndex
- Returns the 0 based column index of the cell of the specified cell or the index of
- the first column if the cell spans multiple columns.
- @retval S_OK
- */
- [propget] HRESULT columnIndex
- (
- [out, retval] long *columnIndex
- );
-
- /** @brief Returns the number of rows occupied by this cell accessible.
-
- @param [out] nRowsSpanned
- Returns the row extent of the specified cell.
- @retval S_OK
- */
- [propget] HRESULT rowExtent
- (
- [out, retval] long *nRowsSpanned
- );
-
- /** @brief Returns the row headers as an array of cell accessibles.
-
- @param [out] cellAccessibles
- Pointer to an array of references to cell accessibles. The array is allocated
- by the server. Free it with CoTaskMemFree.
- @param [out] nRowHeaderCells
- The number of accessibles returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT rowHeaderCells
- (
- [out, size_is(,*nRowHeaderCells,)] IUnknown ***cellAccessibles,
- [out, retval] long *nRowHeaderCells
- );
-
- /** @brief Translates this cell accessible into the corresponding row index.
-
- @param [out] rowIndex
- Returns the 0 based row index of the specified cell or the index of
- the first row if the cell spans multiple rows.
- @retval S_OK
- */
- [propget] HRESULT rowIndex
- (
- [out, retval] long *rowIndex
- );
-
- /** @brief Returns a boolean value indicating whether this cell is selected.
-
- @param [out] isSelected
- Returns TRUE if the specified cell is selected and FALSE otherwise.
- @retval S_OK
- */
- [propget] HRESULT isSelected
- (
- [out, retval] boolean *isSelected
- );
-
- /** @brief Gets the row and column indexes and extents of this cell accessible
- and whether or not it is selected.
-
- This is a convenience function. It is not mandatory to implement it.
- @param [out] row
- 0 based row index.
- @param [out] column
- 0 based column index.
- @param [out] rowExtents
- Number of cells spanned by this cell in this row.
- @param [out] columnExtents
- Number of cells spanned by this cell in this column.
- @param [out] isSelected
- Indicates if the specified cell is selected.
- @retval S_OK
- */
- [propget] HRESULT rowColumnExtents
- (
- [out] long *row,
- [out] long *column,
- [out] long *rowExtents,
- [out] long *columnExtents,
- [out, retval] boolean *isSelected
- );
-
- /** @brief Returns a reference to the accessbile of the containing table.
-
- @param [out] table
- Returns a reference to the IUnknown of the containing table.
- @retval S_OK
- */
- [propget] HRESULT table
- (
- [out, retval] IUnknown **table
- );
-
-}
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleText.idl b/src/3rdparty/iaccessible2/idl/AccessibleText.idl
deleted file mode 100644
index 86fd93ad90..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleText.idl
+++ /dev/null
@@ -1,674 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleText.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-import "IA2CommonTypes.idl";
-
-/** A structure containing a substring and the start and end offsets in the enclosing string.
-
- IAccessibleText::newText and IAccessibleText::oldText return this struct.
-*/
-typedef struct IA2TextSegment {
- BSTR text; ///< A copy of a segment of text taken from an enclosing paragraph.
- long start; ///< Index of the first character of the segment in the enclosing text.
- long end; ///< Index of the character following the last character of the segment in the enclosing text.
-} IA2TextSegment;
-
-/** This enum defines values which specify a text boundary type.
-
- IA2_TEXT_BOUNDARY_SENTENCE is optional. When a method doesn't implement this
- method it must return S_FALSE. Typically this feature would not be implemented
- by an application. However, if the application developer was not satisfied with
- how screen readers have handled the reading of sentences this boundary type
- could be implemented and screen readers could use the application's version of a
- sentence rather than the screen reader's.
-
- The rest of the boundary types must be supported.
-
- This enum is used in IAccessibleText::textBeforeOffset, IAccessibleText::textAtOffset,
- and IAccessibleText::textAfterOffset.
-*/
-
-enum IA2TextBoundaryType {
- IA2_TEXT_BOUNDARY_CHAR, /**< Typically, a single character is returned. In some cases more than
- one character is returned, for example, when a document contains field
- data such as a field containing a date, time, or footnote reference.
- In this case the caret can move over several characters in one movement
- of the caret. Note that after the caret moves, the caret offset changes
- by the number of characters in the field, e.g. by 8 characters in the
- following date: 03/26/07. */
- IA2_TEXT_BOUNDARY_WORD, /**< The range provided matches the range observed when the application
- processes the Ctrl + left arrow and Ctrl + right arrow key sequences.
- Typically this is from the start of one word to the start of the next, but
- various applications are inconsistent in the handling of the end of a line. */
- IA2_TEXT_BOUNDARY_SENTENCE, ///< Range is from start of one sentence to the start of another sentence.
- IA2_TEXT_BOUNDARY_PARAGRAPH, ///< Range is from start of one paragraph to the start of another paragraph.
- IA2_TEXT_BOUNDARY_LINE, /**< Range is from start of one line to the start of another line. This
- often means that an end-of-line character will appear at the end of the
- range. However in the case of some applications an end-of-line character
- indicates the end of a paragraph and the lines composing the paragraph,
- other than the last line, do not contain an end of line character. */
- IA2_TEXT_BOUNDARY_ALL ///< Using this value will cause all text to be returned.
-};
-
-/** @brief This interface gives read-only access to text.
-
- The %IAccessibleText interface should be implemented by all components
- that present textual information on the display like buttons,
- text entry fields, or text portions of the document window. The interface
- provides access to the text's content, attributes, and spatial location.
- However, text can not be modified with this interface. That is the task
- of the IAccessibleEditableText interface.
-
- The text length, i.e. the number of characters in the text, is
- returned by IAccessibleText::nCharacters. All methods that operate
- on particular characters (e.g. IAccessibleText::textAtOffset) use character
- indices from 0 to length-1. All methods that operate on character positions
- (e.g. IAccessibleText::text) use indices from 0 to length.
-
- Please note that accessible text does not necessarily support selection.
- In this case it should behave as if there where no selection. An empty
- selection is used for example to express the current cursor position.
-
- Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
-
- E_FAIL is returned in the following cases
- @li endOffset < startOffset
- @li endoffset > length
-*/
-[object, uuid(24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B)]
-interface IAccessibleText : IUnknown
-{
-
- /** @brief Adds a text selection
- @param [in] startOffset
- Starting offset ( 0 based).
- @param [in] endOffset
- Offset of first character after new selection (0 based).
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- @note Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
- */
- HRESULT addSelection
- (
- [in] long startOffset,
- [in] long endOffset
- );
-
- /** @brief Returns text attributes.
- @param [in] offset
- Text offset (0 based). Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
- @param [out] startOffset
- The starting offset of the character range over which all text attributes match
- those of offset. (0 based)
- @param [out] endOffset
- The offset of the first character past the character range over which all text
- attributes match those of offset. (0 based)
- @param [out] textAttributes
- A string of attributes describing the text. The attributes are described in the
- <a href="http://www.linuxfoundation.org/en/Accessibility/IAccessible2/TextAttributes">
- text attributes specification</a> on the %IAccessible2 web site.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] values are 0s and NULL respectively
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT attributes
- (
- [in] long offset,
- [out] long *startOffset,
- [out] long *endOffset,
- [out, retval] BSTR *textAttributes
- );
-
- /** @brief Returns the position of the caret.
-
- Returns the 0-based offset of the caret within the text. If the text is
- implemented as a tree of text objects with embed characters in higher levels
- representing substrings of child text objects and the caret is in one of the
- child text objects, then the offset in the higher level text object would be
- at the embed character representing child text object that contains the caret.
-
- For example, if the string "one two three" is implemented as a two text objects,
- with a top level text object containing an embed character "one ? three" and a
- child text object containing "two" and if the caret is in the descendant object
- just before the 'o' in "two", then:
- <ul>
- <li>the caretOffset for the "one ? three" object would be 4, matching the embed character</li>
- <li>the caretOffset for "two" would be 2, matching the "o"</li>
- </ul>
- The caret position/offset is that of the character logically following it, e.g.
- to the right of it in a left to right language, or to the left of it in a right
- to left language.
- @param [out] offset
- The returned offset is relative to the text represented by this object.
- @retval S_OK
- @retval S_FALSE if the caret is not currently active on this object, i.e. the
- caret is located on some other object. The returned offset value will be -1.
- @note S_FALSE (and an offset of -1) will not be returned if the caret is somewhere
- in the text object or one of its descendants.
- */
- [propget] HRESULT caretOffset
- (
- [out, retval] long *offset
- );
-
-
- /** @brief Returns the bounding box of the specified position.
-
- The virtual character after the last character of the represented
- text, i.e. the one at position length is a special case. It represents the
- current input position and will therefore typically be queried by AT more
- often than other positions. Because it does not represent an existing character
- its bounding box is defined in relation to preceding characters. It should be
- roughly equivalent to the bounding box of some character when inserted at the
- end of the text. Its height typically being the maximal height of all the
- characters in the text or the height of the preceding character, its width being
- at least one pixel so that the bounding box is not degenerate.
-
- Note that the index 'length' is not always valid. Whether it is or not is
- implementation dependent. It typically is when text is editable or otherwise
- when on the screen the caret can be placed behind the text. You can be sure
- that the index is valid after you have received a ::IA2_EVENT_TEXT_CARET_MOVED
- event for this index.
- @param [in] offset
- Index of the character for which to return its bounding box. The valid range
- is 0..length. Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
- @param [in] coordType
- Specifies if the coordinates are relative to the screen or to the parent window.
- @param [out] x
- X coordinate of the top left corner of the bounding box of the referenced character.
- @param [out] y
- Y coordinate of the top left corner of the bounding box of the referenced character.
- @param [out] width
- Width of the bounding box of the referenced character.
- @param [out] height
- Height of the bounding box of the referenced character.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT characterExtents
- (
- [in] long offset,
- [in] enum IA2CoordinateType coordType,
- [out] long *x,
- [out] long *y,
- [out] long *width,
- [out, retval] long *height
- );
-
-
- /** @brief Returns the number of active non-contiguous selections
- @param [out] nSelections
- @retval S_OK
- */
- [propget] HRESULT nSelections
- (
- [out, retval] long *nSelections
- );
-
- /** @brief Returns the text position for the specified screen position.
-
- Given a point return the zero-based index of the character under that
- point. The same functionality could be achieved by using the bounding
- boxes for each character as returned by IAccessibleText::characterExtents.
- The method IAccessibleText::offsetAtPoint, however, can be implemented
- more efficiently.
-
- @param [in] x
- The position's x value for which to look up the index of the character that
- is rendered on to the display at that point.
- @param [in] y
- The position's y value for which to look up the index of the character that
- is rendered on to the display at that point.
- @param [in] coordType
- Screen coordinates or window coordinates.
- @param [out] offset
- Index of the character under the given point or -1 if the point
- is invalid or there is no character under the point.
- @retval S_OK
- @retval S_FALSE if nothing to return, [out] value is -1
-
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT offsetAtPoint
- (
- [in] long x,
- [in] long y,
- [in] enum IA2CoordinateType coordType,
- [out, retval] long *offset
- );
-
- /** @brief Returns the character offsets of Nth active text selection
-
- Returns the 0-based starting and ending offsets of the Nth selection. If the
- text is implemented as a tree of text objects with embed characters in higher
- levels representing substrings of child text objects, consider the following.
- If the starting selection offset is in one of the child text objects, then the
- starting offset in the higher level text object would be at the embed character
- representing the child text object that contains the starting selection offset.
- If the ending selection offset is in one of the child text objects, then the
- ending offset in the higher level text object would be just after the embed
- character representing the child text object that contains the ending selection
- offset.
-
- For example, if the string "one two three" is implemented as a two text objects,
- with a top level text object containing an embed character "one ? three" and a
- child text object containing "two" and if the selection is the string "two" then:
- <ul>
- <li>the startOffset for the "one ? three" object would be 4, matching the embed character and the endOffset would be 5.</li>
- <li>the startOffset for the "two" object would be 0, and the endOffset would be 3</li>
- </ul>
- Selection offsets are that of the character logically following it, e.g.
- to the right of it in a left to right language or to the left of it in a right to left language.
- @param [in] selectionIndex
- Index of selection (0 based).
- @param [out] startOffset
- 0 based offset of first selected character
- @param [out] endOffset
- 0 based offset of one past the last selected character.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT selection
- (
- [in] long selectionIndex,
- [out] long *startOffset,
- [out, retval] long *endOffset
- );
-
- /** @brief Returns the substring between the two given indices.
-
- The substring starts with the character at startOffset (inclusive) and up to
- the character at endOffset (exclusive), if startOffset is less or equal
- endOffset. If endOffset is lower than startOffset, the result is the same
- as a call with the two arguments being exchanged.
-
- The whole text can be requested by passing the indices zero and
- IAccessibleText::nCharacters. If both indices have the same value, an empty
- string is returned.
- @param [in] startOffset
- Index of the first character to include in the returned string. The valid range
- is 0..length.
- @param [in] endOffset
- Index of the last character to exclude in the returned string. The valid range
- is 0..length.
- @param [out] text
- Returns the substring starting with the character at startOffset (inclusive)
- and up to the character at endOffset (exclusive), if startOffset is less than
- or equal to endOffset.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- @note
- @li The returned string may be longer than endOffset-startOffset bytes if text
- contains multi-byte characters.
- @li Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
- */
- [propget] HRESULT text
- (
- [in] long startOffset,
- [in] long endOffset,
- [out, retval] BSTR *text
- );
-
- /** @brief Returns a text portion before the given position.
-
- Returns the substring of the specified text type that is located before the
- given character and does not include it. The result of this method should be
- same as a result for IAccessibleText::textAtOffset with a suitably decreased
- index value.
-
- For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete
- word that is closest to and located before offset is returned.
-
- If the index is valid, but no suitable word (or other boundary type) is found, a
- NULL pointer is returned.
-
- @param [in] offset
- Index of the character for which to return the text part before it. The index
- character will not be part of the returned string. The valid range is 0..length.
- Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
- @param [in] boundaryType
- The type of the text portion to return. See ::IA2TextBoundaryType for the
- complete list.
- @param [out] startOffset
- 0 based offset of first character.
- @param [out] endOffset
- 0 based offset of one past the last character.
- @param [out] text
- Returns the requested text portion. This portion may be empty or invalid when
- no appropriate text portion is found or text type is invalid.
- @retval S_OK
- @retval S_FALSE if the requested boundary type is not implemented, such as
- ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return;
- [out] values are 0s and NULL respectively
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT textBeforeOffset
- (
- [in] long offset,
- [in] enum IA2TextBoundaryType boundaryType,
- [out] long *startOffset,
- [out] long *endOffset,
- [out, retval] BSTR *text
- );
-
- /** @brief Returns a text portion after the given position.
-
- Returns the substring of the specified text type that is located after the
- given character and does not include it. The result of this method should be
- same as a result for IAccessibleText::textAtOffset with a suitably increased
- index value.
-
- For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete
- word that is closest to and located after offset is returned.
-
- If the index is valid, but no suitable word (or other text type) is found, a
- NULL pointer is returned.
-
- @param [in] offset
- Index of the character for which to return the text part after it. The index
- character will not be part of the returned string. The valid range is 0..length.
- Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
- @param [in] boundaryType
- The type of the text portion to return. See ::IA2TextBoundaryType for the complete
- list.
- @param [out] startOffset
- 0 based offset of first character.
- @param [out] endOffset
- 0 based offset of one past the last character.
- @param [out] text
- Returns the requested text portion. This portion may be empty or invalid when
- no appropriate text portion is found or text type is invalid.
- @retval S_OK
- @retval S_FALSE if the requested boundary type is not implemented, such as
- ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return;
- [out] values are 0s and NULL respectively
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT textAfterOffset
- (
- [in] long offset,
- [in] enum IA2TextBoundaryType boundaryType,
- [out] long *startOffset,
- [out] long *endOffset,
- [out, retval] BSTR *text
- );
-
- /** @brief Returns a text portion that spans the given position.
-
- Returns the substring of the specified text type at the specified offset.
-
- If the index is valid, but no suitable word (or other text type) is found, a
- NULL pointer is returned.
-
- @param [in] offset
- Index of the character for which to return the text part before it. The index
- character will not be part of the returned string. The valid range is 0..length.
- Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
- @param [in] boundaryType
- The type of the text portion to return. See ::IA2TextBoundaryType for the complete
- list.
- @param [out] startOffset
- 0 based offset of first character.
- @param [out] endOffset
- 0 based offset of one past the last character.
- @param [out] text
- Returns the requested text portion. This portion may be empty or invalid when
- no appropriate text portion is found or text type is invalid.
- @retval S_OK
- @retval S_FALSE if the requested boundary type is not implemented, such as
- ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return;
- [out] values are 0s and NULL respectively
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT textAtOffset
- (
- [in] long offset,
- [in] enum IA2TextBoundaryType boundaryType,
- [out] long *startOffset,
- [out] long *endOffset,
- [out, retval] BSTR *text
- );
-
- /** @brief Unselects a range of text.
- @param [in] selectionIndex
- Index of selection to remove (0 based).
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT removeSelection
- (
- [in] long selectionIndex
- );
-
- /** @brief Sets the position of the caret.
-
- The caret position/offset is that of the character logically following it,
- e.g. to the right of it in a left to right language.
-
- Setting the caret position may or may not alter the current selection. A
- change of the selection is notified to the accessibility event listeners with
- an ::IA2_EVENT_TEXT_SELECTION_CHANGED event.
-
- When the new caret position differs from the old one (which, of course, is the
- standard case) this is notified to the accessibility event listeners with an
- ::IA2_EVENT_TEXT_CARET_MOVED event.
- @param [in] offset
- The new index of the caret. This caret is actually placed to the left side of
- the character with that index. An index of 0 places the caret so that the next
- insertion goes before the first character. An index of IAccessibleText::nCharacters
- leads to insertion after the last character. Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
- @retval S_OK
- @retval E_FAIL if the caret cannot be set
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT setCaretOffset
- (
- [in] long offset
- );
-
- /** @brief Changes the bounds of an existing selection.
- @param [in] selectionIndex
- Index of selection to change (0 based)
- @param [in] startOffset
- New starting offset (0 based)
- @param [in] endOffset
- New ending offset (0 based) - the offset of the character just past the last character of the selection.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- @note Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
- */
- HRESULT setSelection
- (
- [in] long selectionIndex,
- [in] long startOffset,
- [in] long endOffset
- );
-
- /** @brief Returns total number of characters.
-
- Note that this may be different than the total number of bytes required to store the
- text, if the text contains multi-byte characters.
- @param [out] nCharacters
- @retval S_OK
- */
- [propget] HRESULT nCharacters
- (
- [out, retval] long *nCharacters
- );
-
- /** @brief Makes a specific part of string visible on screen.
- @param [in] startIndex
- 0 based character offset.
- @param [in] endIndex
- 0 based character offset - the offset of the character just past the last character of the string.
- @param [in] scrollType
- Defines where the object should be placed on the screen.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- @note Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
- */
- HRESULT scrollSubstringTo
- (
- [in] long startIndex,
- [in] long endIndex,
- [in] enum IA2ScrollType scrollType
- );
-
- /** @brief Moves the top left of a substring to a specified location.
-
- @param [in] startIndex
- 0 based character offset.
- @param [in] endIndex
- 0 based character offset - the offset of the character just past the last character of the string.
- @param [in] coordinateType
- Specifies whether the coordinates are relative to the screen or the parent object.
- @param [in] x
- Defines the x coordinate.
- @param [in] y
- Defines the y coordinate.
- @retval S_OK
- @retval S_FALSE if the object is already at the specified location.
- @retval E_INVALIDARG if bad [in] passed
- @note Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for information about special offsets that can be used in %IAccessibleText methods.
- */
- HRESULT scrollSubstringToPoint
- (
- [in] long startIndex,
- [in] long endIndex,
- [in] enum IA2CoordinateType coordinateType,
- [in] long x,
- [in] long y
- );
-
- /** @brief Returns any inserted text.
-
- Provided for use by the ::IA2_EVENT_TEXT_INSERTED and ::IA2_EVENT_TEXT_UPDATED
- event handlers.
-
- This data is only guaranteed to be valid while the thread notifying the event
- continues. Once the handler has returned, the validity of the data depends on
- how the server manages the life cycle of its objects. Also, note that the server
- may have different life cycle management strategies for controls depending on
- whether or not a control manages its children. Lists, trees, and tables can have
- a large number of children and thus it's possible that the child objects for those
- controls would only be created as needed. Servers should document their life cycle
- strategy as this will be of interest to assistive technology or script engines
- accessing data out of process or from other threads. Servers only need to save the
- last inserted block of text and a scope of the entire application is adequate.
-
- @param [out] newText
- The text that was just inserted.
- @retval S_OK
- @retval S_FALSE If there is nothing to return, the values of IA2TextSegment
- struct are set as follows: text = NULL, start = 0, end = 0.
-
- */
- [propget] HRESULT newText
- (
- [out, retval] IA2TextSegment *newText
- );
-
- /** @brief Returns any removed text.
-
- Provided for use by the IA2_EVENT_TEXT_REMOVED/UPDATED event handlers.
-
- This data is only guaranteed to be valid while the thread notifying the event
- continues. Once the handler has returned, the validity of the data depends on
- how the server manages the life cycle of its objects. Also, note that the server
- may have different life cycle management strategies for controls depending on
- whether or not a control manages its children. Lists, trees, and tables can have
- a large number of children and thus it's possible that the child objects for those
- controls would only be created as needed. Servers should document their life cycle
- strategy as this will be of interest to assistive technology or script engines
- accessing data out of process or from other threads. Servers only need to save the
- last removed block of text and a scope of the entire application is adequate.
-
- @param [out] oldText
- The text that was just removed.
- @retval S_OK
- @retval S_FALSE If there is nothing to return, the values of IA2TextSegment
- struct are set as follows: text = NULL, start = 0, end = 0.
- */
- [propget] HRESULT oldText
- (
- [out, retval] IA2TextSegment *oldText
- );
-
-}
diff --git a/src/3rdparty/iaccessible2/idl/AccessibleValue.idl b/src/3rdparty/iaccessible2/idl/AccessibleValue.idl
deleted file mode 100644
index cd013d76f8..0000000000
--- a/src/3rdparty/iaccessible2/idl/AccessibleValue.idl
+++ /dev/null
@@ -1,136 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleValue.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-
-/** @brief This interface gives access to a single numerical value.
-
- The %IAccessibleValue interface represents a single numerical value and should
- be implemented by any class that supports numerical value like progress bars
- and spin boxes. This interface lets you access the value and its upper and
- lower bounds.
-*/
-[object, uuid(35855B5B-C566-4fd0-A7B1-E65465600394)]
-interface IAccessibleValue : IUnknown
-{
-
- /** @brief Returns the value of this object as a number.
-
- The exact return type is implementation dependent. Typical types are long and
- double.
- @param [out] currentValue
- Returns the current value represented by this object. See the section about
- @ref _variants "VARIANTs" for additional information.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY
- */
- [propget] HRESULT currentValue
- (
- [out, retval] VARIANT *currentValue
- );
-
- /** @brief Sets the value of this object to the given number.
-
- The argument is clipped to the valid interval whose upper and lower
- bounds are returned by the methods IAccessibleValue::maximumValue and
- IAccessibleValue::minimumValue, i.e. if it is lower than the minimum
- value the new value will be the minimum and if it is greater than the
- maximum then the new value will be the maximum.
-
- @param [in] value
- The new value represented by this object. The set of admissible types for
- this argument is implementation dependent.
- @retval S_OK
- */
- HRESULT setCurrentValue
- (
- [in] VARIANT value
- );
-
- /** @brief Returns the maximal value that can be represented by this object.
-
- The type of the returned value is implementation dependent. It does not have
- to be the same type as that returned by method IAccessibleValue::currentValue.
-
- @param [out] maximumValue
- Returns the maximal value in an implementation dependent type. If this object
- has no upper bound then an empty object is returned. See the section about
- @ref _variants "VARIANTs" for additional information.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY
- */
- [propget] HRESULT maximumValue
- (
- [out, retval] VARIANT *maximumValue
- );
-
- /** @brief Returns the minimal value that can be represented by this object.
-
- The type of the returned value is implementation dependent. It does not have
- to be the same type as that returned by method IAccessibleValue::currentValue.
-
- @param [out] minimumValue
- Returns the minimal value in an implementation dependent type. If this object
- has no lower bound then an empty object is returned. See the section about
- @ref _variants "VARIANTs" for additional information.
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY
- */
- [propget] HRESULT minimumValue
- (
- [out, retval] VARIANT *minimumValue
- );
-
-};
diff --git a/src/3rdparty/iaccessible2/idl/IA2CommonTypes.idl b/src/3rdparty/iaccessible2/idl/IA2CommonTypes.idl
deleted file mode 100644
index d3da110873..0000000000
--- a/src/3rdparty/iaccessible2/idl/IA2CommonTypes.idl
+++ /dev/null
@@ -1,191 +0,0 @@
-/*************************************************************************
- *
- * File Name (IA2CommonTypes.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
- /** These constants control the scrolling of an object or substring into a window.
-
- This enum is used in IAccessible2::scrollTo and IAccessibleText::scrollSubstringTo.
-*/
-enum IA2ScrollType {
-
- /** Scroll the top left corner of the object or substring such that the top left
- corner (and as much as possible of the rest of the object or substring) is within
- the top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_TOP_LEFT,
-
- /** Scroll the bottom right corner of the object or substring such that the bottom right
- corner (and as much as possible of the rest of the object or substring) is within
- the top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_BOTTOM_RIGHT,
-
- /** Scroll the top edge of the object or substring such that the top edge
- (and as much as possible of the rest of the object or substring) is within the
- top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_TOP_EDGE,
-
- /** Scroll the bottom edge of the object or substring such that the bottom edge
- (and as much as possible of the rest of the object or substring) is within the
- top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_BOTTOM_EDGE,
-
- /** Scroll the left edge of the object or substring such that the left edge
- (and as much as possible of the rest of the object or substring) is within the
- top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_LEFT_EDGE,
-
- /** Scroll the right edge of the object or substring such that the right edge
- (and as much as possible of the rest of the object or substring) is within the
- top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_RIGHT_EDGE,
-
- /** Scroll the object or substring such that as much as possible of the
- object or substring is within the top level window. The placement of
- the object is dependent on the application. For example, the object or
- substring may be scrolled to to closest edge, the furthest edge, or midway
- between those two edges.
- */
- IA2_SCROLL_TYPE_ANYWHERE
-};
-
-/** These constants define which coordinate system a point is located in.
-
- This enum is used in IAccessible2::scrollToPoint, IAccessibleImage::imagePosition,
- IAccessibleText::characterExtents, and IAccessibleText::offsetAtPoint, and
- IAccessibleText::scrollSubstringToPoint.
-*/
-enum IA2CoordinateType {
-
- /// The coordinates are relative to the screen.
- IA2_COORDTYPE_SCREEN_RELATIVE,
-
- /** The coordinates are relative to the upper left corner of the bounding box
- of the immediate parent.
- */
- IA2_COORDTYPE_PARENT_RELATIVE
-
-};
-
-/** Special offsets for use in IAccessibleText and IAccessibleEditableText methods
-
- Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for more information.
-*/
-enum IA2TextSpecialOffsets {
- IA2_TEXT_OFFSET_LENGTH = -1, /**< This offset is equivalent to the length of the string. It eliminates
- the need to call IAccessibleText::nCharacters. */
- IA2_TEXT_OFFSET_CARET = -2 /**< This offset signifies that the text related to the physical location
- of the caret should be used. */
-};
-
-/** These constants specify the kind of change made to a table.
-
- This enum is used in the IA2TableModelChange struct which in turn is used by
- IAccessibleTable::modelChange and IAccessibleTable2::modelChange.
-*/
-enum IA2TableModelChangeType {
- IA2_TABLE_MODEL_CHANGE_INSERT, // = 0;
- IA2_TABLE_MODEL_CHANGE_DELETE,
- IA2_TABLE_MODEL_CHANGE_UPDATE
-};
-
-/** A structure defining the type of and extents of changes made to a table
-
- IAccessibleTable::modelChange and IAccessibleTable2::modelChange return this struct.
- In the case of an insertion or change the row and column offsets define the boundaries
- of the inserted or changed subtable after the operation. In the case of a deletion
- the row and column offsets define the boundaries of the subtable being removed before
- the removal.
-*/
-typedef struct IA2TableModelChange {
- enum IA2TableModelChangeType type; // insert, delete, update
- long firstRow; ///< 0 based, inclusive
- long lastRow; ///< 0 based, inclusive
- long firstColumn; ///< 0 based, inclusive
- long lastColumn; ///< 0 based, inclusive
-} IA2TableModelChange;
diff --git a/src/3rdparty/iaccessible2/idl/IA2TypeLibrary.idl b/src/3rdparty/iaccessible2/idl/IA2TypeLibrary.idl
deleted file mode 100644
index 7753825751..0000000000
--- a/src/3rdparty/iaccessible2/idl/IA2TypeLibrary.idl
+++ /dev/null
@@ -1,94 +0,0 @@
-/*************************************************************************
- *
- * File Name (IA2TypeLibrary.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
- * All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of the Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products
- * derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-// This is not a standalone file. It is to be appended to the end of the
-// merged IDL file.
-
-cpp_quote("")
-cpp_quote("// Type Library Definitions")
-cpp_quote("")
-
-[
- uuid(c974e070-3787-490a-87b0-e333b06ca1e2),
- helpstring("IAccessible2 Type Library"),
- version(1.2),
- hidden
-]
-
-library IAccessible2Lib
-{
- importlib ("stdole2.tlb");
- importlib ("oleacc.dll");
- interface IAccessible2;
- interface IAccessibleAction;
- interface IAccessibleApplication;
- interface IAccessibleComponent;
- interface IAccessibleEditableText;
- interface IAccessibleHyperlink;
- interface IAccessibleHypertext;
- interface IAccessibleImage;
- interface IAccessibleRelation;
- interface IAccessibleTable;
- interface IAccessibleTable2;
- interface IAccessibleTableCell;
- interface IAccessibleText;
- interface IAccessibleValue;
- enum IA2CoordinateType;
- enum IA2EventID;
- enum IA2Role;
- enum IA2ScrollType;
- enum IA2States;
- enum IA2TableModelChangeType;
- enum IA2TextBoundaryType;
- enum IA2TextSpecialOffsets;
-}
diff --git a/src/3rdparty/iaccessible2/idl/Makefile b/src/3rdparty/iaccessible2/idl/Makefile
index eb56d9fb60..e186b5ab54 100644
--- a/src/3rdparty/iaccessible2/idl/Makefile
+++ b/src/3rdparty/iaccessible2/idl/Makefile
@@ -11,48 +11,11 @@ MIDL_OPTS = /out ..\generated\x86 /env win32
x86:
-del ..\generated\x86\dlldata.c
-md ..\generated\x86
- $(MIDL) $(MIDL_OPTS) Accessible2.idl
- $(MIDL) $(MIDL_OPTS) AccessibleAction.idl
- $(MIDL) $(MIDL_OPTS) AccessibleApplication.idl
- $(MIDL) $(MIDL_OPTS) AccessibleComponent.idl
- $(MIDL) $(MIDL_OPTS) AccessibleEditableText.idl
- $(MIDL) $(MIDL_OPTS) AccessibleEventID.idl
- $(MIDL) $(MIDL_OPTS) AccessibleHyperlink.idl
- $(MIDL) $(MIDL_OPTS) AccessibleHypertext.idl
- $(MIDL) $(MIDL_OPTS) AccessibleImage.idl
- $(MIDL) $(MIDL_OPTS) AccessibleRelation.idl
- $(MIDL) $(MIDL_OPTS) AccessibleRole.idl
- $(MIDL) $(MIDL_OPTS) AccessibleStates.idl
- $(MIDL) $(MIDL_OPTS) AccessibleTable.idl
- $(MIDL) $(MIDL_OPTS) AccessibleTable2.idl
- $(MIDL) $(MIDL_OPTS) AccessibleTableCell.idl
- $(MIDL) $(MIDL_OPTS) AccessibleText.idl
- $(MIDL) $(MIDL_OPTS) AccessibleValue.idl
- $(MIDL) $(MIDL_OPTS) IA2CommonTypes.idl
- $(MIDL) $(MIDL_OPTS) IA2TypeLibrary.idl
+ $(MIDL) $(MIDL_OPTS) ia2_api_all.idl
MIDL_OPTS = /out ..\generated\amd64 /env amd64
amd64:
-del ..\generated\amd64\dlldata.c
-md ..\generated\amd64
- $(MIDL) $(MIDL_OPTS) Accessible2.idl
- $(MIDL) $(MIDL_OPTS) AccessibleAction.idl
- $(MIDL) $(MIDL_OPTS) AccessibleApplication.idl
- $(MIDL) $(MIDL_OPTS) AccessibleComponent.idl
- $(MIDL) $(MIDL_OPTS) AccessibleEditableText.idl
- $(MIDL) $(MIDL_OPTS) AccessibleEventID.idl
- $(MIDL) $(MIDL_OPTS) AccessibleHyperlink.idl
- $(MIDL) $(MIDL_OPTS) AccessibleHypertext.idl
- $(MIDL) $(MIDL_OPTS) AccessibleImage.idl
- $(MIDL) $(MIDL_OPTS) AccessibleRelation.idl
- $(MIDL) $(MIDL_OPTS) AccessibleRole.idl
- $(MIDL) $(MIDL_OPTS) AccessibleStates.idl
- $(MIDL) $(MIDL_OPTS) AccessibleTable.idl
- $(MIDL) $(MIDL_OPTS) AccessibleTable2.idl
- $(MIDL) $(MIDL_OPTS) AccessibleTableCell.idl
- $(MIDL) $(MIDL_OPTS) AccessibleText.idl
- $(MIDL) $(MIDL_OPTS) AccessibleValue.idl
- $(MIDL) $(MIDL_OPTS) IA2CommonTypes.idl
- $(MIDL) $(MIDL_OPTS) IA2TypeLibrary.idl
-
+ $(MIDL) $(MIDL_OPTS) ia2_api_all.idl
diff --git a/src/3rdparty/iaccessible2/idl/README b/src/3rdparty/iaccessible2/idl/README
index 0a299f16b4..7751447fd4 100644
--- a/src/3rdparty/iaccessible2/idl/README
+++ b/src/3rdparty/iaccessible2/idl/README
@@ -4,3 +4,6 @@ in this directory to generate the files from the idl files.
The generated files will be put in
..\generated\x86 and ..\generated\amd64
+In order for it to work on msvc-2010 you need to use MIDL shipped with
+that version
+(Microsoft (R) 32b/64b MIDL Compiler Version 7.00.0555).
diff --git a/src/3rdparty/iaccessible2/idl/ia2_api_all.idl b/src/3rdparty/iaccessible2/idl/ia2_api_all.idl
new file mode 100644
index 0000000000..729ed2627d
--- /dev/null
+++ b/src/3rdparty/iaccessible2/idl/ia2_api_all.idl
@@ -0,0 +1,5473 @@
+/*************************************************************************
+ *
+ * File Name (api_all_headers.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2013 Linux Foundation
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+import "objidl.idl";
+import "oaidl.idl";
+import "oleacc.idl";
+
+/*************************************************************************
+ *
+ * File Name (IA2CommonTypes.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2013 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+ /** These constants control the scrolling of an object or substring into a window.
+
+ This enum is used in IAccessible2::scrollTo and IAccessibleText::scrollSubstringTo.
+*/
+enum IA2ScrollType {
+
+ /** Scroll the top left corner of the object or substring such that the top left
+ corner (and as much as possible of the rest of the object or substring) is within
+ the top level window. In cases where the entire object or substring fits within
+ the top level window, the placement of the object or substring is dependent on
+ the application. For example, the object or substring may be scrolled to the
+ closest edge, the furthest edge, or midway between those two edges. In cases
+ where there is a hierarchy of nested scrollable controls, more than one control
+ may have to be scrolled.
+ */
+ IA2_SCROLL_TYPE_TOP_LEFT,
+
+ /** Scroll the bottom right corner of the object or substring such that the bottom right
+ corner (and as much as possible of the rest of the object or substring) is within
+ the top level window. In cases where the entire object or substring fits within
+ the top level window, the placement of the object or substring is dependent on
+ the application. For example, the object or substring may be scrolled to the
+ closest edge, the furthest edge, or midway between those two edges. In cases
+ where there is a hierarchy of nested scrollable controls, more than one control
+ may have to be scrolled.
+ */
+ IA2_SCROLL_TYPE_BOTTOM_RIGHT,
+
+ /** Scroll the top edge of the object or substring such that the top edge
+ (and as much as possible of the rest of the object or substring) is within the
+ top level window. In cases where the entire object or substring fits within
+ the top level window, the placement of the object or substring is dependent on
+ the application. For example, the object or substring may be scrolled to the
+ closest edge, the furthest edge, or midway between those two edges. In cases
+ where there is a hierarchy of nested scrollable controls, more than one control
+ may have to be scrolled.
+ */
+ IA2_SCROLL_TYPE_TOP_EDGE,
+
+ /** Scroll the bottom edge of the object or substring such that the bottom edge
+ (and as much as possible of the rest of the object or substring) is within the
+ top level window. In cases where the entire object or substring fits within
+ the top level window, the placement of the object or substring is dependent on
+ the application. For example, the object or substring may be scrolled to the
+ closest edge, the furthest edge, or midway between those two edges. In cases
+ where there is a hierarchy of nested scrollable controls, more than one control
+ may have to be scrolled.
+ */
+ IA2_SCROLL_TYPE_BOTTOM_EDGE,
+
+ /** Scroll the left edge of the object or substring such that the left edge
+ (and as much as possible of the rest of the object or substring) is within the
+ top level window. In cases where the entire object or substring fits within
+ the top level window, the placement of the object or substring is dependent on
+ the application. For example, the object or substring may be scrolled to the
+ closest edge, the furthest edge, or midway between those two edges. In cases
+ where there is a hierarchy of nested scrollable controls, more than one control
+ may have to be scrolled.
+ */
+ IA2_SCROLL_TYPE_LEFT_EDGE,
+
+ /** Scroll the right edge of the object or substring such that the right edge
+ (and as much as possible of the rest of the object or substring) is within the
+ top level window. In cases where the entire object or substring fits within
+ the top level window, the placement of the object or substring is dependent on
+ the application. For example, the object or substring may be scrolled to the
+ closest edge, the furthest edge, or midway between those two edges. In cases
+ where there is a hierarchy of nested scrollable controls, more than one control
+ may have to be scrolled.
+ */
+ IA2_SCROLL_TYPE_RIGHT_EDGE,
+
+ /** Scroll the object or substring such that as much as possible of the
+ object or substring is within the top level window. The placement of
+ the object is dependent on the application. For example, the object or
+ substring may be scrolled to to closest edge, the furthest edge, or midway
+ between those two edges.
+ */
+ IA2_SCROLL_TYPE_ANYWHERE
+};
+
+/** These constants define which coordinate system a point is located in.
+
+ This enum is used in IAccessible2::scrollToPoint, IAccessibleImage::imagePosition,
+ IAccessibleText::characterExtents, and IAccessibleText::offsetAtPoint, and
+ IAccessibleText::scrollSubstringToPoint.
+*/
+enum IA2CoordinateType {
+
+ /// The coordinates are relative to the screen.
+ IA2_COORDTYPE_SCREEN_RELATIVE,
+
+ /** The coordinates are relative to the upper left corner of the bounding box
+ of the immediate parent.
+ */
+ IA2_COORDTYPE_PARENT_RELATIVE
+
+};
+
+/** Special offsets for use in IAccessibleText and IAccessibleEditableText methods
+
+ Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for more information.
+*/
+enum IA2TextSpecialOffsets {
+ IA2_TEXT_OFFSET_LENGTH = -1, /**< This offset is equivalent to the length of the string. It eliminates
+ the need to call IAccessibleText::nCharacters. */
+ IA2_TEXT_OFFSET_CARET = -2 /**< This offset signifies that the text related to the physical location
+ of the caret should be used. */
+};
+
+/** These constants specify the kind of change made to a table.
+
+ This enum is used in the IA2TableModelChange struct which in turn is used by
+ IAccessibleTable::modelChange and IAccessibleTable2::modelChange.
+*/
+enum IA2TableModelChangeType {
+ IA2_TABLE_MODEL_CHANGE_INSERT, // = 0;
+ IA2_TABLE_MODEL_CHANGE_DELETE,
+ IA2_TABLE_MODEL_CHANGE_UPDATE
+};
+
+/** A structure defining the type of and extents of changes made to a table
+
+ IAccessibleTable::modelChange and IAccessibleTable2::modelChange return this struct.
+ In the case of an insertion or change the row and column offsets define the boundaries
+ of the inserted or changed subtable after the operation. In the case of a deletion
+ the row and column offsets define the boundaries of the subtable being removed before
+ the removal.
+*/
+typedef struct IA2TableModelChange {
+ enum IA2TableModelChangeType type; // insert, delete, update
+ long firstRow; ///< 0 based, inclusive
+ long lastRow; ///< 0 based, inclusive
+ long firstColumn; ///< 0 based, inclusive
+ long lastColumn; ///< 0 based, inclusive
+} IA2TableModelChange;
+/*************************************************************************
+ *
+ * File Name (AccessibleRelation.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2013 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+/** @defgroup grpRelations Relations
+ Use the following constants to compare against the BSTRs returned by
+ IAccessibleRelation::relationType.
+*/
+///@{
+
+/** The target object is the containing application object. */
+const WCHAR *const IA2_RELATION_CONTAINING_APPLICATION = L"containingApplication";
+
+/** The target object is the containing document object. The target object implements
+ the IAccessibleDocument interface.
+*/
+const WCHAR *const IA2_RELATION_CONTAINING_DOCUMENT = L"containingDocument";
+
+/** The target object is the containing tab pane object. */
+const WCHAR *const IA2_RELATION_CONTAINING_TAB_PANE = L"containingTabPane";
+
+/** The target object is the containing window object. */
+const WCHAR *const IA2_RELATION_CONTAINING_WINDOW = L"containingWindow";
+
+/** Some attribute of this object is affected by a target object. */
+const WCHAR *const IA2_RELATION_CONTROLLED_BY = L"controlledBy";
+
+/** This object is interactive and controls some attribute of a target object. */
+const WCHAR *const IA2_RELATION_CONTROLLER_FOR = L"controllerFor";
+
+/** This object is described by the target object. */
+const WCHAR *const IA2_RELATION_DESCRIBED_BY = L"describedBy";
+
+/** This object is describes the target object. */
+const WCHAR *const IA2_RELATION_DESCRIPTION_FOR = L"descriptionFor";
+
+/** This object is embedded by a target object. */
+const WCHAR *const IA2_RELATION_EMBEDDED_BY = L"embeddedBy";
+
+/** This object embeds a target object. This relation can be used on the
+ OBJID_CLIENT accessible for a top level window to show where the content
+ areas are.
+*/
+const WCHAR *const IA2_RELATION_EMBEDS = L"embeds";
+
+/** Content flows to this object from a target object.
+ This relation and IA2_RELATION_FLOWS_TO are useful to tie text and non-text
+ objects together in order to allow assistive technology to follow the
+ intended reading order.
+*/
+const WCHAR *const IA2_RELATION_FLOWS_FROM = L"flowsFrom";
+
+/** Content flows from this object to a target object. */
+const WCHAR *const IA2_RELATION_FLOWS_TO = L"flowsTo";
+
+/** This object is label for a target object. */
+const WCHAR *const IA2_RELATION_LABEL_FOR = L"labelFor";
+
+/** This object is labelled by a target object. Note that the double L spelling
+ which follows is preferred. Please use it instead. This single L version may
+ be removed in a later version.
+*/
+const WCHAR *const IA2_RELATION_LABELED_BY = L"labelledBy";
+
+/** This object is labelled by a target object. */
+const WCHAR *const IA2_RELATION_LABELLED_BY = L"labelledBy";
+
+/** This object is a member of a group of one or more objects. When
+ there is more than one object in the group each member may have one and the
+ same target, e.g. a grouping object. It is also possible that each member has
+ multiple additional targets, e.g. one for every other member in the group.
+*/
+const WCHAR *const IA2_RELATION_MEMBER_OF = L"memberOf";
+
+/** The target object is the next object in the tab order. */
+const WCHAR *const IA2_RELATION_NEXT_TABBABLE = L"nextTabbable";
+
+/** This object is a logical child of a target object. This relation is the reciprocal
+ of the IA2_RELATION_NODE_PARENT_OF relation. In some cases an application's accessible
+ tree is such that objects can be in a logical parent-child relationship which is
+ different from the hierarchy of the accessible tree. */
+const WCHAR *const IA2_RELATION_NODE_CHILD_OF = L"nodeChildOf";
+
+/** This object is a logical parent of a target object. This relation is the reciprocal
+ of the IA2_RELATION_NODE_CHILD_OF relation. In some cases an application's accessible
+ tree is such that objects can be in a logical parent-child relationship which is
+ different from the hierarchy of the accessible tree. */
+const WCHAR *const IA2_RELATION_NODE_PARENT_OF = L"nodeParentOf";
+
+/** This object is a parent window of the target object. */
+const WCHAR *const IA2_RELATION_PARENT_WINDOW_OF = L"parentWindowOf";
+
+/** This object is a transient component related to the target object.
+ When this object is activated the target object doesn't lose focus.
+*/
+const WCHAR *const IA2_RELATION_POPUP_FOR = L"popupFor";
+
+/** The target object is the previous object in the tab order. */
+const WCHAR *const IA2_RELATION_PREVIOUS_TABBABLE = L"previousTabbable";
+
+/** This object is a sub window of a target object. */
+const WCHAR *const IA2_RELATION_SUBWINDOW_OF = L"subwindowOf";
+
+///@}
+
+/** This interface gives access to an object's set of relations.
+*/
+[object, uuid(7CDF86EE-C3DA-496a-BDA4-281B336E1FDC)]
+interface IAccessibleRelation : IUnknown
+{
+ /** @brief Returns the type of the relation.
+ @param [out] relationType
+ The strings returned are defined @ref grpRelations "in this section of the documentation".
+ @retval S_OK
+ */
+ [propget] HRESULT relationType
+ (
+ [out, retval] BSTR *relationType
+ );
+
+ /** @brief Returns a localized version of the relation type.
+ @param [out] localizedRelationType
+ @retval S_OK
+ */
+ [propget] HRESULT localizedRelationType
+ (
+ [out, retval] BSTR *localizedRelationType
+ );
+
+ /** @brief Returns the number of targets for this relation.
+ @param [out] nTargets
+ @retval S_OK
+ */
+ [propget] HRESULT nTargets
+ (
+ [out, retval] long *nTargets
+ );
+
+ /** @brief Returns one accessible relation target.
+ @param [in] targetIndex
+ 0 based index
+ @param [out] target
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ @note Use QueryInterface to get IAccessible2.
+ */
+ [propget] HRESULT target
+ (
+ [in] long targetIndex,
+ [out, retval] IUnknown **target
+ );
+
+ /** @brief Returns multiple accessible relation targets
+ @param [in] maxTargets
+ maximum size of the array allocated by the client
+ @param [out] targets
+ The array of target objects. Note that this array is to be allocated by the
+ client and freed when no longer needed. Refer to @ref _arrayConsideration
+ "Special Consideration when using Arrays" for more details. You will need to use
+ QueryInterface on the IUnknown to get the IAccessible2.
+ @param [out] nTargets
+ actual number of targets in the returned array (not more than maxTargets)
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed, e.g. a negative value
+ */
+ [propget] HRESULT targets
+ (
+ [in] long maxTargets,
+ [out, size_is(maxTargets), length_is(*nTargets)]
+ IUnknown **targets,
+ [out, retval] long *nTargets
+ );
+
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleAction.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2013 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+/** This enum defines values which are predefined actions for use when implementing
+ support for media.
+
+ This enum is used when specifying an action for IAccessibleAction::doAction.
+*/
+
+enum IA2Actions {
+ IA2_ACTION_OPEN = -1, /**< Used to inform the server that the client will
+ signal via IA2_ACTION_COMPLETE when it has consumed
+ the content provided by the object. This action
+ allows the object's server to wait for all clients
+ to signal their readiness for additional content.
+ Any form of content generation that requires
+ synchronization with an AT would require use of this
+ action. One example is the generation of text describing
+ visual content not obvious from a video's sound track.
+ In this scenario the Text to Speech or Braille output
+ may take more time than the related length of silence
+ in the video's sound track. */
+ IA2_ACTION_COMPLETE = -2, /**< Used by the client to inform the server that it has
+ consumed the most recent content provided by this object. */
+ IA2_ACTION_CLOSE = -3 /**< Used to inform the server that the client no longer
+ requires synchronization. */
+};
+
+/** @brief This interface gives access to actions that can be executed
+ for accessible objects.
+
+ Every accessible object that can be manipulated via the native GUI beyond the
+ methods available either in the MSAA IAccessible interface or in the set of
+ IAccessible2 interfaces (other than this IAccessibleAction interface) should
+ support the IAccessibleAction interface in order to provide Assistive Technology
+ access to all the actions that can be performed by the object. Each action can
+ be performed or queried for a name, description or associated key bindings.
+ Actions are needed more for ATs that assist the mobility impaired, such as
+ on-screen keyboards and voice command software. By providing actions directly,
+ the AT can present them to the user without the user having to perform the extra
+ steps to navigate a context menu.
+
+ The first action should be equivalent to the MSAA default action. If there is
+ only one action, %IAccessibleAction should also be implemented.
+*/
+[object, uuid(B70D9F59-3B5A-4dba-AB9E-22012F607DF5)]
+interface IAccessibleAction : IUnknown
+{
+
+ /** @brief Returns the number of accessible actions available in this object.
+
+ If there are more than one, the first one is considered the
+ "default" action of the object.
+ @param [out] nActions
+ The returned value of the number of actions is zero if there are
+ no actions.
+ @retval S_OK
+ @note This method is missing a [propget] prefix in the IDL. The result is the
+ method is named nActions in generated C++ code instead of get_nActions.
+ */
+ HRESULT nActions
+ (
+ [out,retval] long* nActions
+ );
+
+ /** @brief Performs the specified Action on the object.
+ @param [in] actionIndex
+ 0 based index specifying the action to perform. If it lies outside
+ the valid range no action is performed.
+ @retval S_OK
+ @retval S_FALSE if action could not be performed
+ @retval E_INVALIDARG if bad [in] passed
+ @note If implementing support for media, refer to the predefined constants in the ::IA2Actions enum.
+ */
+ HRESULT doAction
+ (
+ [in] long actionIndex
+ );
+
+ /** @brief Returns a description of the specified action of the object.
+ @param [in] actionIndex
+ 0 based index specifying which action's description to return.
+ If it lies outside the valid range an empty string is returned.
+ @param [out] description
+ The returned value is a localized string of the specified action.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT description
+ (
+ [in] long actionIndex,
+ [out, retval] BSTR *description
+ );
+
+ /** @brief Returns an array of BSTRs describing one or more key bindings, if
+ there are any, associated with the specified action.
+
+ The returned strings are the localized human readable key sequences to be
+ used to activate each action, e.g. "Ctrl+Shift+D". Since these key
+ sequences are to be used when the object has focus, they are like
+ mnemonics (access keys), and not like shortcut (accelerator) keys.
+
+ There is no need to implement this method for single action controls since
+ that would be redundant with the standard MSAA programming practice of
+ getting the mnemonic from get_accKeyboardShortcut.
+
+ An AT such as an On Screen Keyboard might not expose these bindings but
+ provide alternative means of activation.
+
+ Note: the client allocates and passes in an array of pointers. The server
+ allocates the BSTRs and passes back one or more pointers to these BSTRs into
+ the array of pointers allocated by the client. The client is responsible
+ for deallocating the BSTRs.
+
+ @param [in] actionIndex
+ 0 based index specifying which action's key bindings should be returned.
+ @param [in] nMaxBindings
+ This parameter is ignored. Refer to @ref _arrayConsideration
+ "Special Consideration when using Arrays" for more details.
+ @param [out] keyBindings
+ An array of BSTRs, allocated by the server, one for each key binding.
+ The client must free it with CoTaskMemFree.
+ @param [out] nBindings
+ The number of key bindings returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there are no key bindings, [out] values are NULL and 0 respectively
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT keyBinding
+ (
+ [in] long actionIndex,
+ [in] long nMaxBindings,
+ [out, size_is(,nMaxBindings), length_is(,*nBindings)] BSTR **keyBindings,
+ [out, retval] long *nBindings
+ );
+
+ /** @brief Returns the non-localized name of specified action.
+ @param [in] actionIndex
+ 0 based index specifying which action's non-localized name should be returned.
+ @param [out] name
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT name
+ (
+ [in] long actionIndex,
+ [out, retval] BSTR *name
+ );
+
+ /** @brief Returns the localized name of specified action.
+ @param [in] actionIndex
+ 0 based index specifying which action's localized name should be returned.
+ @param [out] localizedName
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT localizedName
+ (
+ [in] long actionIndex,
+ [out, retval] BSTR *localizedName
+ );
+
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleRole.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2013 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+/** Collection of roles
+
+ This enumerator defines an extended set of accessible roles of objects implementing
+ the %IAccessible2 interface. These roles are in addition to the MSAA roles obtained
+ through the MSAA get_accRole method. Examples are 'footnote', 'heading', and
+ 'label'. You obtain an object's %IAccessible2 roles by calling IAccessible2::role.
+*/
+enum IA2Role {
+
+ /** Unknown role. The object contains some Accessible information, but its
+ role is not known.
+ */
+ IA2_ROLE_UNKNOWN = 0,
+
+ /** An object that can be drawn into and to manage events from the objects
+ drawn into it. Also refer to ::IA2_ROLE_FRAME,
+ ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE.
+ */
+ IA2_ROLE_CANVAS = 0x401,
+
+ /// A caption describing another object.
+ IA2_ROLE_CAPTION,
+
+ /// Used for check buttons that are menu items.
+ IA2_ROLE_CHECK_MENU_ITEM,
+
+ /// A specialized dialog that lets the user choose a color.
+ IA2_ROLE_COLOR_CHOOSER,
+
+ /// A date editor.
+ IA2_ROLE_DATE_EDITOR,
+
+ /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE.
+ Also refer to ::IA2_ROLE_INTERNAL_FRAME.
+ */
+ IA2_ROLE_DESKTOP_ICON,
+
+ /** A desktop pane. A pane that supports internal frames and iconified
+ versions of those internal frames. Also refer to ::IA2_ROLE_INTERNAL_FRAME.
+ */
+ IA2_ROLE_DESKTOP_PANE,
+
+ /** A directory pane. A pane that allows the user to navigate through
+ and select the contents of a directory. May be used by a file chooser.
+ Also refer to ::IA2_ROLE_FILE_CHOOSER.
+ */
+ IA2_ROLE_DIRECTORY_PANE,
+
+ /** An editable text object in a toolbar. <b>Deprecated.</b>
+ The edit bar role was meant for a text area in a tool bar. However, to detect
+ a text area in a tool bar the AT can query the parent.
+ */
+ IA2_ROLE_EDITBAR,
+
+ /// Embedded (OLE) object.
+ IA2_ROLE_EMBEDDED_OBJECT,
+
+ /// Text that is used as an endnote (footnote at the end of a chapter or section).
+ IA2_ROLE_ENDNOTE,
+
+ /** A file chooser. A specialized dialog that displays the files in the
+ directory and lets the user select a file, browse a different directory,
+ or specify a filename. May use the directory pane to show the contents of
+ a directory.
+ Also refer to ::IA2_ROLE_DIRECTORY_PANE.
+ */
+ IA2_ROLE_FILE_CHOOSER,
+
+ /** A font chooser. A font chooser is a component that lets the user pick
+ various attributes for fonts.
+ */
+ IA2_ROLE_FONT_CHOOSER,
+
+ /** Footer of a document page.
+ Also refer to ::IA2_ROLE_HEADER.
+ */
+ IA2_ROLE_FOOTER,
+
+ /// Text that is used as a footnote. Also refer to ::IA2_ROLE_ENDNOTE.
+ IA2_ROLE_FOOTNOTE,
+
+ /** A container of form controls. An example of the use of this role is to
+ represent an HTML FORM tag.
+ */
+ IA2_ROLE_FORM,
+
+ /** Frame role. A top level window with a title bar, border, menu bar, etc.
+ It is often used as the primary window for an application. Also refer to
+ ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window.
+ */
+ IA2_ROLE_FRAME,
+
+ /** A glass pane. A pane that is guaranteed to be painted on top of all panes
+ beneath it. Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and
+ ::IA2_ROLE_ROOT_PANE.
+ */
+ IA2_ROLE_GLASS_PANE,
+
+ /** Header of a document page.
+ Also refer to ::IA2_ROLE_FOOTER.
+ */
+ IA2_ROLE_HEADER,
+
+ /// Heading. Use the IAccessible2::attributes level attribute to determine the heading level.
+ IA2_ROLE_HEADING,
+
+ /// A small fixed size picture, typically used to decorate components.
+ IA2_ROLE_ICON,
+
+ /** An image map object. Usually a graphic with multiple hotspots, where
+ each hotspot can be activated resulting in the loading of another document
+ or section of a document.
+ */
+ IA2_ROLE_IMAGE_MAP,
+
+ /** An object which is used to allow input of characters not found on a keyboard,
+ such as the input of Chinese characters on a Western keyboard.
+ */
+ IA2_ROLE_INPUT_METHOD_WINDOW,
+
+ /** An internal frame. A frame-like object that is clipped by a desktop pane.
+ The desktop pane, internal frame, and desktop icon objects are often used to
+ create multiple document interfaces within an application.
+ Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME.
+ */
+ IA2_ROLE_INTERNAL_FRAME,
+
+ /// An object used to present an icon or short string in an interface.
+ IA2_ROLE_LABEL,
+
+ /** A layered pane. A specialized pane that allows its children to be drawn
+ in layers, providing a form of stacking order. This is usually the pane that
+ holds the menu bar as well as the pane that contains most of the visual
+ components in a window.
+ Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE.
+ */
+ IA2_ROLE_LAYERED_PANE,
+
+ /** A section whose content is parenthetic or ancillary to the main content
+ of the resource.
+ */
+ IA2_ROLE_NOTE,
+
+ /** A specialized pane whose primary use is inside a dialog.
+ Also refer to MSAA's dialog role.
+ */
+ IA2_ROLE_OPTION_PANE,
+
+ /** An object representing a page of document content. It is used in documents
+ which are accessed by the user on a page by page basis.
+ */
+ IA2_ROLE_PAGE,
+
+ /// A paragraph of text.
+ IA2_ROLE_PARAGRAPH,
+
+ /** A radio button that is a menu item.
+ Also refer to MSAA's button and menu item roles.
+ */
+ IA2_ROLE_RADIO_MENU_ITEM,
+
+ /** An object which is redundant with another object in the accessible hierarchy.
+ ATs typically ignore objects with this role.
+ */
+ IA2_ROLE_REDUNDANT_OBJECT,
+
+ /** A root pane. A specialized pane that has a glass pane and a layered pane
+ as its children.
+ Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE
+ */
+ IA2_ROLE_ROOT_PANE,
+
+ /** A ruler such as those used in word processors.
+ */
+ IA2_ROLE_RULER,
+
+ /** A scroll pane. An object that allows a user to incrementally view a large
+ amount of information. Its children can include scroll bars and a viewport.
+ Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role.
+ */
+ IA2_ROLE_SCROLL_PANE,
+
+ /** A container of document content. An example of the use of this role is to
+ represent an HTML DIV tag. A section may be used as a region. A region is a
+ group of elements that together form a perceivable unit. A region does not
+ necessarily follow the logical structure of the content, but follows the
+ perceivable structure of the page. A region may have an attribute in the set
+ of IAccessible2::attributes which indicates that it is "live". A live region
+ is content that is likely to change in response to a timed change, a user
+ event, or some other programmed logic or event.
+ */
+ IA2_ROLE_SECTION,
+
+ /// Object with graphical representation used to represent content on draw pages.
+ IA2_ROLE_SHAPE,
+
+ /** A split pane. A specialized panel that presents two other panels at the
+ same time. Between the two panels is a divider the user can manipulate to make
+ one panel larger and the other panel smaller.
+ */
+ IA2_ROLE_SPLIT_PANE,
+
+ /** An object that forms part of a menu system but which can be "undocked"
+ from or "torn off" the menu system to exist as a separate window.
+ */
+ IA2_ROLE_TEAR_OFF_MENU,
+
+ /// An object used as a terminal emulator.
+ IA2_ROLE_TERMINAL,
+
+ /// Collection of objects that constitute a logical text entity.
+ IA2_ROLE_TEXT_FRAME,
+
+ /** A toggle button. A specialized push button that can be checked or unchecked,
+ but does not provide a separate indicator for the current state.
+ Also refer to MSAA's roles of push button, check box, and radio button.
+ <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used. Instead, use MSAA's
+ ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED.
+ */
+ IA2_ROLE_TOGGLE_BUTTON,
+
+ /** A viewport. An object usually used in a scroll pane. It represents the
+ portion of the entire data that the user can see. As the user manipulates
+ the scroll bars, the contents of the viewport can change.
+ Also refer to ::IA2_ROLE_SCROLL_PANE.
+ */
+ IA2_ROLE_VIEW_PORT,
+
+ /** An object containing content which is complementary to the main content of
+ a document, but remains meaningful when separated from the main content. There
+ are various types of content that would appropriately have this role. For example,
+ in the case where content is delivered via a web portal to a web browser, this may
+ include but not be limited to show times, current weather, related articles, or
+ stocks to watch. The complementary role indicates that contained content is relevant
+ to the main content. If the complementary content is completely separable main
+ content, it may be appropriate to use a more general role.
+ */
+ IA2_ROLE_COMPLEMENTARY_CONTENT
+
+};
+/*************************************************************************
+ *
+ * File Name (AccessibleStates.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2010 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+typedef long AccessibleStates;
+
+/** %IAccessible2 specific state bit constants
+
+ This enum defines the state bits returned by IAccessible2::states. The
+ %IAccessible2 state bits are in addition to those returned by MSAA.
+*/
+enum IA2States {
+
+/** Indicates a window is currently the active window, or is an active subelement
+ within a container or table.
+
+ This state can be used to indicate the current active item in a container, even
+ if the container itself is not currently active. In other words this would indicate
+ the item that will get focus if you tab to the container.
+
+ This information is important for knowing what to report for trees and potentially
+ other containers in a virtual buffer.
+
+ Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
+*/
+IA2_STATE_ACTIVE = 0x1,
+
+/** Indicates that the object is armed.
+
+ Used to indicate that the control is "pressed" and will be invoked when the
+ actuator, e.g. a mouse button, is "released". An AT which either monitors the
+ mouse or synthesizes mouse events might need to know that, and possibly a talking
+ interface would even let the user know about it. It could also potentially be
+ useful to on screen keyboards or test tools since the information does indicate
+ something about the state of the interface, for example, code operating asynchronously
+ might need to wait for the armed state to change before doing something else.
+
+*/
+IA2_STATE_ARMED = 0x2,
+
+/** Indicates the user interface object corresponding to this object no longer exists. */
+IA2_STATE_DEFUNCT = 0x4,
+
+/** An object with this state has a caret and implements the IAccessibleText interface.
+
+ Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination
+ with IA2_STATE_EDITABLE.
+
+*/
+IA2_STATE_EDITABLE = 0x8,
+
+/** Indicates the orientation of this object is horizontal. */
+IA2_STATE_HORIZONTAL = 0x10,
+
+/** Indicates this object is minimized and is represented only by an icon. */
+IA2_STATE_ICONIFIED = 0x20,
+
+/** Indicates an input validation failure. */
+IA2_STATE_INVALID_ENTRY = 0x40,
+
+/** Indicates that this object manages its children.
+
+ Note: Due to the fact that MSAA's WinEvents don't allow the active child index
+ to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages
+ descendants scheme can't be used. Instead the active child object has to fire
+ MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be
+ added to provide for event specific data to be passed with the event. At that
+ time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
+ IA2_STATE_MANAGES_DESCENDANTS state would be useful.
+*/
+IA2_STATE_MANAGES_DESCENDANTS = 0x80,
+
+/** Indicates that an object is modal.
+
+ Modal objects have the behavior that something must be done with the object
+ before the user can interact with an object in a different window.
+*/
+IA2_STATE_MODAL = 0x100,
+
+/** Indicates this text object can contain multiple lines of text. */
+IA2_STATE_MULTI_LINE = 0x200,
+
+/** Indicates this object paints every pixel within its rectangular region. */
+IA2_STATE_OPAQUE = 0x400,
+
+/** Indicates that user interaction is required.
+
+ An example of when this state is used is when a field in a form must be filled
+ before a form can be processed.
+*/
+IA2_STATE_REQUIRED = 0x800,
+
+/** Indicates an object which supports text selection.
+
+ Note: This is different than MSAA STATE_SYSTEM_SELECTABLE.
+*/
+IA2_STATE_SELECTABLE_TEXT = 0x1000,
+
+/** Indicates that this text object can contain only a single line of text. */
+IA2_STATE_SINGLE_LINE = 0x2000,
+
+/** Indicates that the accessible object is stale.
+
+ This state is used when the accessible object no longer accurately
+ represents the state of the object which it is representing such as when an
+ object is transient or when an object has been or is in the process of being
+ destroyed or when the object's index in its parent has changed.
+*/
+IA2_STATE_STALE = 0x4000,
+
+/** Indicates that the object implements autocompletion.
+
+ This state indicates that a text control will respond to the input of
+ one ore more characters and cause a sub-item to become selected. The
+ selection may also result in events fired on the parent object.
+*/
+IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000,
+
+/** Indicates this object is transient.
+
+ An object has this state when its parent object has the state ::IA2_STATE_MANAGES_DESCENDANTS.
+ For example, a list item object may be managed by its parent list object and may only
+ exist as long as the object is actually rendered. Similarly a table cell's accessible
+ object may exist only while the cell has focus. However, from the perspective of an
+ assistive technology a transient object behaves like a non-transient object. As a
+ result it is likely that this state is not of use to an assistive technology, but it
+ is provided in case an assistive technology determines that knowledge of the transient
+ nature of the object is useful and also for harmony with the Linux accessibility API.
+
+ Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
+ */
+IA2_STATE_TRANSIENT = 0x10000,
+
+/** Indicates the orientation of this object is vertical. */
+IA2_STATE_VERTICAL = 0x20000,
+
+/** Indicates this object is checkable.
+
+ The standard checkable objects are check boxes, radio buttons, check box menu
+ items, radio menu items, and toggle buttons. Since assistive technology will
+ determine that these objects are checkable via the object's role the checkable
+ state is not required. However, this state is necessary in those cases where
+ an object has a role which is not one of the previously mentioned roles. An
+ example is a table cell which indicates whether or not an email has an attachment,
+ whether or not an mail is considered spam, and whether or not an email has been read.
+ */
+IA2_STATE_CHECKABLE = 0x40000,
+
+/** Indicates this object is pinned.
+
+ This state indicates that an object is fixed at a certain location. One example
+ is a browser tab that when pinned cannot be moved until unpinned. Another example
+ is a movable or floating object that when pinned remains in its pinned location
+ until being unpinned.
+ */
+IA2_STATE_PINNED = 0x80000
+
+};
+/*************************************************************************
+ *
+ * File Name (Accessible2.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2013 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+/** @mainpage
+
+ @section _interfaces Interfaces
+ IAccessible2\n
+ IAccessible2_2\n
+ IAccessibleAction\n
+ IAccessibleApplication\n
+ IAccessibleComponent\n
+ IAccessibleDocument\n
+ IAccessibleEditableText\n
+ IAccessibleHypertext\n
+ IAccessibleHypertext2\n
+ IAccessibleHyperlink\n
+ IAccessibleImage\n
+ IAccessibleRelation\n
+ IAccessibleTable [Deprecated]\n
+ IAccessibleTable2\n
+ IAccessibleTableCell\n
+ IAccessibleText\n
+ IAccessibleText2\n
+ IAccessibleValue
+
+ @section _structs Structs
+ IA2Locale\n
+ IA2TableModelChange\n
+ IA2TextSegment
+
+ @section _enums Enums
+ ::IA2Actions values are predefined actions for use when implementing support for HTML5 media.\n
+ ::IA2CoordinateType values define the requested coordinate type (screen or parent window).\n
+ ::IA2EventID values identify events.\n
+ ::IA2Role values defines roles which are in addition to the existing MSAA roles.\n
+ ::IA2ScrollType values define where to place an object or substring on the screen.\n
+ ::IA2States values define states which are in addition to the existing MSAA states.\n
+ ::IA2TableModelChangeType values describe the kinds of changes made to a table (insert, delete, update).\n
+ ::IA2TextBoundaryType values define the requested text unit (character, word, sentence, line, paragraph).\n
+ ::IA2TextSpecialOffsets values define special offsets for use in the text interfaces.
+
+ @section _constants Constants
+ @ref grpRelations
+
+ @section _misc Miscellaneous
+ @ref _licensePage "BSD License"\n
+ @ref _generalInfo "General Information"\n
+
+ @page _licensePage BSD License
+ %IAccessible2 IDL Specification
+
+ Copyright (c) 2007, 2013 Linux Foundation\n
+ Copyright (c) 2006 IBM Corporation\n
+ Copyright (c) 2000, 2006 Sun Microsystems, Inc.\n
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials
+ provided with the distribution.
+
+ 3. Neither the name of the Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products
+ derived from this software without specific prior written
+ permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ This BSD License conforms to the Open Source Initiative "Simplified
+ BSD License" as published at:
+ http://www.opensource.org/licenses/bsd-license.php
+
+ %IAccessible2 is a trademark of the Linux Foundation. The %IAccessible2
+ mark may be used in accordance with the
+ <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/trademark-policy">
+ Linux Foundation Trademark Policy</a> to indicate compliance with the %IAccessible2 specification.
+
+ @page _generalInfo General Information
+ The following information is applicable to two or more interfaces.
+
+ @ref _errors\n
+ @ref _memory\n
+ &nbsp;&nbsp;@ref _arrayConsideration\n
+ @ref _indexes\n
+ @ref _enumBase\n
+ @ref _specialOffsets\n
+ @ref _dicoveringInterfaces\n
+ @ref _changingInterfaces\n
+ @ref _applicationInfo\n
+ @ref _childIDs\n
+ @ref _variants\n
+ @ref _iaaction-iahyperlink\n
+ @ref _trademark
+
+ @section _errors Error Handling
+ HRESULT values are defined by the Microsoft&reg; Win32&reg; API. For more information, refer to
+ <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa378137%28v=vs.85%29.aspx">
+ Interpreting HRESULT Values</a> in MSDN&reg;.
+
+ Note that the S_FALSE return value is considered a non-error value and the
+ SUCCEEDED macro will return TRUE. S_FALSE is used when there is no failure
+ but there was nothing valid to return, e.g. in IAccessible2::attributes when
+ there are no attributes. When S_FALSE is returned [out] pointer types should
+ be NULL and [out] longs should generally be 0, but sometimes -1 is used such
+ as IAccessible2::indexInParent, IAccessibleText::caretOffset, and
+ IAccessibleHypertext::hyperlinkIndex.
+
+ Note that for BSTR [out] variables common COM practice is that the server does
+ the SysAllocString and the client does the SysFreeString. Also note that when
+ NULL is returned there is no need for the client to call SysFreeString. Please
+ refer to the documentation for each method for more details regarding error handling.
+
+ @section _memory Memory Management
+ The following memory management issues should be considered:
+ @li Although [out] BSTR variables are declared by the client, their space is
+ allocated by the server. They need to be freed with SysFreeString by the
+ client at end of life; the same is true when BSTRs are used in structs or
+ arrays which are passed to the server.
+ @li If there is no valid [out] BSTR to return, the server should return S_FALSE and
+ assign NULL to the output, e.g. *theOutBSTR = NULL;.
+ @li COM interfaces need to be referenced with AddRef when used and dereferenced
+ with Release at end of life.
+ @li Single [out] longs, HWNDs, booleans, and structs are declared by the caller
+ and passed by reference. The marshaller does all the memory management.
+
+ The following articles may be helpful for understanding memory management issues:
+ @li An article by Don Box in a
+ <a href="http://www.microsoft.com/msj/1196/activex1196.aspx">Q & A section</a>
+ of the November 1996 edition of the Microsoft Systems Journal.
+ @li A posting to a CodeGuru forum,
+ <a href="http://www.codeguru.com/forum/showthread.php?t=364511">Windows SDK
+ String: What are the rules for BSTR allocation and deallocation?</a>
+
+ @subsection _arrayConsideration Special Consideration when using Arrays
+ There are several methods which return arrays. In the case of IAccessible2::relations
+ and IAccessibleRelation::targets the client must allocate and free the arrays.
+
+ For the remaining methods which return arrays, the server must allocate the array
+ and the client must free the array when no longer needed. These methods are
+ IAccessible2::extendedStates, IAccessible2::localizedExtendedStates,
+ IAccessible2_2::relationTargetsOfType, IAccessibleAction::keyBinding,
+ IAccessibleHypertext2::hyperlinks, IAccessibleTable::selectedChildren,
+ IAccessibleTable::selectedColumns, IAccessibleTable::selectedRows,
+ IAccessibleTable2::selectedCells, IAccessibleTable2::selectedColumns,
+ IAccessibleTable2::selectedRows, IAccessibleTableCell::columnHeaderCells,
+ and IAccessibleTableCell::rowHeaderCells.
+ For those methods, the server must allocate both the top level array and any storage
+ associated with it, e.g. for BSTRs. The server must allocate the arrays with
+ CoTaskMemAlloc and any BSTRs with SysAllocString. The client must use CoTaskMemFree
+ to free the array and any BSTRs must be freed with SysFreeString.
+
+ Also, the IDL for IAccessible2::extendedStates, IAccessible2::localizedExtendedStates,
+ IAccessibleAction::keyBinding, IAccessibleTable::selectedChildren,
+ IAccessibleTable::selectedColumns, and IAccessibleTable::selectedRows includes an
+ extraneous [in] parameter for the caller to specify the max size of the array.
+ This parameter will be ignored by the COM server.
+
+ @section _indexes Zero and One Based Indexes
+ Unless otherwise specified all offsets and indexes are 0 based.
+
+ @section _enumBase Enum Base
+ Note that enums start at 0.
+
+ @section _specialOffsets Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods
+ IAccessibleText and IAccessibleEditableText can use one or more of the following
+ special offset values. They are defined in the ::IA2TextSpecialOffsets enum.
+ @li Using ::IA2_TEXT_OFFSET_LENGTH (-1) as an offset in any of the IAccessibleText or
+ IAccessibleEditableText methods is the same as specifying the length of the string.
+ @li Using ::IA2_TEXT_OFFSET_CARET (-2) as an offset for IAccessibleText::textBeforeOffset,
+ IAccessibleText::textAtOffset, and IAccessibleText::textAfterOffset indicates that the
+ text related to the physical location of the caret should be used. This is needed for
+ applications that consider the character offset of the end of one line (as reached by
+ pressing the End key) the same as the offset of the first character on the next line.
+ Since the same offset is associated with two different lines a special means is needed
+ to fetch text from the line where the caret is physically located.
+
+ @section _dicoveringInterfaces Discovery of Interfaces
+ In general AT (Assistive Technology) should try IAccessible2 interfaces, followed by using
+ the MSAA (Microsoft&reg; Active Accessibility&reg;) interfaces. (In cases where the an application
+ is known to have custom interfaces which provide information not supplied by IAccessible2
+ or MSAA, then those custom interfaces can be used.) The AT can then, by default, support
+ unknown IAccessible2/MSAA applications, without the application developers having to request
+ AT vendors for support on an individual application by application basis.
+
+ When you have a reference to an IAccessible and require a reference to an IAccessible2 use
+ QueryService as follows:
+ @code
+ // pAcc is a reference to the accessible object's IAccessible interface.
+ IServiceProvider *pService = NULL;
+ hr = pAcc->QueryInterface(IID_IServiceProvider, (void **)&pService);
+ if(SUCCEEDED(hr)) {
+ IAccessible2 *pIA2 = NULL;
+ hr = pService->QueryService(IID_IAccessible, IID_IAccessible2, (void**)&pIA2);
+ if (SUCCEEDED(hr) && pIA2) {
+ // The control supports IAccessible2.
+ // pIA2 is the reference to the accessible object's IAccessible2 interface.
+ }
+ }
+ @endcode
+
+ @section _changingInterfaces Changing between Accessible Interfaces
+ Note that developers must always implement MSAA's IAccessible and, if needed, some
+ of the interfaces in the set of IAccessible2 interfaces. Although the IAccessible2
+ IDL is coded such that IAccessible2 is a subclass of MSAA's IAccessible, none of
+ MSAA's IAccessible methods are redefined by IAccessible2.
+
+ QueryService must be used to switch from a reference to an MSAA IAccessible interface
+ to another interface. This has been
+ <a href="http://www.atia.org/files/public/Introducing_IAccessibleEx.doc">
+ documented</a> and the pertinent facts have been extracted below:
+
+ @par
+ Why use QueryService instead of just using QueryInterface to get IAccessibleEx
+ directly? The reason is that since MSAA 2.0, clients don't talk to a server's
+ IAccessible interface directly; instead they talk to an intermediate MSAA-provided
+ wrapper that calls through to the original IAccessible. This wrapper provides services
+ such as implementing IDispatch, supplying information from MSAA 2.0's Dynamic Annotation
+ service, and scaling locations when running on Windows Vista with DPI scaling enabled.
+ QueryService is the supported way to expose additional interfaces from an existing
+ IAccessible and was originally used by MSHTML to expose IHTMLElement objects corresponding
+ to IAccessibles. QueryService is often more convenient for servers to implement than
+ QueryInterface because it does not have the same requirements for preserving object
+ identity or symmetry/transitivity as QueryInterface, so QueryService allows servers to
+ easily implement the interface on the same object or a separate object. The latter is
+ often hard to do with QueryInterface unless the original object supports aggregation.
+
+ Two related references in MSDN&reg; are:
+ @li <a href="http://msdn.microsoft.com/en-us/library/ms696078(VS.85).aspx">
+ "Using QueryService to expose a native object model interface for an IAccessible object"</a>
+ @li <a href="http://msdn.microsoft.com/en-us/library/ms528415.aspx#acc_obj">
+ "Accessing the Internet Explorer Object Associated with an Accessible Object"</a>
+
+ Based on this information from Microsoft, QueryService must be used to switch back and forth
+ between a reference to an MSAA IAccessible interface and any of the IAccessible2 interfaces.
+
+ Regarding switching between any of the IAccessible2 interfaces, applications implementing
+ IAccessible2 should implement the IAccessible2 interfaces on a single object since ATs
+ will be using QueryInterface to switch between the IAccessilbe2 interfaces. Implementing
+ the IAccessible2 interfaces on separate objects would require the use of QueryService.
+ There is one exception, IAccessibleApplication can be implemented on a separate object so
+ its common code doesn't have to be included in each accessible object. ATs should use
+ QueryService to access IAccessibleApplication.
+
+ @section _applicationInfo Access to Information about the Application
+ Servers implementing IAccessible2 should provide access to the IAccessibleApplication
+ interface via QueryService from any object so that ATs can easily determine specific
+ information about the application such as its name or version.
+
+ @section _childIDs Child IDs
+ The IAccessible2 interfaces do not support child IDs, i.e. simple child elements.
+ Full accessible objects must be created for each object that supports IAccessible2.
+ Therefore MSAA's get_accChild should never return a child ID (other than CHILDID_SELF)
+ for an object that implements any of the IAccessible2 interfaces.
+
+ Microsoft's UI Automation specification has the same limitation and this was resolved
+ in the UI Automation Express specification by adding IAccessibleEx::GetObjectForChild
+ and IAccessibleEx::GetIAccessiblePair. These methods allow mapping back and forth
+ between an IAccessibleEx and an {IAccessible, Child ID} pair. A future version of
+ IAccessible2 may include similar methods to map back and forth between an IAccessible2
+ and an {IAccessible, Child ID} pair.
+
+ @section _variants VARIANTs
+ Some methods return a VARIANT. Implementers need to make sure that the return type is
+ specified, i.e. VT_I4, VT_IDISPATCH, etc. The methods that return VARIANTs are
+ IAccessibleHyperlink::anchor, IAccessibleHyperlink::anchorTarget, IAccessibleValue::currentValue,
+ IAccessibleValue::maximumValue, IAccessibleValue::minimumValue.
+
+ @section _iaaction-iahyperlink IAccessibleHyperlink as subclass of IAccessibleAction
+ In this version of the IDL, IAccessibleHyperlink is a subclass of IAccessibleAction.
+ However, there is no practical need for that inheritance and in some cases, such as
+ an image map of smart tags, it doesn't make sense because such an image map doesn't
+ have actionable objects; it's the secondary smart tags that are actionable. As a
+ result, implementations should not rely on the inheritance as it may be removed in
+ a later version of the IDL.
+
+ @section _trademark Trademark Attribution
+ The names of actual companies and products mentioned herein may be the trademarks of
+ their respective owners. In particular, Active Accessibility, Microsoft, MSDN, and Win32
+ are trademarks of the Microsoft group of companies in the U.S.A. and/or other countries.
+
+**/
+
+
+
+
+
+
+
+
+/** A structure defining the locale of an accessible object.
+
+IAccessible2::locale returns this struct.
+*/
+typedef struct IA2Locale {
+ BSTR language; ///< ISO 639-1 Alpha-2 two character language code
+ BSTR country; ///< ISO 3166-1 Alpha-2 two character country code
+ BSTR variant; ///< Application specific variant of the locale
+} IA2Locale;
+
+/** @brief This interface exposes the primary set of information about an
+ IAccessible2 enabled accessible object.
+
+ This interface must always be provided for objects that support some
+ portion of the collection of the %IAccessible2 interfaces.
+
+ Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces"
+ for special considerations related to use of the MSAA IAccessible interface and
+ the set of %IAccessible2 interfaces.
+ */
+[object, uuid(E89F726E-C4F4-4c19-BB19-B647D7FA8478)]
+interface IAccessible2 : IAccessible
+{
+
+ /** @brief Returns the number of accessible relations for this object.
+ @param [out] nRelations
+ @retval S_OK
+ */
+ [propget] HRESULT nRelations
+ (
+ [out, retval] long *nRelations
+ );
+
+ /** @brief Returns one accessible relation for this object.
+ @param [in] relationIndex
+ 0 based
+ @param [out] relation
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT relation
+ (
+ [in] long relationIndex,
+ [out, retval] IAccessibleRelation **relation
+ );
+
+ /** @brief Returns multiple accessible relations for this object.
+ @param [in] maxRelations
+ maximum size of the array allocated by the client
+ @param [out] relations
+ The array of accessible relation objects. Note that this array is to be
+ allocated by the client and freed when no longer needed. Refer to @ref
+ _arrayConsideration "Special Consideration when using Arrays" for more details.
+ @param [out] nRelations
+ actual number of relations in the returned array (not more than maxRelations)
+ @retval S_OK
+ @retval S_FALSE if there are no relations, nRelations is set to 0
+ @note As a performant alternative, client code should consider using IAccessible2_2::relationTargetsOfType.
+ */
+ [propget] HRESULT relations
+ (
+ [in] long maxRelations,
+ [out, size_is(maxRelations), length_is(*nRelations)]
+ IAccessibleRelation **relations,
+ [out, retval] long *nRelations
+ );
+
+ /** @brief Returns the role of an %IAccessible2 object.
+ @param [out] role
+ The role of an %IAccessible2 object.
+ @retval S_OK
+ @note
+ @li For convenience MSAA roles are also passed through this method so the
+ AT doesn't have to also fetch roles through MSAA's get_accRole.
+ @li %IAccessible2 roles should not be passed through MSAA's get_accRole.
+ @li For compatibility with non IAccessible2 enabled ATs, IAccessible2
+ applications should also add support to get_accRole to return the closest
+ MSAA role or ROLE_SYSTEM_CLIENT (the MSAA defined default role) if there
+ is not a good match.
+ @li This method is missing a [propget] prefix in the IDL. The result is the
+ method is named role in generated C++ code instead of get_role.
+ */
+ HRESULT role
+ (
+ [out, retval] long *role
+ );
+
+ /** @brief Makes an object visible on the screen.
+ @param [in] scrollType
+ Defines where the object should be placed on the screen.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT scrollTo
+ (
+ [in] enum IA2ScrollType scrollType
+ );
+
+ /** @brief Moves the top left of an object to a specified location.
+
+ @param [in] coordinateType
+ Specifies whether the coordinates are relative to the screen or the parent object.
+ @param [in] x
+ Defines the x coordinate.
+ @param [in] y
+ Defines the y coordinate.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT scrollToPoint
+ (
+ [in] enum IA2CoordinateType coordinateType,
+ [in] long x,
+ [in] long y
+ );
+
+ /** @brief Returns grouping information.
+
+ Used for tree items, list items, tab panel labels, radio buttons, etc.
+ Also used for collections of non-text objects.
+
+ @param [out] groupLevel
+ 1 based, 0 indicates that this value is not applicable
+ @param [out] similarItemsInGroup
+ 1 based, 0 indicates that this value is not applicable
+ @param [out] positionInGroup
+ 1 based, 0 indicates that this value is not applicable. This is an index
+ into the objects in the current group, not an index into all the objects
+ at the same group level.
+ @retval S_OK if at least one value is valid
+ @retval S_FALSE if no values are valid, [out] values are 0s
+ @note This method is meant to describe the nature of an object's containment
+ structure. It's exposed by trees, tree grids, nested lists, nested menus,
+ but not headings, which uses the level object attribute. It is also exposed
+ by radio buttons (with groupLevel == 0).
+ @note This is normally not implemented on a combo box to describe the nature
+ of its contents. Normally an AT will get that information from its child list
+ object. However, in some cases when non-edit combo boxes are not able to be structured
+ such that the list is a child of the combo box, this method is implemented on
+ the combo box itself. ATs can use this interface if a child list is not found.
+ */
+ [propget] HRESULT groupPosition
+ (
+ [out] long *groupLevel,
+ [out] long *similarItemsInGroup,
+ [out, retval] long *positionInGroup
+ );
+
+ /** @brief Returns the bit strip containing any IAccessible2 states.
+
+ The IAccessible2 states are in addition to the MSAA states and are defined in
+ the IA2States enum.
+
+ @param [out] states
+ @retval S_OK
+ */
+ [propget] HRESULT states
+ (
+ [out, retval] AccessibleStates *states
+ );
+
+ /** @brief Returns the extended role.
+
+ An extended role is a role which is dynamically generated by the application.
+ It is not predefined by the %IAccessible2 specification.
+
+ @param [out] extendedRole
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT extendedRole
+ (
+ [out, retval] BSTR *extendedRole
+ );
+
+ /** @brief Returns the localized extended role.
+ @param [out] localizedExtendedRole
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT localizedExtendedRole
+ (
+ [out, retval] BSTR *localizedExtendedRole
+ );
+
+ /** @brief Returns the number of extended states.
+ @param [out] nExtendedStates
+ @retval S_OK
+ */
+ [propget] HRESULT nExtendedStates
+ (
+ [out, retval] long *nExtendedStates
+ );
+
+ /** @brief Returns the extended states (array of strings).
+
+ An extended state is a state which is dynamically generated by the application.
+ It is not predefined by the %IAccessible2 specification.
+
+ @param [in] maxExtendedStates
+ This parameter is ignored. Refer to @ref _arrayConsideration
+ "Special Consideration when using Arrays" for more details.
+ @param [out] extendedStates
+ This array is allocated by the server. The client must free it with CoTaskMemFree.
+ @param [out] nExtendedStates
+ The number of extended states returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT extendedStates
+ (
+ [in] long maxExtendedStates,
+ [out, size_is(,maxExtendedStates), length_is(,*nExtendedStates)] BSTR **extendedStates,
+ [out, retval] long *nExtendedStates
+ );
+
+ /** @brief Returns the localized extended states (array of strings).
+
+ @param [in] maxLocalizedExtendedStates
+ This parameter is ignored. Refer to @ref _arrayConsideration
+ "Special Consideration when using Arrays" for more details.
+ @param [out] localizedExtendedStates
+ This array is allocated by the server. The client must free it with CoTaskMemFree.
+ @param [out] nLocalizedExtendedStates
+ The number of localized extended states returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT localizedExtendedStates
+ (
+ [in] long maxLocalizedExtendedStates,
+ [out, size_is(,maxLocalizedExtendedStates), length_is(,*nLocalizedExtendedStates)] BSTR **localizedExtendedStates,
+ [out, retval] long *nLocalizedExtendedStates
+ );
+
+ /** @brief Returns the unique ID.
+
+ The uniqueID is an identifier for this object, is unique within the
+ current window, and remains the same for the lifetime of the accessible
+ object.
+
+ The uniqueID is not related to:
+ - the MSAA objectID which is used by the server to disambiguate between
+ IAccessibles per HWND or
+ - the MSAA childID which is used to disambiguate between children being
+ managed by an IAccessible.
+
+ This value is provided so the AT can have access to a unique runtime persistent
+ identifier even when not handling an event for the object.
+
+ An example of when this value is useful is if the AT wants to build a cache.
+ The AT could cache the uniqueIDs in addition to other data being cached.
+ When an event is fired the AT could map the uniqueID to its internal model.
+ Thus, if there's a REORDER/SHOW/HIDE event the AT knows which part of the
+ internal structure has been invalidated and can refetch just that part.
+
+ This value can also be used by an AT to determine when the current control
+ has changed. If the role is the same for two controls that are adjacent in
+ the tab order, this can be used to detect the new control.
+
+ Another use of this value by an AT is to identify when a grouping object has
+ changed, e.g. when moving from a radio button in one group to a radio button in a
+ different group.
+
+ One means of implementing this would be to create a factory with a 32 bit number
+ generator and a reuse pool. The number generator would emit numbers starting
+ at 1. Each time an object's life cycle ended, its number would be saved into a
+ reuse pool. The number generator would be used whenever the reuse pool was empty.
+
+ Another way to create a unique ID is to generate it from a pointer value, e.g. an
+ object's address. That would be unique because no two active objects can use the
+ same allocated memory space.
+
+ @param [out] uniqueID
+ @retval S_OK
+ */
+ [propget] HRESULT uniqueID
+ (
+ [out, retval] long *uniqueID
+ );
+
+ /** @brief Returns the window handle for the parent window which contains this object.
+
+ This is the same window handle which will be passed for any events that occur on the
+ object, but is cached in the accessible object for use when it would be helpful to
+ access the window handle in cases where an event isn't fired on this object.
+
+ A use case is when a screen reader is grabbing an entire web page on a page load.
+ Without the availability of windowHandle, the AT would have to get the window handle
+ by using WindowFromAccessibleObject on each IAccessible, which is slow because it's
+ implemented by oleacc.dll as a loop which crawls up the ancestor chain and looks for
+ a ROLE_WINDOW object, mapping that back to a window handle.
+
+ @param [out] windowHandle
+ @retval S_OK
+ */
+ [propget] HRESULT windowHandle
+ (
+ [out, retval] HWND *windowHandle
+ );
+
+ /** @brief Returns the index of this object in its parent object.
+ @param [out] indexInParent
+ 0 based; -1 indicates there is no parent; the upper bound is the value
+ returned by the parent's IAccessible::get_accChildCount.
+ @retval S_OK
+ @retval S_FALSE if no parent, [out] value is -1
+ */
+ [propget] HRESULT indexInParent
+ (
+ [out, retval] long *indexInParent
+ );
+
+ /** @brief Returns the IA2Locale of the accessible object.
+ @param [out] locale
+ @retval S_OK
+ */
+ [propget] HRESULT locale
+ (
+ [out, retval] IA2Locale *locale
+ );
+
+ /** @brief Returns the attributes specific to this object, such as a cell's formula.
+ @param [out] attributes
+ @retval S_OK
+ @retval S_FALSE returned if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT attributes
+ (
+ [out, retval] BSTR *attributes
+ );
+
+}
+
+/*************************************************************************
+ *
+ * File Name (Accessible2_2.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2013 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+/** @brief This interface exposes the primary set of information about an
+ IAccessible2 enabled accessible object.
+
+ This interface must always be provided for objects that support some
+ portion of the collection of the %IAccessible2 interfaces.
+
+ Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces"
+ for special considerations related to use of the MSAA IAccessible interface and
+ the set of %IAccessible2 interfaces.
+ */
+[object, uuid(6C9430E9-299D-4E6F-BD01-A82A1E88D3FF)]
+interface IAccessible2_2 : IAccessible2
+{
+ /** @brief Returns the attribute value of a specified attribute specific to this object.
+ @param [in] name
+ @param [out] attribute
+ @retval S_OK
+ @retval S_FALSE returned if there is nothing to return, [out] value is NULL.
+ @retval E_INVALIDARG if bad [in] passed.
+ @note The output value is a VARIANT. Typically it will be a VT_BSTR, but there
+ are some cases where it will be a VT_I4 or VT_BOOL. Refer to the <a href=
+ "http://www.linuxfoundation.org/collaborate/workgroups/accessibility/iaccessible2/objectattributesIAccessible2">
+ Object Attributes specification</a> for more information.
+ */
+ [propget] HRESULT attribute
+ (
+ [in] BSTR name,
+ [out, retval] VARIANT *attribute
+ );
+
+ /** @brief Returns the deepest hypertext accessible in the subtree of this object, and the caret offset within it.
+ @param [out] accessible
+ @param [out] caretOffset
+ @retval S_OK
+ @retval S_FALSE returned if there is no caret in any of the objects in the subtree, [out] accessible is NULL and [out] caretOffset is -1.
+ */
+ [propget] HRESULT accessibleWithCaret
+ (
+ [out] IUnknown **accessible,
+ [out, retval] long *caretOffset
+ );
+
+ /** @brief Returns relation targets for a specified target type.
+ @param [in] type
+ The requested @ref grpRelations "relation type".
+ @param [in] maxTargets
+ The number of targets requested. 0 indicates that all targets should be returned.
+ @param [out] targets
+ This array is allocated by the server. The client must free it with CoTaskMemFree.
+ @param [out] nTargets
+ The number of targets returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there are no targets, [out] values are NULL and 0 respectively.
+ @retval E_INVALIDARG if bad [in] passed.
+ */
+ [propget] HRESULT relationTargetsOfType
+ (
+ [in] BSTR type,
+ [in] long maxTargets,
+ [out, size_is(,*nTargets)] IUnknown ***targets,
+ [out, retval] long *nTargets
+ );
+
+}
+
+/*************************************************************************
+ *
+ * File Name (AccessibleComponent.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2010 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+/** A value specifying a color in ARGB format, where each 8 bit color component
+specifies alpha, red, green, and blue respectively. The alpha value is optional.
+*/
+typedef long IA2Color;
+
+/** @brief This interface is implemented by any object that can be rendered
+ on the screen.
+
+ This interface provides the standard mechanism for an assistive technology
+ to retrieve information concerning the graphical representation of an object.
+ Coordinates used by the functions of this interface are specified in
+ different coordinate systems. Their scale is the same and is equal to
+ that of the screen coordinate system. In other words all coordinates
+ are measured in pixels. They differ in their respective origin:
+ <ul>
+ <li>The screen coordinate system has its origin in the upper left
+ corner of the current screen.</li>
+ <li>The origin of the parent coordinate system is the upper left corner
+ of the parent's bounding box. With no parent the screen coordinate
+ system is used instead.</li>
+ </ul>
+*/
+[object, uuid(1546D4B0-4C98-4bda-89AE-9A64748BDDE4)]
+interface IAccessibleComponent : IUnknown
+{
+
+ /** @brief Returns the location of the upper left corner of the object's
+ bounding box relative to the immediate parent object.
+
+ The coordinates of the bounding box are given relative to the parent's
+ coordinate system. The coordinates of the returned position are relative
+ to this object's parent or relative to the screen on which this object
+ is rendered if it has no parent. If the object is not on any screen
+ the returned position is (0,0).
+
+ @param [out] x
+ @param [out] y
+ @retval S_OK
+ */
+ [propget] HRESULT locationInParent
+ (
+ [out] long *x,
+ [out, retval] long *y
+ );
+
+ /** @brief Returns the foreground color of this object.
+ @param [out] foreground
+ The returned color is the foreground color of this object or, if
+ that is not supported, the default foreground color.
+ @retval S_OK
+ */
+ [propget] HRESULT foreground
+ (
+ [out, retval] IA2Color *foreground
+ );
+
+ /** @brief Returns the background color of this object.
+ @param [out] background
+ The returned color is the background color of this object or, if
+ that is not supported, the default background color.
+ @retval S_OK
+ */
+ [propget] HRESULT background
+ (
+ [out, retval] IA2Color *background
+ );
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleValue.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2010 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+/** @brief This interface gives access to a single numerical value.
+
+ The %IAccessibleValue interface represents a single numerical value and should
+ be implemented by any class that supports numerical value like progress bars
+ and spin boxes. This interface lets you access the value and its upper and
+ lower bounds.
+*/
+[object, uuid(35855B5B-C566-4fd0-A7B1-E65465600394)]
+interface IAccessibleValue : IUnknown
+{
+
+ /** @brief Returns the value of this object as a number.
+
+ The exact return type is implementation dependent. Typical types are long and
+ double.
+ @param [out] currentValue
+ Returns the current value represented by this object. See the section about
+ @ref _variants "VARIANTs" for additional information.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY
+ */
+ [propget] HRESULT currentValue
+ (
+ [out, retval] VARIANT *currentValue
+ );
+
+ /** @brief Sets the value of this object to the given number.
+
+ The argument is clipped to the valid interval whose upper and lower
+ bounds are returned by the methods IAccessibleValue::maximumValue and
+ IAccessibleValue::minimumValue, i.e. if it is lower than the minimum
+ value the new value will be the minimum and if it is greater than the
+ maximum then the new value will be the maximum.
+
+ @param [in] value
+ The new value represented by this object. The set of admissible types for
+ this argument is implementation dependent.
+ @retval S_OK
+ */
+ HRESULT setCurrentValue
+ (
+ [in] VARIANT value
+ );
+
+ /** @brief Returns the maximal value that can be represented by this object.
+
+ The type of the returned value is implementation dependent. It does not have
+ to be the same type as that returned by method IAccessibleValue::currentValue.
+
+ @param [out] maximumValue
+ Returns the maximal value in an implementation dependent type. If this object
+ has no upper bound then an empty object is returned. See the section about
+ @ref _variants "VARIANTs" for additional information.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY
+ */
+ [propget] HRESULT maximumValue
+ (
+ [out, retval] VARIANT *maximumValue
+ );
+
+ /** @brief Returns the minimal value that can be represented by this object.
+
+ The type of the returned value is implementation dependent. It does not have
+ to be the same type as that returned by method IAccessibleValue::currentValue.
+
+ @param [out] minimumValue
+ Returns the minimal value in an implementation dependent type. If this object
+ has no lower bound then an empty object is returned. See the section about
+ @ref _variants "VARIANTs" for additional information.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY
+ */
+ [propget] HRESULT minimumValue
+ (
+ [out, retval] VARIANT *minimumValue
+ );
+
+};
+/*************************************************************************
+ *
+ * File Name (AccessibleText.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2013 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+/** A structure containing a substring and the start and end offsets in the enclosing string.
+
+ IAccessibleText::newText and IAccessibleText::oldText return this struct.
+*/
+typedef struct IA2TextSegment {
+ BSTR text; ///< A copy of a segment of text taken from an enclosing paragraph.
+ long start; ///< Index of the first character of the segment in the enclosing text.
+ long end; ///< Index of the character following the last character of the segment in the enclosing text.
+} IA2TextSegment;
+
+/** This enum defines values which specify a text boundary type.
+
+ IA2_TEXT_BOUNDARY_SENTENCE is optional. When a method doesn't implement this
+ method it must return S_FALSE. Typically this feature would not be implemented
+ by an application. However, if the application developer was not satisfied with
+ how screen readers have handled the reading of sentences this boundary type
+ could be implemented and screen readers could use the application's version of a
+ sentence rather than the screen reader's.
+
+ The rest of the boundary types must be supported.
+
+ This enum is used in IAccessibleText::textBeforeOffset, IAccessibleText::textAtOffset,
+ and IAccessibleText::textAfterOffset.
+*/
+
+enum IA2TextBoundaryType {
+ IA2_TEXT_BOUNDARY_CHAR, /**< Typically, a single character is returned. In some cases more than
+ one character is returned, for example, when a document contains field
+ data such as a field containing a date, time, or footnote reference.
+ In this case the caret can move over several characters in one movement
+ of the caret. Note that after the caret moves, the caret offset changes
+ by the number of characters in the field, e.g. by 8 characters in the
+ following date: 03/26/07. */
+ IA2_TEXT_BOUNDARY_WORD, /**< The range provided matches the range observed when the application
+ processes the Ctrl + left arrow and Ctrl + right arrow key sequences.
+ Typically this is from the start of one word to the start of the next, but
+ various applications are inconsistent in the handling of the end of a line. */
+ IA2_TEXT_BOUNDARY_SENTENCE, ///< Range is from start of one sentence to the start of another sentence.
+ IA2_TEXT_BOUNDARY_PARAGRAPH, ///< Range is from start of one paragraph to the start of another paragraph.
+ IA2_TEXT_BOUNDARY_LINE, /**< Range is from start of one line to the start of another line. This
+ often means that an end-of-line character will appear at the end of the
+ range. However in the case of some applications an end-of-line character
+ indicates the end of a paragraph and the lines composing the paragraph,
+ other than the last line, do not contain an end of line character. */
+ IA2_TEXT_BOUNDARY_ALL ///< Using this value will cause all text to be returned.
+};
+
+/** @brief This interface gives read-only access to text.
+
+ The %IAccessibleText interface should be implemented by all components
+ that present textual information on the display like buttons,
+ text entry fields, or text portions of the document window. The interface
+ provides access to the text's content, attributes, and spatial location.
+ However, text can not be modified with this interface. That is the task
+ of the IAccessibleEditableText interface.
+
+ The text length, i.e. the number of characters in the text, is
+ returned by IAccessibleText::nCharacters. All methods that operate
+ on particular characters (e.g. IAccessibleText::textAtOffset) use character
+ indices from 0 to length-1. All methods that operate on character positions
+ (e.g. IAccessibleText::text) use indices from 0 to length.
+
+ Please note that accessible text does not necessarily support selection.
+ In this case it should behave as if there where no selection. An empty
+ selection is used for example to express the current cursor position.
+
+ Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+
+ E_FAIL is returned in the following cases
+ @li endOffset < startOffset
+ @li endoffset > length
+*/
+[object, uuid(24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B)]
+interface IAccessibleText : IUnknown
+{
+
+ /** @brief Adds a text selection
+ @param [in] startOffset
+ Starting offset ( 0 based).
+ @param [in] endOffset
+ Offset of first character after new selection (0 based).
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ @note Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+ */
+ HRESULT addSelection
+ (
+ [in] long startOffset,
+ [in] long endOffset
+ );
+
+ /** @brief Returns text attributes.
+ @param [in] offset
+ Text offset (0 based). Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+ @param [out] startOffset
+ The starting offset of the character range over which all text attributes match
+ those of offset. (0 based)
+ @param [out] endOffset
+ The offset of the first character past the character range over which all text
+ attributes match those of offset. (0 based)
+ @param [out] textAttributes
+ A string of attributes describing the text. The attributes are described in the
+ <a href="http://www.linuxfoundation.org/en/Accessibility/IAccessible2/TextAttributes">
+ text attributes specification</a> on the %IAccessible2 web site.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] values are 0s and NULL respectively
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT attributes
+ (
+ [in] long offset,
+ [out] long *startOffset,
+ [out] long *endOffset,
+ [out, retval] BSTR *textAttributes
+ );
+
+ /** @brief Returns the position of the caret.
+
+ Returns the 0-based offset of the caret within the text. If the text is
+ implemented as a tree of text objects with embed characters in higher levels
+ representing substrings of child text objects and the caret is in one of the
+ child text objects, then the offset in the higher level text object would be
+ at the embed character representing child text object that contains the caret.
+
+ For example, if the string "one two three" is implemented as a two text objects,
+ with a top level text object containing an embed character "one ? three" and a
+ child text object containing "two" and if the caret is in the descendant object
+ just before the 'o' in "two", then:
+ <ul>
+ <li>the caretOffset for the "one ? three" object would be 4, matching the embed character</li>
+ <li>the caretOffset for "two" would be 2, matching the "o"</li>
+ </ul>
+ The caret position/offset is that of the character logically following it, e.g.
+ to the right of it in a left to right language, or to the left of it in a right
+ to left language.
+ @param [out] offset
+ The returned offset is relative to the text represented by this object.
+ @retval S_OK
+ @retval S_FALSE if the caret is not currently active on this object, i.e. the
+ caret is located on some other object. The returned offset value will be -1.
+ @note S_FALSE (and an offset of -1) will not be returned if the caret is somewhere
+ in the text object or one of its descendants.
+ */
+ [propget] HRESULT caretOffset
+ (
+ [out, retval] long *offset
+ );
+
+
+ /** @brief Returns the bounding box of the specified position.
+
+ The virtual character after the last character of the represented
+ text, i.e. the one at position length is a special case. It represents the
+ current input position and will therefore typically be queried by AT more
+ often than other positions. Because it does not represent an existing character
+ its bounding box is defined in relation to preceding characters. It should be
+ roughly equivalent to the bounding box of some character when inserted at the
+ end of the text. Its height typically being the maximal height of all the
+ characters in the text or the height of the preceding character, its width being
+ at least one pixel so that the bounding box is not degenerate.
+
+ Note that the index 'length' is not always valid. Whether it is or not is
+ implementation dependent. It typically is when text is editable or otherwise
+ when on the screen the caret can be placed behind the text. You can be sure
+ that the index is valid after you have received a ::IA2_EVENT_TEXT_CARET_MOVED
+ event for this index.
+ @param [in] offset
+ Index of the character for which to return its bounding box. The valid range
+ is 0..length. Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+ @param [in] coordType
+ Specifies if the coordinates are relative to the screen or to the parent window.
+ @param [out] x
+ X coordinate of the top left corner of the bounding box of the referenced character.
+ @param [out] y
+ Y coordinate of the top left corner of the bounding box of the referenced character.
+ @param [out] width
+ Width of the bounding box of the referenced character.
+ @param [out] height
+ Height of the bounding box of the referenced character.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT characterExtents
+ (
+ [in] long offset,
+ [in] enum IA2CoordinateType coordType,
+ [out] long *x,
+ [out] long *y,
+ [out] long *width,
+ [out, retval] long *height
+ );
+
+
+ /** @brief Returns the number of active non-contiguous selections
+ @param [out] nSelections
+ @retval S_OK
+ */
+ [propget] HRESULT nSelections
+ (
+ [out, retval] long *nSelections
+ );
+
+ /** @brief Returns the text position for the specified screen position.
+
+ Given a point return the zero-based index of the character under that
+ point. The same functionality could be achieved by using the bounding
+ boxes for each character as returned by IAccessibleText::characterExtents.
+ The method IAccessibleText::offsetAtPoint, however, can be implemented
+ more efficiently.
+
+ @param [in] x
+ The position's x value for which to look up the index of the character that
+ is rendered on to the display at that point.
+ @param [in] y
+ The position's y value for which to look up the index of the character that
+ is rendered on to the display at that point.
+ @param [in] coordType
+ Screen coordinates or window coordinates.
+ @param [out] offset
+ Index of the character under the given point or -1 if the point
+ is invalid or there is no character under the point.
+ @retval S_OK
+ @retval S_FALSE if nothing to return, [out] value is -1
+
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT offsetAtPoint
+ (
+ [in] long x,
+ [in] long y,
+ [in] enum IA2CoordinateType coordType,
+ [out, retval] long *offset
+ );
+
+ /** @brief Returns the character offsets of Nth active text selection
+
+ Returns the 0-based starting and ending offsets of the Nth selection. If the
+ text is implemented as a tree of text objects with embed characters in higher
+ levels representing substrings of child text objects, consider the following.
+ If the starting selection offset is in one of the child text objects, then the
+ starting offset in the higher level text object would be at the embed character
+ representing the child text object that contains the starting selection offset.
+ If the ending selection offset is in one of the child text objects, then the
+ ending offset in the higher level text object would be just after the embed
+ character representing the child text object that contains the ending selection
+ offset.
+
+ For example, if the string "one two three" is implemented as a two text objects,
+ with a top level text object containing an embed character "one ? three" and a
+ child text object containing "two" and if the selection is the string "two" then:
+ <ul>
+ <li>the startOffset for the "one ? three" object would be 4, matching the embed character and the endOffset would be 5.</li>
+ <li>the startOffset for the "two" object would be 0, and the endOffset would be 3</li>
+ </ul>
+ Selection offsets are that of the character logically following it, e.g.
+ to the right of it in a left to right language or to the left of it in a right to left language.
+ @param [in] selectionIndex
+ Index of selection (0 based).
+ @param [out] startOffset
+ 0 based offset of first selected character
+ @param [out] endOffset
+ 0 based offset of one past the last selected character.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT selection
+ (
+ [in] long selectionIndex,
+ [out] long *startOffset,
+ [out, retval] long *endOffset
+ );
+
+ /** @brief Returns the substring between the two given indices.
+
+ The substring starts with the character at startOffset (inclusive) and up to
+ the character at endOffset (exclusive), if startOffset is less or equal
+ endOffset. If endOffset is lower than startOffset, the result is the same
+ as a call with the two arguments being exchanged.
+
+ The whole text can be requested by passing the indices zero and
+ IAccessibleText::nCharacters. If both indices have the same value, an empty
+ string is returned.
+ @param [in] startOffset
+ Index of the first character to include in the returned string. The valid range
+ is 0..length.
+ @param [in] endOffset
+ Index of the last character to exclude in the returned string. The valid range
+ is 0..length.
+ @param [out] text
+ Returns the substring starting with the character at startOffset (inclusive)
+ and up to the character at endOffset (exclusive), if startOffset is less than
+ or equal to endOffset.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ @note
+ @li The returned string may be longer than endOffset-startOffset bytes if text
+ contains multi-byte characters.
+ @li Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+ */
+ [propget] HRESULT text
+ (
+ [in] long startOffset,
+ [in] long endOffset,
+ [out, retval] BSTR *text
+ );
+
+ /** @brief Returns a text portion before the given position.
+
+ Returns the substring of the specified text type that is located before the
+ given character and does not include it. The result of this method should be
+ same as a result for IAccessibleText::textAtOffset with a suitably decreased
+ index value.
+
+ For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete
+ word that is closest to and located before offset is returned.
+
+ If the index is valid, but no text is found, S_FALSE is returned along with out
+ values of 0, 0, and a NULL pointer. This would happen for boundary types other
+ than character when the text consists entirely of whitespace.
+
+ @param [in] offset
+ Index of the character for which to return the text part before it. The index
+ character will not be part of the returned string. The valid range is 0..length.
+ Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+ @param [in] boundaryType
+ The type of the text portion to return. See ::IA2TextBoundaryType for the
+ complete list.
+ @param [out] startOffset
+ 0 based offset of first character.
+ @param [out] endOffset
+ 0 based offset of one past the last character.
+ @param [out] text
+ Returns the requested text portion. This portion may be empty or invalid when
+ no appropriate text portion is found or text type is invalid.
+ @retval S_OK
+ @retval S_FALSE if the requested boundary type is not implemented, such as
+ ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return;
+ [out] values are 0s and NULL respectively
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT textBeforeOffset
+ (
+ [in] long offset,
+ [in] enum IA2TextBoundaryType boundaryType,
+ [out] long *startOffset,
+ [out] long *endOffset,
+ [out, retval] BSTR *text
+ );
+
+ /** @brief Returns a text portion after the given position.
+
+ Returns the substring of the specified text type that is located after the
+ given character and does not include it. The result of this method should be
+ same as a result for IAccessibleText::textAtOffset with a suitably increased
+ index value.
+
+ For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete
+ word that is closest to and located after offset is returned.
+
+ If the index is valid, but no text is found, S_FALSE is returned along with out
+ values of 0, 0, and a NULL pointer. This would happen for boundary types other
+ than character when the text consists entirely of whitespace.
+
+ @param [in] offset
+ Index of the character for which to return the text part after it. The index
+ character will not be part of the returned string. The valid range is 0..length.
+ Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+ @param [in] boundaryType
+ The type of the text portion to return. See ::IA2TextBoundaryType for the complete
+ list.
+ @param [out] startOffset
+ 0 based offset of first character.
+ @param [out] endOffset
+ 0 based offset of one past the last character.
+ @param [out] text
+ Returns the requested text portion. This portion may be empty or invalid when
+ no appropriate text portion is found or text type is invalid.
+ @retval S_OK
+ @retval S_FALSE if the requested boundary type is not implemented, such as
+ ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return;
+ [out] values are 0s and NULL respectively
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT textAfterOffset
+ (
+ [in] long offset,
+ [in] enum IA2TextBoundaryType boundaryType,
+ [out] long *startOffset,
+ [out] long *endOffset,
+ [out, retval] BSTR *text
+ );
+
+ /** @brief Returns a text portion that spans the given position.
+
+ Returns the substring defined by the specified boundary type at the specified
+ offset. Refer to IA2TextBoundaryType for more details.
+
+ For the word boundary type the returned string will contain the word at the
+ offset if the offset is inside a word and will contain the word before the
+ offset if the offset is not inside a word. All offsets from the first to the
+ last characters of a word are considered inside the word. Boundary types of
+ sentence and paragraph should exhibit similar behavior.
+
+ If the index is valid, but no text is found, S_FALSE is returned along with out
+ values of 0, 0, and a NULL pointer. This would happen for boundary types other
+ than character when the text consists entirely of whitespace.
+
+ @param [in] offset
+ Index of the character for which to return the text part it belongs to. The valid
+ range is 0..length.
+ Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+ @param [in] boundaryType
+ The type of the text portion to return. See ::IA2TextBoundaryType for the complete
+ list.
+ @param [out] startOffset
+ 0 based offset of first character.
+ @param [out] endOffset
+ 0 based offset of one past the last character.
+ @param [out] text
+ Returns the requested text portion. This portion may be empty or invalid when
+ no appropriate text portion is found or text type is invalid.
+ @retval S_OK
+ @retval S_FALSE if the requested boundary type is not implemented, such as
+ ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return;
+ [out] values are 0s and NULL respectively
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT textAtOffset
+ (
+ [in] long offset,
+ [in] enum IA2TextBoundaryType boundaryType,
+ [out] long *startOffset,
+ [out] long *endOffset,
+ [out, retval] BSTR *text
+ );
+
+ /** @brief Unselects a range of text.
+ @param [in] selectionIndex
+ Index of selection to remove (0 based).
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT removeSelection
+ (
+ [in] long selectionIndex
+ );
+
+ /** @brief Sets the position of the caret.
+
+ The caret position/offset is that of the character logically following it,
+ e.g. to the right of it in a left to right language.
+
+ Setting the caret position may or may not alter the current selection. A
+ change of the selection is notified to the accessibility event listeners with
+ an ::IA2_EVENT_TEXT_SELECTION_CHANGED event.
+
+ When the new caret position differs from the old one (which, of course, is the
+ standard case) this is notified to the accessibility event listeners with an
+ ::IA2_EVENT_TEXT_CARET_MOVED event.
+ @param [in] offset
+ The new index of the caret. This caret is actually placed to the left side of
+ the character with that index. An index of 0 places the caret so that the next
+ insertion goes before the first character. An index of IAccessibleText::nCharacters
+ leads to insertion after the last character. Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+ @retval S_OK
+ @retval E_FAIL if the caret cannot be set
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT setCaretOffset
+ (
+ [in] long offset
+ );
+
+ /** @brief Changes the bounds of an existing selection.
+ @param [in] selectionIndex
+ Index of selection to change (0 based)
+ @param [in] startOffset
+ New starting offset (0 based)
+ @param [in] endOffset
+ New ending offset (0 based) - the offset of the character just past the last character of the selection.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ @note Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+ */
+ HRESULT setSelection
+ (
+ [in] long selectionIndex,
+ [in] long startOffset,
+ [in] long endOffset
+ );
+
+ /** @brief Returns total number of characters.
+
+ Note that this may be different than the total number of bytes required to store the
+ text, if the text contains multi-byte characters.
+ @param [out] nCharacters
+ @retval S_OK
+ */
+ [propget] HRESULT nCharacters
+ (
+ [out, retval] long *nCharacters
+ );
+
+ /** @brief Makes a specific part of string visible on screen.
+ @param [in] startIndex
+ 0 based character offset.
+ @param [in] endIndex
+ 0 based character offset - the offset of the character just past the last character of the string.
+ @param [in] scrollType
+ Defines where the object should be placed on the screen.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ @note Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+ */
+ HRESULT scrollSubstringTo
+ (
+ [in] long startIndex,
+ [in] long endIndex,
+ [in] enum IA2ScrollType scrollType
+ );
+
+ /** @brief Moves the top left of a substring to a specified location.
+
+ @param [in] startIndex
+ 0 based character offset.
+ @param [in] endIndex
+ 0 based character offset - the offset of the character just past the last character of the string.
+ @param [in] coordinateType
+ Specifies whether the coordinates are relative to the screen or the parent object.
+ @param [in] x
+ Defines the x coordinate.
+ @param [in] y
+ Defines the y coordinate.
+ @retval S_OK
+ @retval S_FALSE if the object is already at the specified location.
+ @retval E_INVALIDARG if bad [in] passed
+ @note Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleText methods.
+ */
+ HRESULT scrollSubstringToPoint
+ (
+ [in] long startIndex,
+ [in] long endIndex,
+ [in] enum IA2CoordinateType coordinateType,
+ [in] long x,
+ [in] long y
+ );
+
+ /** @brief Returns any inserted text.
+
+ Provided for use by the ::IA2_EVENT_TEXT_INSERTED and ::IA2_EVENT_TEXT_UPDATED
+ event handlers.
+
+ This data is only guaranteed to be valid while the thread notifying the event
+ continues. Once the handler has returned, the validity of the data depends on
+ how the server manages the life cycle of its objects. Also, note that the server
+ may have different life cycle management strategies for controls depending on
+ whether or not a control manages its children. Lists, trees, and tables can have
+ a large number of children and thus it's possible that the child objects for those
+ controls would only be created as needed. Servers should document their life cycle
+ strategy as this will be of interest to assistive technology or script engines
+ accessing data out of process or from other threads. Servers only need to save the
+ last inserted block of text and a scope of the entire application is adequate.
+
+ @param [out] newText
+ The text that was just inserted.
+ @retval S_OK
+ @retval S_FALSE If there is nothing to return, the values of IA2TextSegment
+ struct are set as follows: text = NULL, start = 0, end = 0.
+
+ */
+ [propget] HRESULT newText
+ (
+ [out, retval] IA2TextSegment *newText
+ );
+
+ /** @brief Returns any removed text.
+
+ Provided for use by the IA2_EVENT_TEXT_REMOVED/UPDATED event handlers.
+
+ This data is only guaranteed to be valid while the thread notifying the event
+ continues. Once the handler has returned, the validity of the data depends on
+ how the server manages the life cycle of its objects. Also, note that the server
+ may have different life cycle management strategies for controls depending on
+ whether or not a control manages its children. Lists, trees, and tables can have
+ a large number of children and thus it's possible that the child objects for those
+ controls would only be created as needed. Servers should document their life cycle
+ strategy as this will be of interest to assistive technology or script engines
+ accessing data out of process or from other threads. Servers only need to save the
+ last removed block of text and a scope of the entire application is adequate.
+
+ @param [out] oldText
+ The text that was just removed.
+ @retval S_OK
+ @retval S_FALSE If there is nothing to return, the values of IA2TextSegment
+ struct are set as follows: text = NULL, start = 0, end = 0.
+ */
+ [propget] HRESULT oldText
+ (
+ [out, retval] IA2TextSegment *oldText
+ );
+
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleText2.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2013 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+
+/** @brief This interface gives read-only access to text.
+
+ The %IAccessibleText2 interface extends the functionality of the
+ %IAccessibleText interface.
+*/
+[object, uuid(9690A9CC-5C80-4DF5-852E-2D5AE4189A54)]
+interface IAccessibleText2 : IAccessibleText
+{
+
+ /** @brief Returns the range and of the specified set of attributes.
+
+ Return the range (start and end offsets) and text attributes that correspond
+ to the given attributes filter at the given offset.
+
+ @param [in] offset
+ The offset at which to search for the attributes specified in the filter.
+ @param [in] filter
+ The requested attribute names. The filter format is "attribute1, attribute2".
+ @param [out] startOffset
+ The starting (0-based) offset of the text containing the specified attributes.
+ @param [out] endOffset
+ The (0-based) offset one past the last character of the text containing the
+ specified attributes.
+ @param [out] attributeValues
+ The values of the requested attributes.
+ @retval S_OK
+ @retval S_FALSE if nothing to return, [out] values are -1, -1, NULL respectively.
+ @retval E_INVALIDARG if bad [in] passed.
+ */
+ [propget] HRESULT attributeRange
+ (
+ [in] long offset,
+ [in] BSTR filter,
+ [out] long *startOffset,
+ [out] long *endOffset,
+ [out, retval] BSTR *attributeValues
+ );
+
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleEditableText.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2012 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+/** @brief This interface provides clipboard capability to text objects.
+
+ This interface is typically used in conjunction with the IAccessibleText
+ interface and complements that interface with the additional capability of
+ clipboard operations. Note that even a read only text object can support
+ the copy capability so this interface is not limited to editable objects.
+
+ The substrings used with this interface are specified as follows:
+ If startOffset is less than endOffset, the substring starts with the
+ character at startOffset and ends with the character just before endOffset.
+ If endOffset is lower than startOffset, the result is the same as a call
+ with the two arguments exchanged. The whole text can be defined by passing
+ the indices zero and IAccessibleText::nCharacters. If both indices have the
+ same value, an empty string is defined.
+
+ Refer to the @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about a special offset constant that can be used in %IAccessibleEditableText methods.
+*/
+[object, uuid(A59AA09A-7011-4b65-939D-32B1FB5547E3)]
+interface IAccessibleEditableText : IUnknown
+{
+
+ /** @brief Copies the text range into the clipboard.
+
+ The selection is set to the specified offsets and then selection is copied into
+ the system clipboard.
+
+ @param [in] startOffset
+ Start index of the text to moved into the clipboard.
+ The valid range is 0..length.
+ @param [in] endOffset
+ End index of the text to moved into the clipboard.
+ The valid range is 0..length.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ @note Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleEditableText
+ methods.
+ @deprecated This function is available via the application's GUI.
+ */
+ HRESULT copyText
+ (
+ [in] long startOffset,
+ [in] long endOffset
+ );
+
+ /** @brief Deletes a range of text.
+
+ The text between and including the two given indices is deleted
+ from the text represented by this object.
+
+ @param [in] startOffset
+ Start index of the text to be deleted.
+ The valid range is 0..length.
+ @param [in] endOffset
+ End index of the text to be deleted.
+ The valid range is 0..length.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ @note Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleEditableText
+ methods.
+ */
+ HRESULT deleteText
+ (
+ [in] long startOffset,
+ [in] long endOffset
+ );
+
+ /** @brief Inserts text at the specified position.
+
+ The specified string is inserted at the given index into the text
+ represented by this object.
+
+ @param [in] offset
+ Index at which to insert the text.
+ The valid range is 0..length.
+ Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleEditableText
+ methods.
+ @param [in] text
+ Text that is inserted.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT insertText
+ (
+ [in] long offset,
+ [in] BSTR *text
+ );
+
+ /** @brief Deletes a range of text and copies it to the clipboard.
+
+ The selection is set to the specified offsets, the selection is then copied into
+ the system clipboard, and then the selection is deleted.
+
+ @param [in] startOffset
+ Start index of the text to be deleted.
+ The valid range is 0..length.
+ @param [in] endOffset
+ End index of the text to be deleted.
+ The valid range is 0..length.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ @note Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleEditableText
+ methods.
+ @deprecated This function is available via the application's GUI.
+ */
+ HRESULT cutText
+ (
+ [in] long startOffset,
+ [in] long endOffset
+ );
+
+ /** @brief Pastes content from the clipboard.
+
+ Any existing selection is removed, the clipboard content is then pasted into
+ this object's text at the given offset. This method is similar to the insertText
+ method. If the index is not valid the system clipboard content is not inserted. The
+ behavior is the same as when Ctrl+V is used, i.e. the pasted contents are not
+ necessarily plain text.
+
+ @param [in] offset
+ Index at which to insert the content from the system clipboard into
+ the text represented by this object.
+ The valid range is 0..length.
+ Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleEditableText
+ methods.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ @deprecated This function is available via the application's GUI.
+ */
+ HRESULT pasteText
+ (
+ [in] long offset
+ );
+
+ /** @brief Replaces text.
+
+ The text between the two given indices is replaced by the specified
+ replacement string. This method is equivalent to calling first
+ IAccessibleEditableText::deleteText with the two indices and then
+ calling IAccessibleEditableText::insertText with the replacement text
+ at the start index.
+
+ @param [in] startOffset
+ Start index of the text to be replaced.
+ The valid range is 0..length.
+ @param [in] endOffset
+ End index of the text to be replaced.
+ The valid range is 0..length.
+ @param [in] text
+ The Text that replaces the text between the given indices.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ @note Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleEditableText
+ methods.
+ */
+ HRESULT replaceText
+ (
+ [in] long startOffset,
+ [in] long endOffset,
+ [in] BSTR *text
+ );
+
+ /** @brief Replaces the attributes of a text range by the given set of attributes.
+
+ Sets the attributes for the text between the two given indices. The old
+ attributes are replaced by the new list of attributes.
+
+ @param [in] startOffset
+ Start index of the text whose attributes are modified.
+ The valid range is 0..length.
+ @param [in] endOffset
+ End index of the text whose attributes are modified.
+ The valid range is 0..length.
+ @param [in] attributes
+ Set of attributes that replaces the old list of attributes of
+ the specified text portion.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ @note Refer to @ref _specialOffsets
+ "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
+ for information about special offsets that can be used in %IAccessibleEditableText
+ methods.
+ */
+ HRESULT setAttributes
+ (
+ [in] long startOffset,
+ [in] long endOffset,
+ [in] BSTR *attributes
+ );
+}
+
+/*************************************************************************
+ *
+ * File Name (AccessibleHyperlink.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2010 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+/** @brief This interface represents hyperlinks.
+
+ This interface represents a hyperlink associated with a single substring
+ of text or single non-text object. Non-text objects can have either a
+ single link or a collection of links such as when the non-text object is
+ an image map.
+
+ Linked objects and anchors are implementation dependent. This interface is derived
+ from IAccessibleAction. IAccessibleAction::nActions is one greater than the
+ maximum value for the indices used with the methods of this interface.
+
+ Furthermore, the object that implements this interface has to be connected
+ implicitly or explicitly with an object that implements IAccessibleText.
+ IAccessibleHyperlink::startIndex and IAccessibleHyperlink::endIndex are
+ indices with respect to the text exposed by IAccessibleText.
+
+ This interface provides access to a single object which can have multiple actions.
+ An example is an image map which is an image with multiple links each of which is
+ associated with a separate non-overlapping area of the image. This interface could
+ also be applied to other kinds of objects with multiple actions such as "smart tags"
+ which are objects, typically strings, which have multiple actions such as
+ "Activate URI", "Bookmark URI", etc.
+
+ An interesting use case is an image map where each area is associated with multiple
+ actions, e.g. an image map of smart tags. In this case you would have to implement
+ two levels of accessible hyperlinks. The first level hyperlinks would only implement
+ anchor and anchorTarget. The anchors would all reference the image object. The
+ anchorTargets would reference the second level accessible hyperlink objects. None
+ of the IAccessibleAction methods would be implemented on the first level hyperlink
+ objects. The second level hyperlink objects would implement the IAccessibleAction
+ methods. Their anchors would also reference the image object and their anchorTargets
+ would reference URLs or the objects that would be activated.
+
+ This use case demonstrates that in some cases there is no need for IAccessibleHyperlink
+ to derive from IAccessibleAction. As a result it may be removed in a later version of
+ the IDL and it is suggested that implementations should not rely on the inheritance.
+
+*/
+[object, uuid(01C20F2B-3DD2-400f-949F-AD00BDAB1D41)]
+interface IAccessibleHyperlink : IAccessibleAction
+{
+
+ /** @brief Returns an object that represents the link anchor, as appropriate
+ for the link at the specified index.
+ @param [in] index
+ A 0 based index identifies the anchor when, as in the case of an image map,
+ there is more than one link represented by this object. The valid maximal
+ index is indicated by IAccessibleAction::nActions.
+ @param [out] anchor
+ This is an implementation dependent value. For example, for a text link this
+ method could return the substring of the containing string where the substring
+ is overridden with link behavior, and for an image link this method could return
+ an IUnknown VARIANT for IAccessibleImage. See the section about
+ @ref _variants "VARIANTs" for additional information.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT anchor
+ (
+ [in] long index,
+ [out, retval] VARIANT *anchor
+ );
+
+ /** @brief Returns an object representing the target of the link, as appropriate
+ for the link at the specified index.
+ @param [in] index
+ A 0 based index identifies the anchor when, as in the case of an image map,
+ there is more than one link represented by this object. The valid maximal
+ index is indicated by IAccessibleAction::nActions.
+ @param [out] anchorTarget
+ This is an implementation dependent value. For example this method could
+ return a BSTR VARIANT of the URI. Alternatively this method could return an
+ IUnknown VARIANT of a COM interface representing a target object to be
+ activated when the link is activated. See the section about
+ @ref _variants "VARIANTs" for additional information.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT anchorTarget
+ (
+ [in] long index,
+ [out, retval] VARIANT *anchorTarget
+ );
+
+ /** @brief Returns the 0 based character offset at which the textual representation of the hyperlink starts.
+
+ The returned value is related to the IAccessibleText interface of the object that
+ owns this hyperlink.
+ @param [out] index
+ @retval S_OK
+ */
+ [propget] HRESULT startIndex
+ (
+ [out, retval] long *index
+ );
+
+ /** @brief Returns the 0 based character offset at which the textual representation of the hyperlink ends.
+
+ The returned value is related to the IAccessibleText interface of the object that
+ owns this hyperlink. The character at the index is not part of the hypertext.
+ @param [out] index
+ @retval S_OK
+ */
+ [propget] HRESULT endIndex
+ (
+ [out, retval] long *index
+ );
+
+ /** @brief Returns whether the target object referenced by this link is still valid.
+
+ This is a volatile state that may change without sending an appropriate event.
+ Returns TRUE if the referenced target is still valid and FALSE otherwise.
+
+ This has also been used to indicate whether or not the URI of the anchorTarget
+ is malformed.
+
+ @param [out] valid
+ If false, one or more of the object's links are invalid.
+ If true, all of the object's links are valid.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is FALSE
+ @note This method is not being used, is deprecated, and should not be implemented or
+ used. It is likely that this method will be removed in a later version of the IDL.
+ */
+ [propget] HRESULT valid
+ (
+ [out, retval] boolean *valid
+ );
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleHypertext.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2010 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+
+/** @brief This interface exposes information about hypertext in a document.
+
+ The %IAccessibleHypertext interface is the main interface to expose
+ hyperlinks in a document, typically a text document, that are used
+ to reference other documents. A typical implementation is to implement
+ this interface on the smallest text object such as a paragraph of text.
+*/
+[object, uuid(6B4F8BBF-F1F2-418a-B35E-A195BC4103B9)]
+interface IAccessibleHypertext : IAccessibleText
+{
+
+ /** @brief Returns the number of links and link groups contained within this hypertext
+ paragraph.
+ @param [out] hyperlinkCount
+ The number of links and link groups within this hypertext paragraph.
+ Returns 0 if there is no link.
+ @retval S_OK
+ */
+ [propget] HRESULT nHyperlinks
+ (
+ [out, retval] long *hyperlinkCount
+ );
+
+ /** @brief Returns the specified link.
+
+ The returned IAccessibleHyperlink object encapsulates the hyperlink and
+ provides several kinds of information describing it.
+ @param [in] index
+ This 0 based index specifies the hyperlink to return.
+ @param [out] hyperlink
+ If the given index is valid, i.e. lies in the interval from 0 to the number
+ of links minus one, a reference to the specified hyperlink object is returned.
+ If the index is invalid then a NULL pointer is returned.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT hyperlink
+ (
+ [in] long index,
+ [out, retval] IAccessibleHyperlink **hyperlink
+ );
+
+ /** @brief Returns the index of the hyperlink that is associated with this character index.
+
+ This is the case when a link spans the given character index.
+ @param [in] charIndex
+ A 0 based index of the character for which to return the link index. If
+ IAccessibleText is used to represent the text containing the link, then the
+ character index is only valid if it is greater than or equal to zero and
+ lower than the number of characters in the text.
+ @param [out] hyperlinkIndex
+ Returns the 0 based index of the hyperlink that is associated with this
+ character index, or -1 if charIndex is not on a link.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is -1
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT hyperlinkIndex
+ (
+ [in] long charIndex,
+ [out, retval] long *hyperlinkIndex
+ );
+
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleHypertext2.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2013 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+
+/** @brief This interface exposes information about hypertext in a document.
+
+ The %IAccessibleHypertext2 interface extends the functinality of the
+ %IAccessibleHypertext inteface.
+*/
+[object, uuid(CF64D89F-8287-4B44-8501-A827453A6077)]
+interface IAccessibleHypertext2 : IAccessibleHypertext
+{
+
+ /** @brief Returns the links for this object.
+
+ The returned IAccessibleHyperlink objects encapsulate the hyperlink and
+ provides several kinds of information describing it.
+
+ @param [out] hyperlinks
+ This array is allocated by the server. The client must free it with CoTaskMemFree.
+ @param [out] nHyperlinks
+ The number of links returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there are no links, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT hyperlinks
+ (
+ [out, size_is(,*nHyperlinks)] IAccessibleHyperlink ***hyperlinks,
+ [out, retval] long *nHyperlinks
+ );
+
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleTable.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2013 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+
+/** @brief This interface gives access to a two-dimensional table.
+
+ Typically all accessible objects that represent cells or cell-clusters of a table
+ will be at the same time children of the table. In this case IAccessible2::indexInParent
+ will return the child index which then can be used when calling IAccessibleTable::rowIndex
+ and IAccessibleTable::columnIndex.
+
+ However, in some cases that kind of implementation will not be possible. When
+ the table cells are not direct children of a table, the object representing
+ the cell can define a "table-cell-index" object attribute identifying the 0
+ based table cell index. This object attribute is obtained by parsing the
+ attribute string returned by IAccessible2::attributes. The "table-cell-index"
+ attribute can be used just like a child index of the typical case. ATs should
+ first test for the presence of the "table-cell-index" attribute and if it is not
+ present then IAccessible2::indexInParent can be used as in the typical case
+ where cells are direct children of the table.
+
+ The range of valid coordinates for this interface are implementation dependent.
+ However, that range includes at least the intervals from the from the first row
+ or column with the index 0 up to the last (but not including) used row or column
+ as returned by IAccessibleTable::nRows and IAccessibleTable::nColumns.
+
+ Note that newer implementations are now using IAccessibleTable2 and IAccessibleTableCell
+ rather than this interface.
+*/
+[object, uuid(35AD8070-C20C-4fb4-B094-F4F7275DD469)]
+interface IAccessibleTable : IUnknown
+{
+
+ /** @brief Returns the accessible object at the specified row and column in
+ the table. This object could be an IAccessible or an IAccessible2.
+ @param [in] row
+ The 0 based row index for which to retrieve the cell.
+ @param [in] column
+ The 0 based column index for which to retrieve the cell.
+ @param [out] accessible
+ If both row and column index are valid then the corresponding accessible
+ object is returned that represents the requested cell regardless of whether
+ the cell is currently visible (on the screen).
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed, [out] value is NULL
+ */
+ [propget] HRESULT accessibleAt
+ (
+ [in] long row,
+ [in] long column,
+ [out, retval] IUnknown **accessible
+ );
+
+ /** @brief Returns the caption for the table. The returned object could be
+ an IAccessible or an IAccessible2.
+ @param [out] accessible
+ If the table has a caption then a reference to it is returned, else a NULL
+ pointer is returned.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT caption
+ (
+ [out, retval] IUnknown **accessible
+ );
+
+ /** @brief Translates the given row and column indexes into the corresponding cell index.
+ @param [in] rowIndex
+ 0 based row index for the cell.
+ @param [in] columnIndex
+ 0 based column index for the cell.
+ @param [out] cellIndex
+ Returns the 0 based index of the cell at the specified row and column indexes.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed, [out] value is 0
+ @note The returned value is not necessarily a child index of the immediate parent.
+ In cases where the table cells are not direct children of the table the index
+ is actually the cell index, i.e. conceptually it's an index into a one dimensional
+ array of cells laid out in row order.
+ */
+ [propget] HRESULT childIndex
+ (
+ [in] long rowIndex,
+ [in] long columnIndex,
+ [out, retval] long *cellIndex
+ );
+
+ /** @brief Returns the description text of the specified column in the table.
+ @param [in] column
+ The 0 based index of the column for which to retrieve the description.
+ @param [out] description
+ Returns the description text of the specified column in the table if such a
+ description exists. Otherwise a NULL pointer is returned.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ @retval E_INVALIDARG if bad [in] passed, [out] value is NULL
+ */
+ [propget] HRESULT columnDescription
+ (
+ [in] long column,
+ [out, retval] BSTR *description
+ );
+
+ /** @brief Returns the number of columns occupied by the accessible object
+ at the specified row and column in the table.
+
+ The result is greater than 1 if the specified cell spans multiple columns.
+ @param [in] row
+ 0 based row index of the accessible for which to return the column extent.
+ @param [in] column
+ 0 based column index of the accessible for which to return the column extent.
+ @param [out] nColumnsSpanned
+ Returns the 1 based column extent of the specified cell.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed, [out] value is 0
+ */
+ [propget] HRESULT columnExtentAt
+ (
+ [in] long row,
+ [in] long column,
+ [out, retval] long *nColumnsSpanned
+ );
+
+ /** @brief Returns the column headers as an %IAccessibleTable object.
+
+ Content and size of the returned table are implementation dependent.
+ @param [out] accessibleTable
+ The column header
+ @param [out] startingRowIndex
+ The 0 based row index where the header starts, usually 0.
+ @retval S_OK
+ @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT columnHeader
+ (
+ [out] IAccessibleTable **accessibleTable,
+ [out, retval] long *startingRowIndex
+ );
+
+ /** @brief Translates the given cell index into the corresponding column index.
+ @param [in] cellIndex
+ 0 based index of the cell in the parent or closest ancestor table. Typically this
+ is the value returned from IAccessible2::indexInParent, but in the case where the
+ table cells are not direct children of the table this is the cell index specified
+ by the "table-cell-index" object attribute obtained from parsing the attributes
+ string returned by calling IAccessible2::attributes on the cell object.
+ @param [out] columnIndex
+ Returns the 0 based column index of the cell of the specified child or the index of
+ the first column if the child spans multiple columns.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed, [out] value is 0
+ */
+ [propget] HRESULT columnIndex
+ (
+ [in] long cellIndex,
+ [out, retval] long *columnIndex
+ );
+
+ /** @brief Returns the total number of columns in table
+ @param [out] columnCount
+ Number of columns in table (including columns outside the current viewport)
+ @retval S_OK
+ */
+ [propget] HRESULT nColumns
+ (
+ [out, retval] long *columnCount
+ );
+
+ /** @brief Returns the total number of rows in table
+ @param [out] rowCount
+ Number of rows in table (including rows outside the current viewport)
+ @retval S_OK
+ */
+ [propget] HRESULT nRows
+ (
+ [out, retval] long *rowCount
+ );
+
+ /** @brief Returns the total number of selected cells
+ @param [out] cellCount
+ Number of cells currently selected
+ @retval S_OK
+ */
+ [propget] HRESULT nSelectedChildren
+ (
+ [out, retval] long *cellCount
+ );
+
+ /** @brief Returns the total number of selected columns
+ @param [out] columnCount
+ Number of columns currently selected
+ @retval S_OK
+ */
+ [propget] HRESULT nSelectedColumns
+ (
+ [out, retval] long *columnCount
+ );
+
+ /** @brief Returns the total number of selected rows
+ @param [out] rowCount
+ Number of rows currently selected
+ @retval S_OK
+ */
+ [propget] HRESULT nSelectedRows
+ (
+ [out, retval] long *rowCount
+ );
+
+ /** @brief Returns the description text of the specified row in the table.
+ @param [in] row
+ The 0 based index of the row for which to retrieve the description.
+ @param [out] description
+ Returns the description text of the specified row in the table if such a
+ description exists. Otherwise a NULL pointer is returned.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ @retval E_INVALIDARG if bad [in] passed, [out] value is NULL
+ */
+ [propget] HRESULT rowDescription
+ (
+ [in] long row,
+ [out, retval] BSTR *description
+ );
+
+ /** @brief Returns the number of rows occupied by the accessible object
+ at the specified row and column in the table.
+
+ The result is greater than 1 if the specified cell spans multiple rows.
+ @param [in] row
+ 0 based row index of the accessible for which to return the row extent.
+ @param [in] column
+ 0 based column index of the accessible for which to return the row extent.
+ @param [out] nRowsSpanned
+ Returns the row extent of the specified cell.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed, [out] value is 0
+ */
+ [propget] HRESULT rowExtentAt
+ (
+ [in] long row,
+ [in] long column,
+ [out, retval] long *nRowsSpanned
+ );
+
+ /** @brief Returns the row headers as an %IAccessibleTable object.
+
+ Content and size of the returned table are implementation dependent.
+ @param [out] accessibleTable
+ The row header.
+ @param [out] startingColumnIndex
+ The 0 based column index where the header starts, usually 0.
+ @retval S_OK
+ @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT rowHeader
+ (
+ [out] IAccessibleTable **accessibleTable,
+ [out, retval] long *startingColumnIndex
+ );
+
+ /** @brief Translates the given cell index into a row index.
+ @param [in] cellIndex
+ 0 based index of the cell in the parent or closest ancestor table. Typically this
+ is the value returned from IAccessible2::indexInParent, but in the case where the
+ table cells are not direct children of the table this is the cell index specified
+ by the "table-cell-index" object attribute obtained from parsing the attributes
+ string returned by calling IAccessible2::attributes on the cell object.
+ @param [out] rowIndex
+ 0 based row index
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed, [out] value is 0
+ */
+ [propget] HRESULT rowIndex
+ (
+ [in] long cellIndex,
+ [out, retval] long *rowIndex
+ );
+
+ /** @brief Returns a list of cell indexes currently selected (0 based).
+ @param [in] maxChildren
+ This parameter is ignored. Refer to @ref _arrayConsideration
+ "Special Consideration when using Arrays" for more details.
+ @param [out] children
+ An array of cell indexes of selected cells (each index is 0 based),
+ allocated by the server. The client must free it with CoTaskMemFree.
+ @param [out] nChildren
+ The number of cell indexes returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT selectedChildren
+ (
+ [in] long maxChildren,
+ [out, size_is(,maxChildren), length_is(,*nChildren)] long **children,
+ [out, retval] long *nChildren
+ );
+
+ /** @brief Returns a list of column indexes currently selected (0 based).
+ @param [in] maxColumns
+ This parameter is ignored. Refer to @ref _arrayConsideration
+ "Special Consideration when using Arrays" for more details.
+ @param [out] columns
+ An array of column indexes of selected columns (each index is 0 based), allocated
+ by the server. The client must free it with CoTaskMemFree.
+ @param [out] nColumns
+ The number of column indexes returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT selectedColumns
+ (
+ [in] long maxColumns,
+ [out, size_is(,maxColumns), length_is(,*nColumns)] long **columns,
+ [out, retval] long *nColumns
+ );
+
+ /** @brief Returns a list of row indexes currently selected (0 based).
+ @param [in] maxRows
+ This parameter is ignored. Refer to @ref _arrayConsideration
+ "Special Consideration when using Arrays" for more details.
+ @param [out] rows
+ An array of row indexes of selected rows (each index is 0 based), allocated
+ by the server. The client must free it with CoTaskMemFree.
+ @param [out] nRows
+ The number of row indexes returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT selectedRows
+ (
+ [in] long maxRows,
+ [out, size_is(,maxRows), length_is(,*nRows)] long **rows,
+ [out, retval] long *nRows
+ );
+
+ /** @brief Returns the summary description of the table. The returned object could be
+ an IAccessible or an IAccessible2.
+ @param [out] accessible
+ Returns a reference to an implementation dependent accessible object
+ representing the table's summary or a NULL pointer if the table
+ does not support a summary.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT summary
+ (
+ [out, retval] IUnknown **accessible
+ );
+
+ /** @brief Returns a boolean value indicating whether the specified column is
+ completely selected.
+ @param [in] column
+ 0 based index of the column for which to determine whether it is selected.
+ @param [out] isSelected
+ Returns TRUE if the specified column is selected completely and FALSE otherwise.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE
+ */
+ [propget] HRESULT isColumnSelected
+ (
+ [in] long column,
+ [out, retval] boolean *isSelected
+ );
+
+ /** @brief Returns a boolean value indicating whether the specified row is completely
+ selected.
+ @param [in] row
+ 0 based index of the row for which to determine whether it is selected.
+ @param [out] isSelected
+ Returns TRUE if the specified row is selected completely and FALSE otherwise.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE
+ */
+ [propget] HRESULT isRowSelected
+ (
+ [in] long row,
+ [out, retval] boolean *isSelected
+ );
+
+ /** @brief Returns a boolean value indicating whether the specified cell is selected.
+ @param [in] row
+ 0 based index of the row for the cell to determine whether it is selected.
+ @param [in] column
+ 0 based index of the column for the cell to determine whether it is selected.
+ @param [out] isSelected
+ Returns TRUE if the specified cell is selected and FALSE otherwise.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE
+ */
+ [propget] HRESULT isSelected
+ (
+ [in] long row,
+ [in] long column,
+ [out, retval] boolean *isSelected
+ );
+
+ /** @brief Selects a row and unselects all previously selected rows.
+ @param [in] row
+ 0 based index of the row to be selected.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT selectRow
+ (
+ [in] long row
+ );
+
+ /** @brief Selects a column and unselects all previously selected columns.
+ @param [in] column
+ 0 based index of the column to be selected.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT selectColumn
+ (
+ [in] long column
+ );
+
+ /** @brief Unselects one row, leaving other selected rows selected (if any).
+ @param [in] row
+ 0 based index of the row to be unselected.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT unselectRow
+ (
+ [in] long row
+ );
+
+ /** @brief Unselects one column, leaving other selected columns selected (if any).
+ @param [in] column
+ 0 based index of the column to be unselected.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT unselectColumn
+ (
+ [in] long column
+ );
+
+ /** @brief Given a cell index, gets the row and column indexes and extents of a cell
+ and whether or not it is selected.
+
+ This is a convenience function. It is not mandatory to implement it.
+ @param [in] index
+ 0 based index of this cell in the table.
+ @param [out] row
+ 0 based row index.
+ @param [out] column
+ 0 based column index.
+ @param [out] rowExtents
+ Number of cells spanned by this cell in this row.
+ @param [out] columnExtents
+ Number of cells spanned by this cell in this column.
+ @param [out] isSelected
+ Indicates if the specified cell is selected.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed, [out] values are 0s and FALSE respectively
+ */
+ [propget] HRESULT rowColumnExtentsAtIndex
+ (
+ [in] long index,
+ [out] long *row,
+ [out] long *column,
+ [out] long *rowExtents,
+ [out] long *columnExtents,
+ [out, retval] boolean *isSelected
+ );
+
+ /** @brief Returns the type and extents describing how a table changed.
+
+ Provided for use by the IA2_EVENT_TABLE_MODEL_CHANGED event handler.
+
+ This data is only guaranteed to be valid while the thread notifying the event
+ continues. Once the handler has returned, the validity of the data depends on
+ how the server manages the life cycle of its objects. Also, note that the server
+ may have different life cycle management strategies for controls depending on
+ whether or not a control manages its children. Lists, trees, and tables can have
+ a large number of children and thus it's possible that the child objects for those
+ controls would only be created as needed. Servers should document their life cycle
+ strategy as this will be of interest to assistive technology or script engines
+ accessing data out of process or from other threads. Servers only need to save the
+ most recent row and column values associated with the change and a scope of the
+ entire application is adequate.
+
+ @param [out] modelChange
+ A struct of (type(insert, delete, update), firstRow, lastRow, firstColumn, lastColumn).
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT modelChange
+ (
+ [out, retval] IA2TableModelChange *modelChange
+ );
+
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleTable2.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2012 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+
+/** @brief This interface gives access to a two-dimensional table.
+
+ Please also refer to the IAccessibleTableCell interface.
+
+ If you want to support older applications you should also support the
+ IAccessibleTable inteface.
+*/
+[object, uuid(6167f295-06f0-4cdd-a1fa-02e25153d869)]
+interface IAccessibleTable2 : IUnknown
+{
+
+ /** @brief Returns the accessible object at the specified row and column in
+ the table. This object could be an IAccessible or an IAccessible2.
+ @param [in] row
+ The 0 based row index for which to retrieve the cell.
+ @param [in] column
+ The 0 based column index for which to retrieve the cell.
+ @param [out] cell
+ If both row and column index are valid then the corresponding accessible
+ object is returned that represents the requested cell regardless of whether
+ the cell is currently visible (on the screen).
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT cellAt
+ (
+ [in] long row,
+ [in] long column,
+ [out, retval] IUnknown **cell
+ );
+
+ /** @brief Returns the caption for the table. The returned object could be
+ an IAccessible or an IAccessible2.
+ @param [out] accessible
+ If the table has a caption then a reference to it is returned, else a NULL
+ pointer is returned.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ @deprecated use a describedBy relation
+ */
+ [propget] HRESULT caption
+ (
+ [out, retval] IUnknown **accessible
+ );
+
+ /** @brief Returns the description text of the specified column in the table.
+ @param [in] column
+ The 0 based index of the column for which to retrieve the description.
+ @param [out] description
+ Returns the description text of the specified column in the table if such a
+ description exists. Otherwise a NULL pointer is returned.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT columnDescription
+ (
+ [in] long column,
+ [out, retval] BSTR *description
+ );
+
+
+ /** @brief Returns the total number of columns in table
+ @param [out] columnCount
+ Number of columns in table (including columns outside the current viewport)
+ @retval S_OK
+ */
+ [propget] HRESULT nColumns
+ (
+ [out, retval] long *columnCount
+ );
+
+ /** @brief Returns the total number of rows in table
+ @param [out] rowCount
+ Number of rows in table (including rows outside the current viewport)
+ @retval S_OK
+ */
+ [propget] HRESULT nRows
+ (
+ [out, retval] long *rowCount
+ );
+
+ /** @brief Returns the total number of selected cells
+ @param [out] cellCount
+ Number of cells currently selected
+ @retval S_OK
+ */
+ [propget] HRESULT nSelectedCells
+ (
+ [out, retval] long *cellCount
+ );
+
+ /** @brief Returns the total number of selected columns
+ @param [out] columnCount
+ Number of columns currently selected
+ @retval S_OK
+ */
+ [propget] HRESULT nSelectedColumns
+ (
+ [out, retval] long *columnCount
+ );
+
+ /** @brief Returns the total number of selected rows
+ @param [out] rowCount
+ Number of rows currently selected
+ @retval S_OK
+ */
+ [propget] HRESULT nSelectedRows
+ (
+ [out, retval] long *rowCount
+ );
+
+ /** @brief Returns the description text of the specified row in the table.
+ @param [in] row
+ The 0 based index of the row for which to retrieve the description.
+ @param [out] description
+ Returns the description text of the specified row in the table if such a
+ description exists. Otherwise a NULL pointer is returned.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT rowDescription
+ (
+ [in] long row,
+ [out, retval] BSTR *description
+ );
+
+ /** @brief Returns a list of accessibles currently selected.
+ @param [out] cells
+ Pointer to an array of references to selected accessibles. The array is
+ allocated by the server with CoTaskMemAlloc and freed by the client with
+ CoTaskMemFree.
+ @param [out] nSelectedCells
+ The number of accessibles returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT selectedCells
+ (
+ [out, size_is(,*nSelectedCells)] IUnknown ***cells,
+ [out, retval] long *nSelectedCells
+ );
+
+ /** @brief Returns a list of column indexes currently selected (0 based).
+ @param [out] selectedColumns
+ A pointer to an array of column indexes of selected columns (each index is
+ 0 based). The array is allocated by the server with CoTaskMemAlloc and
+ freed by the client with CoTaskMemFree.
+ @param [out] nColumns
+ The number of column indexes returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT selectedColumns
+ (
+ [out, size_is(,*nColumns)] long **selectedColumns,
+ [out, retval] long *nColumns
+ );
+
+ /** @brief Returns a list of row indexes currently selected (0 based).
+ @param [out] selectedRows
+ An array of row indexes of selected rows (each index is 0 based). The array
+ is allocated by the server with CoTaskMemAlloc and freed by the client with
+ CoTaskMemFree.
+ @param [out] nRows
+ The number of row indexes returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there are none, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT selectedRows
+ (
+ [out, size_is(,*nRows)] long **selectedRows,
+ [out, retval] long *nRows
+ );
+
+ /** @brief Returns the summary description of the table. The returned object could be
+ an IAccessible or an IAccessible2.
+ @param [out] accessible
+ Returns a reference to an implementation dependent accessible object
+ representing the table's summary or a NULL pointer if the table
+ does not support a summary.
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ @deprecated Use the labeledBy relation
+ */
+ [propget] HRESULT summary
+ (
+ [out, retval] IUnknown **accessible
+ );
+
+ /** @brief Returns a boolean value indicating whether the specified column is
+ completely selected.
+ @param [in] column
+ 0 based index of the column for which to determine whether it is selected.
+ @param [out] isSelected
+ Returns TRUE if the specified column is selected completely and FALSE otherwise.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT isColumnSelected
+ (
+ [in] long column,
+ [out, retval] boolean *isSelected
+ );
+
+ /** @brief Returns a boolean value indicating whether the specified row is completely
+ selected.
+ @param [in] row
+ 0 based index of the row for which to determine whether it is selected.
+ @param [out] isSelected
+ Returns TRUE if the specified row is selected completely and FALSE otherwise.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ [propget] HRESULT isRowSelected
+ (
+ [in] long row,
+ [out, retval] boolean *isSelected
+ );
+
+ /** @brief Selects a row and unselects all previously selected rows.
+
+ The behavior should mimic that of the application, but for those applications
+ which do not have a means in the GUI to select a full row of cells the behavior
+ should be as follows: First any selected rows in the table are unselected. Then
+ the entire row of cells for the specified row is selected. If any of the
+ cells in the selected row span additional rows, the cells in those rows
+ are also selected.
+ @param [in] row
+ 0 based index of the row to be selected.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT selectRow
+ (
+ [in] long row
+ );
+
+ /** @brief Selects a column and unselects all previously selected columns.
+
+ The behavior should mimic that of the application, but for those applications
+ which do not have a means in the GUI to select a full column of cells the behavior
+ should be as follows: First any selected columns in the table are unselected. Then
+ the entire column of cells for the specified column is selected. If any of the
+ cells in the selected column span additional columns, the cells in those columns
+ are also selected.
+ @param [in] column
+ 0 based index of the column to be selected.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT selectColumn
+ (
+ [in] long column
+ );
+
+ /** @brief Unselects one row, leaving other selected rows selected (if any).
+
+ The behavior should mimic that of the application, but for those applications
+ which do not have a means in the GUI to unselect a full row of cells the
+ behavior should be as follows: The entire row of cells for the specified
+ row is unselected. If any of the cells in the selected row span additional
+ rows, the cells in those rows are also unselected.
+ @param [in] row
+ 0 based index of the row to be unselected.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT unselectRow
+ (
+ [in] long row
+ );
+
+ /** @brief Unselects one column, leaving other selected columns selected (if any).
+
+ The behavior should mimic that of the application, but for those applications
+ which do not have a means in the GUI to unselect a full column of cells the
+ behavior should be as follows: The entire column of cells for the specified
+ column is unselected. If any of the cells in the selected column span additional
+ columns, the cells in those columns are also unselected.
+ @param [in] column
+ 0 based index of the column to be unselected.
+ @retval S_OK
+ @retval E_INVALIDARG if bad [in] passed
+ */
+ HRESULT unselectColumn
+ (
+ [in] long column
+ );
+
+ /** @brief Returns the type and extents describing how a table changed.
+
+ Provided for use by the IA2_EVENT_TABLE_MODEL_CHANGED event handler.
+
+ This data is only guaranteed to be valid while the thread notifying the event
+ continues. Once the handler has returned, the validity of the data depends on
+ how the server manages the life cycle of its objects. Also, note that the server
+ may have different life cycle management strategies for controls depending on
+ whether or not a control manages its children. Lists, trees, and tables can have
+ a large number of children and thus it's possible that the child objects for those
+ controls would only be created as needed. Servers should document their life cycle
+ strategy as this will be of interest to assistive technology or script engines
+ accessing data out of process or from other threads. Servers only need to save the
+ most recent row and column values associated with the change and a scope of the
+ entire application is adequate.
+
+ @param [out] modelChange
+ A struct of (type(insert, delete, update), firstRow, lastRow, firstColumn, lastColumn).
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT modelChange
+ (
+ [out, retval] IA2TableModelChange *modelChange
+ );
+
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleTableCell.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2013 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+/** @brief This interface gives access to the cells of a two-dimensional table.
+
+ Please also refer to the IAccessibleTable2 interface.
+
+*/
+[object, uuid(594116B1-C99F-4847-AD06-0A7A86ECE645)]
+interface IAccessibleTableCell : IUnknown
+{
+
+ /** @brief Returns the number of columns occupied by this cell accessible.
+
+ The result is greater than 1 if the specified cell spans multiple columns.
+ @param [out] nColumnsSpanned
+ Returns the 1 based column extent of the specified cell.
+ @retval S_OK
+ */
+ [propget] HRESULT columnExtent
+ (
+ [out, retval] long *nColumnsSpanned
+ );
+
+ /** @brief Returns the column headers as an array of cell accessibles.
+
+ @param [out] cellAccessibles
+ Pointer to an array of references to cell accessibles. The array is allocated
+ by the server. The client must free it with CoTaskMemFree.
+ @param [out] nColumnHeaderCells
+ The number of accessibles returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT columnHeaderCells
+ (
+ [out, size_is(,*nColumnHeaderCells)] IUnknown ***cellAccessibles,
+ [out, retval] long *nColumnHeaderCells
+ );
+
+ /** @brief Translates this cell accessible into the corresponding column index.
+
+ @param [out] columnIndex
+ Returns the 0 based column index of the cell of the specified cell or the index of
+ the first column if the cell spans multiple columns.
+ @retval S_OK
+ */
+ [propget] HRESULT columnIndex
+ (
+ [out, retval] long *columnIndex
+ );
+
+ /** @brief Returns the number of rows occupied by this cell accessible.
+
+ @param [out] nRowsSpanned
+ Returns the row extent of the specified cell.
+ @retval S_OK
+ */
+ [propget] HRESULT rowExtent
+ (
+ [out, retval] long *nRowsSpanned
+ );
+
+ /** @brief Returns the row headers as an array of cell accessibles.
+
+ @param [out] cellAccessibles
+ Pointer to an array of references to cell accessibles. The array is allocated
+ by the server. The client must free it with CoTaskMemFree.
+ @param [out] nRowHeaderCells
+ The number of accessibles returned; the size of the returned array.
+ @retval S_OK
+ @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively
+ */
+ [propget] HRESULT rowHeaderCells
+ (
+ [out, size_is(,*nRowHeaderCells)] IUnknown ***cellAccessibles,
+ [out, retval] long *nRowHeaderCells
+ );
+
+ /** @brief Translates this cell accessible into the corresponding row index.
+
+ @param [out] rowIndex
+ Returns the 0 based row index of the specified cell or the index of
+ the first row if the cell spans multiple rows.
+ @retval S_OK
+ */
+ [propget] HRESULT rowIndex
+ (
+ [out, retval] long *rowIndex
+ );
+
+ /** @brief Returns a boolean value indicating whether this cell is selected.
+
+ @param [out] isSelected
+ Returns TRUE if the specified cell is selected and FALSE otherwise.
+ @retval S_OK
+ */
+ [propget] HRESULT isSelected
+ (
+ [out, retval] boolean *isSelected
+ );
+
+ /** @brief Gets the row and column indexes and extents of this cell accessible
+ and whether or not it is selected.
+
+ This is a convenience function. It is not mandatory to implement it.
+ @param [out] row
+ 0 based row index.
+ @param [out] column
+ 0 based column index.
+ @param [out] rowExtents
+ Number of cells spanned by this cell in this row.
+ @param [out] columnExtents
+ Number of cells spanned by this cell in this column.
+ @param [out] isSelected
+ Indicates if the specified cell is selected.
+ @retval S_OK
+ */
+ [propget] HRESULT rowColumnExtents
+ (
+ [out] long *row,
+ [out] long *column,
+ [out] long *rowExtents,
+ [out] long *columnExtents,
+ [out, retval] boolean *isSelected
+ );
+
+ /** @brief Returns a reference to the accessbile of the containing table.
+
+ @param [out] table
+ Returns a reference to the IUnknown of the containing table.
+ @retval S_OK
+ */
+ [propget] HRESULT table
+ (
+ [out, retval] IUnknown **table
+ );
+
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleImage.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2010 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+/** @brief This interface represents images and icons.
+
+ This interface is used for a representation of images like icons on buttons.
+ %IAccessibleImage only needs to be implemented in certain situations. Some
+ examples are:
+ <ol>
+ <li>The accessible name and description are not enough to fully
+ describe the image, e.g. when the accessible description is used to define the
+ behavior of an actionable image and the image itself conveys semantically
+ significant information.
+ <li>The user can edit the content that includes an
+ image and therefore the user needs to be able to review the image's position.
+ </ol>
+*/
+[object, uuid(FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE)]
+interface IAccessibleImage : IUnknown
+{
+ /** @brief Returns the localized description of the image.
+ @param [out] description
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT description
+ (
+ [out, retval] BSTR *description
+ );
+
+ /** @brief Returns the coordinates of the image.
+ @param [in] coordinateType
+ Specifies whether the returned coordinates should be relative to the screen or the parent object.
+ @param [out] x
+ @param [out] y
+ @retval S_OK
+ */
+ [propget] HRESULT imagePosition
+ (
+ [in] enum IA2CoordinateType coordinateType,
+ [out] long *x,
+ [out, retval] long *y
+ );
+
+ /** @brief Returns the size of the image in units specified by parent's coordinate system.
+ @param [out] height
+ @param [out] width
+ @retval S_OK
+ */
+
+ [propget] HRESULT imageSize
+ (
+ [out] long *height,
+ [out, retval] long *width
+ );
+}
+/*************************************************************************
+ *
+ * File Name (AccessibleEventID.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2010 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+/** %IAccessible2 specific event constants
+
+ This enum defines the event IDs fired by %IAccessible2 objects. The event IDs
+ are in addition to those used by MSAA.
+*/
+enum IA2EventID {
+
+ /** The change of the number or attributes of actions of an accessible
+ object is signaled by events of this type.
+ */
+ IA2_EVENT_ACTION_CHANGED = 0x101,
+
+ /** <b>Deprecated.</b> The active descendant of a component has changed.
+
+ Note: This event constant is misspelled and thus is deprecated and will be
+ removed in a later version. Please use the correctly spelled version which
+ follows.
+ */
+ IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
+
+ /** The active descendant of a component has changed. The active descendant
+ is used in objects with transient children.
+
+ Note: Due to the fact that MSAA's WinEvents don't allow the active child index
+ to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event the manages
+ descendants scheme can't be used. Instead the active child object has to fire
+ MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be
+ added to provide for event specific data to be passed with the event. At that
+ time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
+ IA2_STATE_MANAGES_DESCENDANTS state would be useful.
+ */
+ IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
+
+ /** The document wide attributes of the document object have changed.
+ */
+ IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED,
+
+ /** The contents of the document have changed.
+ */
+ IA2_EVENT_DOCUMENT_CONTENT_CHANGED,
+
+ /** The loading of the document has completed.
+ */
+ IA2_EVENT_DOCUMENT_LOAD_COMPLETE,
+
+ /** The loading of the document was interrupted.
+ */
+ IA2_EVENT_DOCUMENT_LOAD_STOPPED,
+
+ /** The document contents are being reloaded.
+ */
+ IA2_EVENT_DOCUMENT_RELOAD,
+
+ /** The ending index of this link within the containing string has changed.
+ */
+ IA2_EVENT_HYPERLINK_END_INDEX_CHANGED,
+
+ /** The number of anchors associated with this hyperlink object has changed.
+ */
+ IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED,
+
+ /** The hyperlink selected state changed from selected to unselected or
+ from unselected to selected.
+ */
+ IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED,
+
+ /** One of the links associated with the hypertext object has been activated.
+ */
+ IA2_EVENT_HYPERTEXT_LINK_ACTIVATED,
+
+ /** One of the links associated with the hypertext object has been selected.
+ */
+ IA2_EVENT_HYPERTEXT_LINK_SELECTED,
+
+ /** The starting index of this link within the containing string has changed.
+ */
+ IA2_EVENT_HYPERLINK_START_INDEX_CHANGED,
+
+ /** Focus has changed from one hypertext object to another, or focus moved
+ from a non-hypertext object to a hypertext object, or focus moved from a
+ hypertext object to a non-hypertext object.
+ */
+ IA2_EVENT_HYPERTEXT_CHANGED,
+
+ /** The number of hyperlinks associated with a hypertext object changed
+ */
+ IA2_EVENT_HYPERTEXT_NLINKS_CHANGED,
+
+ /** An object's attributes changed.
+ Also see ::IA2_EVENT_TEXT_ATTRIBUTE_CHANGED.
+ */
+ IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED,
+
+ /** A slide changed in a presentation document or a page boundary was
+ crossed in a word processing document.
+ */
+ IA2_EVENT_PAGE_CHANGED,
+
+ /** The caret moved from one section to the next.
+ */
+ IA2_EVENT_SECTION_CHANGED,
+
+ /** A table caption changed.
+ */
+ IA2_EVENT_TABLE_CAPTION_CHANGED,
+
+ /** A table's column description changed.
+ */
+ IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED,
+
+ /** A table's column header changed.
+ */
+ IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED,
+
+ /** A table's data changed.
+ */
+ IA2_EVENT_TABLE_MODEL_CHANGED,
+
+ /** A table's row description changed.
+ */
+ IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED,
+
+ /** A table's row header changed.
+ */
+ IA2_EVENT_TABLE_ROW_HEADER_CHANGED,
+
+ /** A table's summary changed.
+ */
+ IA2_EVENT_TABLE_SUMMARY_CHANGED,
+
+ /** A text object's attributes changed.
+ Also see ::IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED.
+ */
+ IA2_EVENT_TEXT_ATTRIBUTE_CHANGED,
+
+ /** The caret has moved to a new position.
+ */
+ IA2_EVENT_TEXT_CARET_MOVED,
+
+ /** <b>Deprecated.</b> This event is equivalent to ::IA2_EVENT_TEXT_UPDATED.
+ */
+ IA2_EVENT_TEXT_CHANGED,
+
+ /** The caret moved from one column to the next.
+ */
+ IA2_EVENT_TEXT_COLUMN_CHANGED,
+
+ /** Text was inserted.
+ */
+ IA2_EVENT_TEXT_INSERTED,
+
+ /** Text was removed.
+ */
+ IA2_EVENT_TEXT_REMOVED,
+
+ /** This event indicates general text changes, i.e. changes to text that are
+ exposed through the IAccessibleText interface. For compatibility with ATK/AT-SPI
+ which does not have an equivalent event, servers can alternatively fire
+ ::IA2_EVENT_TEXT_REMOVED and ::IA2_EVENT_TEXT_INSERTED.
+ */
+ IA2_EVENT_TEXT_UPDATED,
+
+ /** The text selection changed. Later versions of Microsoft development environments
+ have an equivalent event identified, EVENT_OBJECT_TEXTSELECTIONCHANGED. Servers
+ should use that if it is available and use IA2_EVENT_TEXT_SELECTION_CHANGED otherwise.
+ Clients should be prepared to respond to either event.
+
+ */
+ IA2_EVENT_TEXT_SELECTION_CHANGED,
+
+ /** A visible data event indicates the change of the visual appearance
+ of an accessible object. This includes for example most of the
+ attributes available via the IAccessibleComponent interface.
+ */
+ IA2_EVENT_VISIBLE_DATA_CHANGED
+
+};
+/*************************************************************************
+ *
+ * File Name (AccessibleApplication.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2010 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+
+/** @brief This interface gives access to the application's name and version information.
+
+ This interface provides the AT with the information it needs to differentiate
+ this application from other applications, from other versions of this
+ application, or from other versions of this application running on different
+ versions of an accessibility bridge or accessibility toolkit.
+
+ Servers implementing IAccessible2 should provide access to the %IAccessibleApplication
+ interface via QueryService from any object so that ATs can easily determine specific
+ information about the application such as its name or version.
+*/
+[object, uuid(D49DED83-5B25-43F4-9B95-93B44595979E)]
+interface IAccessibleApplication : IUnknown
+{
+
+ /** @brief Returns the application name.
+ @param [out] name
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT appName
+ (
+ [out, retval] BSTR *name
+ );
+
+ /** @brief Returns the application version.
+ @param [out] version
+ The version string must not contain levels when it is know beforehand that
+ this information will never require a change in a client's behavior.
+ For example, use "3.6.0" rather than "3.6.0.v201005131500".
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT appVersion
+ (
+ [out, retval] BSTR *version
+ );
+
+ /** @brief Returns the toolkit/bridge name.
+ @param [out] name
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT toolkitName
+ (
+ [out, retval] BSTR *name
+ );
+
+ /** @brief Returns the toolkit/bridge version.
+ @param [out] version
+ The version string must not contain levels when it is know beforehand that
+ this information will never require a change in a client's behavior.
+ For example, use "3.6.0" rather than "3.6.0.v201005131500".
+ @retval S_OK
+ @retval S_FALSE if there is nothing to return, [out] value is NULL
+ */
+ [propget] HRESULT toolkitVersion
+ (
+ [out, retval] BSTR *version
+ );
+
+}
+
+/*************************************************************************
+ *
+ * File Name (AccessibleDocument.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2013 Linux Foundation
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+
+
+
+
+/** @brief This interface represents documents.
+
+ This interface is used for a representation of documents.
+*/
+[object, uuid(C48C7FCF-4AB5-4056-AFA6-902D6E1D1149)]
+interface IAccessibleDocument : IUnknown
+{
+ /** @brief Returns the most recently used anchor target within a document.
+
+ A document's most recently targeted in-page anchor is returned. A typical use
+ of this method is to fetch the anchor target within an HTML document. In this
+ case anchor targets are those which have been defined with the &lt;a&gt; tag.
+
+ @param [out] accessible
+ @retval S_OK
+ @retval S_FALSE if there are no existing valid anchor targets, [out] value is NULL.
+ */
+ [propget] HRESULT anchorTarget
+ (
+ [out, retval] IUnknown **accessible
+ );
+
+}
+/*************************************************************************
+ *
+ * File Name (IA2TypeLibrary.idl)
+ *
+ * IAccessible2 IDL Specification
+ *
+ * Copyright (c) 2007, 2012 Linux Foundation
+ * Copyright (c) 2006 IBM Corporation
+ * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * 3. Neither the name of the Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This BSD License conforms to the Open Source Initiative "Simplified
+ * BSD License" as published at:
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ * mark may be used in accordance with the Linux Foundation Trademark
+ * Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
+
+// This is not a standalone file. It is to be appended to the end of the
+// merged IDL file.
+
+cpp_quote("")
+cpp_quote("// Type Library Definitions")
+cpp_quote("")
+
+[
+ uuid(CE3F726E-D1D3-44FE-B995-FF1DB3B48B2B),
+ helpstring("IAccessible2 Type Library"),
+ version(1.3),
+ hidden
+]
+
+library IAccessible2Lib
+{
+ importlib ("stdole2.tlb");
+ importlib ("oleacc.dll");
+ interface IAccessible2;
+ interface IAccessible2_2;
+ interface IAccessibleAction;
+ interface IAccessibleApplication;
+ interface IAccessibleComponent;
+ interface IAccessibleDocument;
+ interface IAccessibleEditableText;
+ interface IAccessibleHyperlink;
+ interface IAccessibleHypertext;
+ interface IAccessibleHypertext2;
+ interface IAccessibleImage;
+ interface IAccessibleRelation;
+ interface IAccessibleTable;
+ interface IAccessibleTable2;
+ interface IAccessibleTableCell;
+ interface IAccessibleText;
+ interface IAccessibleText2;
+ interface IAccessibleValue;
+ enum IA2CoordinateType;
+ enum IA2EventID;
+ enum IA2Role;
+ enum IA2ScrollType;
+ enum IA2States;
+ enum IA2TableModelChangeType;
+ enum IA2TextBoundaryType;
+ enum IA2TextSpecialOffsets;
+}
diff --git a/src/corelib/doc/snippets/code/src_corelib_kernel_qmimedata.cpp b/src/corelib/doc/snippets/code/src_corelib_kernel_qmimedata.cpp
index 7f42cd8def..278a00fdfd 100644
--- a/src/corelib/doc/snippets/code/src_corelib_kernel_qmimedata.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_kernel_qmimedata.cpp
@@ -106,3 +106,9 @@ if (event->mimeData()->hasColor()) {
...
}
//! [7]
+
+
+//! [8]
+application/x-qt-windows-mime;value="FileContents";index=0
+application/x-qt-windows-mime;value="FileContents";index=1
+//! [8]
diff --git a/src/corelib/doc/snippets/qstring/main.cpp b/src/corelib/doc/snippets/qstring/main.cpp
index f49c4dd359..17d0adf097 100644
--- a/src/corelib/doc/snippets/qstring/main.cpp
+++ b/src/corelib/doc/snippets/qstring/main.cpp
@@ -394,6 +394,13 @@ void Widget::firstIndexOfFunction()
QString str = "the minimum";
str.indexOf(QRegularExpression("m[aeiou]"), 0); // returns 4
//! [93]
+
+ //! [97]
+ QString str = "the minimum";
+ QRegularExpressionMatch match;
+ str.indexOf(QRegularExpression("m[aeiou]"), 0, &match); // returns 4
+ // match.captured() == mi
+ //! [97]
}
void Widget::insertFunction()
@@ -444,6 +451,13 @@ void Widget::lastIndexOfFunction()
QString str = "the minimum";
str.lastIndexOf(QRegularExpression("m[aeiou]")); // returns 8
//! [94]
+
+ //! [98]
+ QString str = "the minimum";
+ QRegularExpressionMatch match;
+ str.lastIndexOf(QRegularExpression("m[aeiou]"), -1, &match); // returns 8
+ // match.captured() == mu
+ //! [98]
}
void Widget::leftFunction()
diff --git a/src/corelib/global/qcompilerdetection.h b/src/corelib/global/qcompilerdetection.h
index 4c84daae13..ee396409d8 100644
--- a/src/corelib/global/qcompilerdetection.h
+++ b/src/corelib/global/qcompilerdetection.h
@@ -944,12 +944,21 @@
# define Q_COMPILER_DEFAULT_DELETE_MEMBERS
#endif
-#ifdef Q_COMPILER_CONSTEXPR
+#if defined(__cpp_constexpr) && __cpp_constexpr-0 >= 201304
# define Q_DECL_CONSTEXPR constexpr
+# define Q_DECL_RELAXED_CONSTEXPR constexpr
# define Q_CONSTEXPR constexpr
+# define Q_RELAXED_CONSTEXPR constexpr
+#elif defined Q_COMPILER_CONSTEXPR
+# define Q_DECL_CONSTEXPR constexpr
+# define Q_DECL_RELAXED_CONSTEXPR
+# define Q_CONSTEXPR constexpr
+# define Q_RELAXED_CONSTEXPR const
#else
# define Q_DECL_CONSTEXPR
+# define Q_DECL_RELAXED_CONSTEXPR
# define Q_CONSTEXPR const
+# define Q_RELAXED_CONSTEXPR const
#endif
#ifdef Q_COMPILER_EXPLICIT_OVERRIDES
diff --git a/src/corelib/global/qflags.h b/src/corelib/global/qflags.h
index 275ab12800..cfe75c4eea 100644
--- a/src/corelib/global/qflags.h
+++ b/src/corelib/global/qflags.h
@@ -117,13 +117,13 @@ public:
: i(initializer_list_helper(flags.begin(), flags.end())) {}
#endif
- inline QFlags &operator&=(int mask) { i &= mask; return *this; }
- inline QFlags &operator&=(uint mask) { i &= mask; return *this; }
- inline QFlags &operator&=(Enum mask) { i &= Int(mask); return *this; }
- inline QFlags &operator|=(QFlags f) { i |= f.i; return *this; }
- inline QFlags &operator|=(Enum f) { i |= Int(f); return *this; }
- inline QFlags &operator^=(QFlags f) { i ^= f.i; return *this; }
- inline QFlags &operator^=(Enum f) { i ^= Int(f); return *this; }
+ Q_DECL_RELAXED_CONSTEXPR inline QFlags &operator&=(int mask) { i &= mask; return *this; }
+ Q_DECL_RELAXED_CONSTEXPR inline QFlags &operator&=(uint mask) { i &= mask; return *this; }
+ Q_DECL_RELAXED_CONSTEXPR inline QFlags &operator&=(Enum mask) { i &= Int(mask); return *this; }
+ Q_DECL_RELAXED_CONSTEXPR inline QFlags &operator|=(QFlags f) { i |= f.i; return *this; }
+ Q_DECL_RELAXED_CONSTEXPR inline QFlags &operator|=(Enum f) { i |= Int(f); return *this; }
+ Q_DECL_RELAXED_CONSTEXPR inline QFlags &operator^=(QFlags f) { i ^= f.i; return *this; }
+ Q_DECL_RELAXED_CONSTEXPR inline QFlags &operator^=(Enum f) { i ^= Int(f); return *this; }
Q_DECL_CONSTEXPR inline operator Int() const { return i; }
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index ae3e86629e..2d4edb48d1 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -39,6 +39,7 @@
#include "qthreadstorage.h"
#include "qdir.h"
#include "qdatetime.h"
+#include <private/qlocale_tools_p.h>
#ifndef QT_NO_QOBJECT
#include <private/qthread_p.h>
@@ -984,9 +985,9 @@ bool qSharedBuild() Q_DECL_NOTHROW
\li \l ByteOrder specifies whether the platform is big-endian or
little-endian.
\li \l WindowsVersion specifies the version of the Windows operating
- system on which the application is run (Windows only)
+ system on which the application is run.
\li \l MacintoshVersion specifies the version of the Macintosh
- operating system on which the application is run (Mac only).
+ operating system on which the application is run.
\endlist
Some constants are defined only on certain platforms. You can use
@@ -1009,7 +1010,7 @@ bool qSharedBuild() Q_DECL_NOTHROW
/*!
\variable QSysInfo::WindowsVersion
\brief the version of the Windows operating system on which the
- application is run (Windows only)
+ application is run.
*/
/*!
@@ -1017,19 +1018,22 @@ bool qSharedBuild() Q_DECL_NOTHROW
\since 4.4
Returns the version of the Windows operating system on which the
- application is run (Windows only).
+ application is run, or WV_None if the operating system is not
+ Windows.
*/
/*!
\variable QSysInfo::MacintoshVersion
\brief the version of the Macintosh operating system on which
- the application is run (Mac only).
+ the application is run.
*/
/*!
\fn QSysInfo::MacVersion QSysInfo::macVersion()
- Returns the version of Darwin (OS X or iOS) on which the application is run.
+ Returns the version of Darwin (OS X or iOS) on which the
+ application is run, or MV_None if the operating system
+ is not a version of Darwin.
*/
/*!
@@ -1092,6 +1096,8 @@ bool qSharedBuild() Q_DECL_NOTHROW
\value WV_NT_based NT-based version of Windows
\value WV_CE_based CE-based version of Windows
+ \value WV_None Operating system other than Windows.
+
\sa MacVersion
*/
@@ -1139,6 +1145,8 @@ bool qSharedBuild() Q_DECL_NOTHROW
\value MV_IOS_7_1 iOS 7.1
\value MV_IOS_8_0 iOS 8.0
+ \value MV_None Not a Darwin operating system
+
\sa WinVersion
*/
@@ -1845,16 +1853,14 @@ Q_CORE_EXPORT QString qt_mac_from_pascal_string(const Str255 pstr) {
QSysInfo::MacVersion QSysInfo::macVersion()
{
+ const QAppleOperatingSystemVersion version = qt_apple_os_version(); // qtcore_mac_objc.mm
#if defined(Q_OS_OSX)
- SInt32 gestalt_version;
- if (Gestalt(gestaltSystemVersionMinor, &gestalt_version) == noErr) {
- // add 2 because OS X 10.0 is 0x02 in the enum
- return QSysInfo::MacVersion(gestalt_version + 2);
- }
+ return QSysInfo::MacVersion(Q_MV_OSX(version.major, version.minor));
#elif defined(Q_OS_IOS)
- return qt_ios_version(); // qtcore_mac_objc.mm
-#endif
+ return QSysInfo::MacVersion(Q_MV_IOS(version.major, version.minor));
+#else
return QSysInfo::MV_Unknown;
+#endif
}
const QSysInfo::MacVersion QSysInfo::MacintoshVersion = QSysInfo::macVersion();
@@ -2493,25 +2499,9 @@ QString QSysInfo::productType()
*/
QString QSysInfo::productVersion()
{
-#if defined(Q_OS_IOS)
- int major = (int(MacintoshVersion) >> 4) & 0xf;
- int minor = int(MacintoshVersion) & 0xf;
- if (Q_LIKELY(major < 10 && minor < 10)) {
- char buf[4] = { char(major + '0'), '.', char(minor + '0'), '\0' };
- return QString::fromLatin1(buf, 3);
- }
- return QString::number(major) + QLatin1Char('.') + QString::number(minor);
-#elif defined(Q_OS_OSX)
- int minor = int(MacintoshVersion) - 2; // we're not running on Mac OS 9
- Q_ASSERT(minor < 100);
- char buf[] = "10.0\0";
- if (Q_LIKELY(minor < 10)) {
- buf[3] += minor;
- } else {
- buf[3] += minor / 10;
- buf[4] = '0' + minor % 10;
- }
- return QString::fromLatin1(buf);
+#if defined(Q_OS_MAC)
+ const QAppleOperatingSystemVersion version = qt_apple_os_version();
+ return QString::number(version.major) + QLatin1Char('.') + QString::number(version.minor);
#elif defined(Q_OS_WIN)
const char *version = winVer_helper();
if (version)
@@ -3007,6 +2997,53 @@ bool qEnvironmentVariableIsEmpty(const char *varName) Q_DECL_NOEXCEPT
/*!
\relates <QtGlobal>
+ \since 5.5
+
+ Returns the numerical value of the environment variable \a varName.
+ If \a ok is not null, sets \c{*ok} to \c true or \c false depending
+ on the success of the conversion.
+
+ Equivalent to
+ \code
+ qgetenv(varName).toInt()
+ \endcode
+ except that it's much faster, and can't throw exceptions.
+
+ \sa qgetenv(), qEnvironmentVariableIsSet()
+*/
+int qEnvironmentVariableIntValue(const char *varName, bool *ok) Q_DECL_NOEXCEPT
+{
+#if defined(_MSC_VER) && _MSC_VER >= 1400
+ // we provide a buffer that can hold any int value:
+ static const int NumBinaryDigitsPerOctalDigit = 3;
+ static const int MaxDigitsForOctalInt =
+ (std::numeric_limits<uint>::digits + NumBinaryDigitsPerOctalDigit - 1) / NumBinaryDigitsPerOctalDigit;
+ char buffer[MaxDigitsForOctalInt + 2]; // +1 for NUL +1 for optional '-'
+ size_t dummy;
+ if (getenv_s(&dummy, buffer, sizeof buffer, varName) != 0) {
+ if (ok)
+ *ok = false;
+ return 0;
+ }
+#else
+ const char * const buffer = ::getenv(varName);
+ if (!buffer || !*buffer) {
+ if (ok)
+ *ok = false;
+ return 0;
+ }
+#endif
+ const qlonglong value = qstrtoll(buffer, Q_NULLPTR, 0, ok);
+ if (int(value) != value) { // this is the check in QByteArray::toInt(), keep it in sync
+ if (ok)
+ *ok = false;
+ return 0;
+ }
+ return int(value);
+}
+
+/*!
+ \relates <QtGlobal>
\since 5.1
Returns whether the environment variable \a varName is set.
@@ -3910,6 +3947,21 @@ bool QInternal::activateCallbacks(Callback cb, void **parameters)
It expands to "constexpr" if your compiler supports that C++11 keyword, or to nothing
otherwise.
+
+ \sa Q_DECL_RELAXED_CONSTEXPR
+*/
+
+/*!
+ \macro Q_DECL_RELAXED_CONSTEXPR
+ \relates <QtGlobal>
+
+ This macro can be used to declare an inline function that can be computed
+ at compile-time according to the relaxed rules from C++14.
+
+ It expands to "constexpr" if your compiler supports C++14 relaxed constant
+ expressions, or to nothing otherwise.
+
+ \sa Q_DECL_CONSTEXPR
*/
/*!
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index f17ff3dea0..4e8721f7d7 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -37,11 +37,11 @@
#include <stddef.h>
-#define QT_VERSION_STR "5.4.0"
+#define QT_VERSION_STR "5.5.0"
/*
QT_VERSION is (major << 16) + (minor << 8) + patch.
*/
-#define QT_VERSION 0x050400
+#define QT_VERSION 0x050500
/*
can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
*/
@@ -655,7 +655,7 @@ Q_CORE_EXPORT void qt_assert(const char *assertion, const char *file, int line)
#if !defined(Q_ASSERT)
# if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
-# define Q_ASSERT(cond) qt_noop()
+# define Q_ASSERT(cond) do { } while (false && (cond))
# else
# define Q_ASSERT(cond) ((!(cond)) ? qt_assert(#cond,__FILE__,__LINE__) : qt_noop())
# endif
@@ -1027,6 +1027,7 @@ Q_CORE_EXPORT bool qunsetenv(const char *varName);
Q_CORE_EXPORT bool qEnvironmentVariableIsEmpty(const char *varName) Q_DECL_NOEXCEPT;
Q_CORE_EXPORT bool qEnvironmentVariableIsSet(const char *varName) Q_DECL_NOEXCEPT;
+Q_CORE_EXPORT int qEnvironmentVariableIntValue(const char *varName, bool *ok=0) Q_DECL_NOEXCEPT;
inline int qIntCast(double f) { return int(f); }
inline int qIntCast(float f) { return int(f); }
diff --git a/src/corelib/global/qsysinfo.h b/src/corelib/global/qsysinfo.h
index 277caa8db6..35672479e0 100644
--- a/src/corelib/global/qsysinfo.h
+++ b/src/corelib/global/qsysinfo.h
@@ -72,8 +72,9 @@ public:
# endif
};
#endif
-#if defined(Q_OS_WIN) || defined(Q_OS_CYGWIN)
enum WinVersion {
+ WV_None = 0x0000,
+
WV_32s = 0x0001,
WV_95 = 0x0002,
WV_98 = 0x0003,
@@ -107,13 +108,18 @@ public:
WV_CE_6 = 0x0400,
WV_CE_based = 0x0f00
};
+#if defined(Q_OS_WIN) || defined(Q_OS_CYGWIN)
static const WinVersion WindowsVersion;
static WinVersion windowsVersion();
-
+#else
+ static const WinVersion WindowsVersion = WV_None;
+ static WinVersion windowsVersion() { return WV_None; }
#endif
-#ifdef Q_OS_MAC
-# define Q_MV_IOS(major, minor) (QSysInfo::MV_IOS | major << 4 | minor)
+
+#define Q_MV_OSX(major, minor) (major == 10 ? minor + 2 : (major == 9 ? 1 : 0))
+#define Q_MV_IOS(major, minor) (QSysInfo::MV_IOS | major << 4 | minor)
enum MacVersion {
+ MV_None = 0xffff,
MV_Unknown = 0x0000,
/* version */
@@ -154,8 +160,12 @@ public:
MV_IOS_7_1 = Q_MV_IOS(7, 1),
MV_IOS_8_0 = Q_MV_IOS(8, 0)
};
+#if defined(Q_OS_MAC)
static const MacVersion MacintoshVersion;
static MacVersion macVersion();
+#else
+ static const MacVersion MacintoshVersion = MV_None;
+ static MacVersion macVersion() { return MV_None; }
#endif
static QString buildCpuArchitecture();
diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp
index beaafe4762..60f04ce4f1 100644
--- a/src/corelib/io/qdatastream.cpp
+++ b/src/corelib/io/qdatastream.cpp
@@ -525,6 +525,7 @@ void QDataStream::setByteOrder(ByteOrder bo)
\value Qt_5_2 Version 15 (Qt 5.2)
\value Qt_5_3 Same as Qt_5_2
\value Qt_5_4 Version 16 (Qt 5.4)
+ \value Qt_5_5 Same as Qt_5_4
\omitvalue Qt_DefaultCompiledVersion
\sa setVersion(), version()
diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h
index 75ffa11543..8e1d777011 100644
--- a/src/corelib/io/qdatastream.h
+++ b/src/corelib/io/qdatastream.h
@@ -82,10 +82,11 @@ public:
Qt_5_2 = 15,
Qt_5_3 = Qt_5_2,
Qt_5_4 = 16,
-#if QT_VERSION >= 0x050500
+ Qt_5_5 = Qt_5_4,
+#if QT_VERSION >= 0x050600
#error Add the datastream version for this Qt version and update Qt_DefaultCompiledVersion
#endif
- Qt_DefaultCompiledVersion = Qt_5_4
+ Qt_DefaultCompiledVersion = Qt_5_5
};
enum ByteOrder {
diff --git a/src/corelib/io/qfileselector.cpp b/src/corelib/io/qfileselector.cpp
index 5d1d5dfe23..95fa970b2d 100644
--- a/src/corelib/io/qfileselector.cpp
+++ b/src/corelib/io/qfileselector.cpp
@@ -335,7 +335,7 @@ void QFileSelectorPrivate::updateSelectors()
if (envSelectors.count())
sharedData->staticSelectors << envSelectors;
- if (!qgetenv(env_override).isEmpty())
+ if (!qEnvironmentVariableIsEmpty(env_override))
return;
sharedData->staticSelectors << sharedData->preloadedStatics; //Potential for static selectors from other modules
diff --git a/src/corelib/io/qiodevice.cpp b/src/corelib/io/qiodevice.cpp
index 0709a93bad..36f88f2774 100644
--- a/src/corelib/io/qiodevice.cpp
+++ b/src/corelib/io/qiodevice.cpp
@@ -783,27 +783,20 @@ qint64 QIODevice::read(char *data, qint64 maxSize)
CHECK_MAXLEN(read, qint64(-1));
qint64 readSoFar = 0;
- bool moreToRead = true;
- do {
+ bool madeBufferReadsOnly = true;
+ bool deviceAtEof = false;
+ char *readPtr = data;
+ forever {
// Try reading from the buffer.
- qint64 lastReadChunkSize = d->buffer.read(data, maxSize);
- if (lastReadChunkSize > 0) {
- *d->pPos += lastReadChunkSize;
- readSoFar += lastReadChunkSize;
- // fast exit when satisfied by buffer
- if (lastReadChunkSize == maxSize && !(d->openMode & Text)) {
- if (d->buffer.isEmpty()) {
- d->buffer.clear();
- readData(data, 0);
- }
- return readSoFar;
- }
-
- data += lastReadChunkSize;
- maxSize -= lastReadChunkSize;
+ qint64 bufferReadChunkSize = d->buffer.read(data, maxSize);
+ if (bufferReadChunkSize > 0) {
+ *d->pPos += bufferReadChunkSize;
+ readSoFar += bufferReadChunkSize;
+ data += bufferReadChunkSize;
+ maxSize -= bufferReadChunkSize;
#if defined QIODEVICE_DEBUG
- printf("%p \treading %d bytes from buffer into position %d\n", this, lastReadChunkSize,
- int(readSoFar) - lastReadChunkSize);
+ printf("%p \treading %d bytes from buffer into position %d\n", this,
+ bufferReadChunkSize, int(readSoFar) - bufferReadChunkSize);
#endif
} else {
if (d->firstRead) {
@@ -816,100 +809,84 @@ qint64 QIODevice::read(char *data, qint64 maxSize)
d->pDevicePos = &d->seqDumpPos;
}
}
+ }
- if (!maxSize)
- return readSoFar;
-
- if ((d->openMode & Unbuffered) == 0 && maxSize < QIODEVICE_BUFFERSIZE) {
- // In buffered mode, we try to fill up the QIODevice buffer before
- // we do anything else.
- // buffer is empty at this point, try to fill it
- const int bytesToBuffer = QIODEVICE_BUFFERSIZE;
- char *writePointer = d->buffer.reserve(bytesToBuffer);
-
- // Make sure the device is positioned correctly.
- if (d->pos != d->devicePos && !d->isSequential() && !seek(d->pos))
- return readSoFar ? readSoFar : qint64(-1);
- qint64 readFromDevice = readData(writePointer, bytesToBuffer);
- d->buffer.chop(bytesToBuffer - (readFromDevice < 0 ? 0 : int(readFromDevice)));
-
- if (readFromDevice > 0) {
- *d->pDevicePos += readFromDevice;
+ if (maxSize > 0 && !deviceAtEof) {
+ qint64 readFromDevice = 0;
+ // Make sure the device is positioned correctly.
+ if (d->pos == d->devicePos || d->isSequential() || seek(d->pos)) {
+ madeBufferReadsOnly = false; // fix readData attempt
+ if (maxSize >= QIODEVICE_BUFFERSIZE || (d->openMode & Unbuffered)) {
+ // Read big chunk directly to output buffer
+ readFromDevice = readData(data, maxSize);
+ deviceAtEof = (readFromDevice != maxSize);
#if defined QIODEVICE_DEBUG
- printf("%p \treading %d from device into buffer\n", this, int(readFromDevice));
+ printf("%p \treading %d bytes from device (total %d)\n", this,
+ int(readFromDevice), int(readSoFar));
#endif
-
- if (!d->buffer.isEmpty()) {
- lastReadChunkSize = d->buffer.read(data, maxSize);
- readSoFar += lastReadChunkSize;
- data += lastReadChunkSize;
- maxSize -= lastReadChunkSize;
- *d->pPos += lastReadChunkSize;
+ if (readFromDevice > 0) {
+ readSoFar += readFromDevice;
+ data += readFromDevice;
+ maxSize -= readFromDevice;
+ *d->pPos += readFromDevice;
+ *d->pDevicePos += readFromDevice;
+ }
+ } else {
+ const int bytesToBuffer = QIODEVICE_BUFFERSIZE;
+ // Try to fill QIODevice buffer by single read
+ readFromDevice = readData(d->buffer.reserve(bytesToBuffer), bytesToBuffer);
+ deviceAtEof = (readFromDevice != bytesToBuffer);
+ d->buffer.chop(bytesToBuffer - qMax(0, int(readFromDevice)));
+ if (readFromDevice > 0) {
+ *d->pDevicePos += readFromDevice;
#if defined QIODEVICE_DEBUG
- printf("%p \treading %d bytes from buffer at position %d\n", this,
- lastReadChunkSize, int(readSoFar));
+ printf("%p \treading %d from device into buffer\n", this,
+ int(readFromDevice));
#endif
+ continue;
}
}
+ } else {
+ readFromDevice = -1;
}
- }
- // If we need more, try reading from the device.
- if (maxSize > 0) {
- // Make sure the device is positioned correctly.
- if (d->pos != d->devicePos && !d->isSequential() && !seek(d->pos))
- return readSoFar ? readSoFar : qint64(-1);
- qint64 readFromDevice = readData(data, maxSize);
-#if defined QIODEVICE_DEBUG
- printf("%p \treading %d bytes from device (total %d)\n", this, int(readFromDevice), int(readSoFar));
-#endif
- if (readFromDevice == -1 && readSoFar == 0) {
+ if (readFromDevice < 0 && readSoFar == 0) {
// error and we haven't read anything: return immediately
- return -1;
- }
- if (readFromDevice > 0) {
- lastReadChunkSize += int(readFromDevice);
- readSoFar += readFromDevice;
- data += readFromDevice;
- maxSize -= readFromDevice;
- *d->pPos += readFromDevice;
- *d->pDevicePos += readFromDevice;
+ return qint64(-1);
}
}
- // Best attempt has been made to read data, don't try again except for text mode adjustment below
- moreToRead = false;
- if (readSoFar && d->openMode & Text) {
- char *readPtr = data - lastReadChunkSize;
+ if ((d->openMode & Text) && readPtr < data) {
const char *endPtr = data;
- if (readPtr < endPtr) {
- // optimization to avoid initial self-assignment
- while (*readPtr != '\r') {
- if (++readPtr == endPtr)
- return readSoFar;
- }
+ // optimization to avoid initial self-assignment
+ while (*readPtr != '\r') {
+ if (++readPtr == endPtr)
+ break;
+ }
- char *writePtr = readPtr;
+ char *writePtr = readPtr;
- while (readPtr < endPtr) {
- char ch = *readPtr++;
- if (ch != '\r')
- *writePtr++ = ch;
- else {
- --readSoFar;
- --data;
- ++maxSize;
- }
+ while (readPtr < endPtr) {
+ char ch = *readPtr++;
+ if (ch != '\r')
+ *writePtr++ = ch;
+ else {
+ --readSoFar;
+ --data;
+ ++maxSize;
}
-
- // Make sure we get more data if there is room for more. This
- // is very important for when someone seeks to the start of a
- // '\r\n' and reads one character - they should get the '\n'.
- moreToRead = (readPtr != writePtr);
}
+
+ // Make sure we get more data if there is room for more. This
+ // is very important for when someone seeks to the start of a
+ // '\r\n' and reads one character - they should get the '\n'.
+ readPtr = data;
+ continue;
}
- } while (moreToRead);
+
+ break;
+ }
#if defined QIODEVICE_DEBUG
printf("%p \treturning %d, d->pos == %d, d->buffer.size() == %d\n", this,
@@ -917,8 +894,10 @@ qint64 QIODevice::read(char *data, qint64 maxSize)
debugBinaryString(data - readSoFar, readSoFar);
#endif
- if (d->buffer.isEmpty())
+ if (madeBufferReadsOnly && d->buffer.isEmpty()) {
+ d->buffer.clear();
readData(data, 0);
+ }
return readSoFar;
}
diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp
index ed6bfb4e0d..9eca0ab8dc 100644
--- a/src/corelib/io/qresource.cpp
+++ b/src/corelib/io/qresource.cpp
@@ -876,7 +876,13 @@ public:
virtual QString mappingRoot() const { return root; }
virtual ResourceRootType type() const { return Resource_Buffer; }
- bool registerSelf(const uchar *b) {
+ // size == -1 means "unknown"
+ bool registerSelf(const uchar *b, int size)
+ {
+ // 5 int "pointers"
+ if (size >= 0 && size < 20)
+ return false;
+
//setup the data now
int offset = 0;
@@ -903,6 +909,10 @@ public:
(b[offset+2] << 8) + (b[offset+3] << 0);
offset += 4;
+ // Some sanity checking for sizes. This is _not_ a security measure.
+ if (size >= 0 && (tree_offset >= size || data_offset >= size || name_offset >= size))
+ return false;
+
if(version == 0x01) {
buffer = b;
setSource(b+tree_offset, b+name_offset, b+data_offset);
@@ -1009,7 +1019,7 @@ public:
}
fromMM = false;
}
- if(data && QDynamicBufferResourceRoot::registerSelf(data)) {
+ if (data && QDynamicBufferResourceRoot::registerSelf(data, data_len)) {
if(fromMM) {
unmapPointer = data;
unmapLength = data_len;
@@ -1124,7 +1134,7 @@ QResource::registerResource(const uchar *rccData, const QString &resourceRoot)
}
QDynamicBufferResourceRoot *root = new QDynamicBufferResourceRoot(r);
- if(root->registerSelf(rccData)) {
+ if (root->registerSelf(rccData, -1)) {
root->ref.ref();
QMutexLocker lock(resourceMutex());
resourceList()->append(root);
diff --git a/src/corelib/io/qstorageinfo_p.h b/src/corelib/io/qstorageinfo_p.h
index 9c8e51f475..dea25d440d 100644
--- a/src/corelib/io/qstorageinfo_p.h
+++ b/src/corelib/io/qstorageinfo_p.h
@@ -73,14 +73,14 @@ public:
protected:
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
- void retreiveVolumeInfo();
- void retreiveDiskFreeSpace();
+ void retrieveVolumeInfo();
+ void retrieveDiskFreeSpace();
#elif defined(Q_OS_MAC)
void retrievePosixInfo();
void retrieveUrlProperties(bool initRootPath = false);
void retrieveLabel();
#elif defined(Q_OS_UNIX)
- void retreiveVolumeInfo();
+ void retrieveVolumeInfo();
#endif
public:
diff --git a/src/corelib/io/qstorageinfo_unix.cpp b/src/corelib/io/qstorageinfo_unix.cpp
index e82737c51c..bec7420dc7 100644
--- a/src/corelib/io/qstorageinfo_unix.cpp
+++ b/src/corelib/io/qstorageinfo_unix.cpp
@@ -401,11 +401,11 @@ void QStorageInfoPrivate::doStat()
if (rootPath.isEmpty())
return;
- retreiveVolumeInfo();
+ retrieveVolumeInfo();
name = retrieveLabel(device);
}
-void QStorageInfoPrivate::retreiveVolumeInfo()
+void QStorageInfoPrivate::retrieveVolumeInfo()
{
QT_STATFSBUF statfs_buf;
int result;
diff --git a/src/corelib/io/qstorageinfo_win.cpp b/src/corelib/io/qstorageinfo_win.cpp
index 8c276b2798..51a268f58c 100644
--- a/src/corelib/io/qstorageinfo_win.cpp
+++ b/src/corelib/io/qstorageinfo_win.cpp
@@ -114,12 +114,12 @@ void QStorageInfoPrivate::doStat()
if (rootPath.isEmpty())
return;
- retreiveVolumeInfo();
+ retrieveVolumeInfo();
device = getDevice(rootPath);
- retreiveDiskFreeSpace();
+ retrieveDiskFreeSpace();
}
-void QStorageInfoPrivate::retreiveVolumeInfo()
+void QStorageInfoPrivate::retrieveVolumeInfo()
{
const UINT oldmode = ::SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
@@ -151,7 +151,7 @@ void QStorageInfoPrivate::retreiveVolumeInfo()
::SetErrorMode(oldmode);
}
-void QStorageInfoPrivate::retreiveDiskFreeSpace()
+void QStorageInfoPrivate::retrieveDiskFreeSpace()
{
const UINT oldmode = ::SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp
index 4a9aafcf0b..c96d0504f4 100644
--- a/src/corelib/io/qtemporaryfile.cpp
+++ b/src/corelib/io/qtemporaryfile.cpp
@@ -222,6 +222,7 @@ static bool createFileFromTemplate(NativeFileHandle &file,
}
Q_ASSERT(false);
+ return false;
}
//************* QTemporaryFileEngine
diff --git a/src/corelib/io/qtextstream.cpp b/src/corelib/io/qtextstream.cpp
index 66727e7dc4..6cbe91fab2 100644
--- a/src/corelib/io/qtextstream.cpp
+++ b/src/corelib/io/qtextstream.cpp
@@ -827,6 +827,21 @@ inline void QTextStreamPrivate::write(const QString &data)
/*!
\internal
*/
+inline void QTextStreamPrivate::write(QChar ch)
+{
+ if (string) {
+ // ### What about seek()??
+ string->append(ch);
+ } else {
+ writeBuffer += ch;
+ if (writeBuffer.size() > QTEXTSTREAM_BUFFERSIZE)
+ flushWriteBuffer();
+ }
+}
+
+/*!
+ \internal
+*/
inline bool QTextStreamPrivate::getChar(QChar *ch)
{
if ((string && stringOffset == string->size())
@@ -865,6 +880,17 @@ inline void QTextStreamPrivate::ungetChar(QChar ch)
/*!
\internal
*/
+inline void QTextStreamPrivate::putChar(QChar ch)
+{
+ if (params.fieldWidth > 0)
+ putString(QString(ch));
+ else
+ write(ch);
+}
+
+/*!
+ \internal
+*/
inline void QTextStreamPrivate::putString(const QString &s, bool number)
{
QString tmp = s;
@@ -2232,7 +2258,7 @@ QTextStream &QTextStream::operator<<(QChar c)
{
Q_D(QTextStream);
CHECK_VALID_STREAM(*this);
- d->putString(QString(c));
+ d->putChar(c);
return *this;
}
@@ -2245,7 +2271,7 @@ QTextStream &QTextStream::operator<<(char c)
{
Q_D(QTextStream);
CHECK_VALID_STREAM(*this);
- d->putString(QString(QChar::fromLatin1(c)));
+ d->putChar(QChar::fromLatin1(c));
return *this;
}
diff --git a/src/corelib/io/qtextstream_p.h b/src/corelib/io/qtextstream_p.h
index 5f99f44cc2..b7281e42ad 100644
--- a/src/corelib/io/qtextstream_p.h
+++ b/src/corelib/io/qtextstream_p.h
@@ -166,7 +166,9 @@ public:
bool getReal(double *f);
inline void write(const QString &data);
+ inline void write(QChar ch);
inline void putString(const QString &ch, bool number = false);
+ inline void putChar(QChar ch);
void putNumber(qulonglong number, bool negative);
// buffers
diff --git a/src/corelib/itemmodels/qabstractproxymodel.h b/src/corelib/itemmodels/qabstractproxymodel.h
index a11fb592ab..d32003c158 100644
--- a/src/corelib/itemmodels/qabstractproxymodel.h
+++ b/src/corelib/itemmodels/qabstractproxymodel.h
@@ -66,7 +66,7 @@ public:
void revert();
QVariant data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const;
- QVariant headerData(int section, Qt::Orientation orientation, int role) const;
+ QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
QMap<int, QVariant> itemData(const QModelIndex &index) const;
Qt::ItemFlags flags(const QModelIndex &index) const;
diff --git a/src/corelib/itemmodels/qidentityproxymodel.cpp b/src/corelib/itemmodels/qidentityproxymodel.cpp
index 27100c9ff7..e3b363f190 100644
--- a/src/corelib/itemmodels/qidentityproxymodel.cpp
+++ b/src/corelib/itemmodels/qidentityproxymodel.cpp
@@ -152,11 +152,8 @@ QModelIndex QIdentityProxyModel::index(int row, int column, const QModelIndex& p
{
Q_ASSERT(parent.isValid() ? parent.model() == this : true);
Q_D(const QIdentityProxyModel);
- if (!hasIndex(row, column, parent))
- return QModelIndex();
const QModelIndex sourceParent = mapToSource(parent);
const QModelIndex sourceIndex = d->model->index(row, column, sourceParent);
- Q_ASSERT(sourceIndex.isValid());
return mapFromSource(sourceIndex);
}
diff --git a/src/corelib/itemmodels/qidentityproxymodel.h b/src/corelib/itemmodels/qidentityproxymodel.h
index 7eaa1f4e04..0805770aa8 100644
--- a/src/corelib/itemmodels/qidentityproxymodel.h
+++ b/src/corelib/itemmodels/qidentityproxymodel.h
@@ -57,7 +57,7 @@ public:
QModelIndex mapToSource(const QModelIndex& proxyIndex) const;
QModelIndex parent(const QModelIndex& child) const;
int rowCount(const QModelIndex& parent = QModelIndex()) const;
- QVariant headerData(int section, Qt::Orientation orientation, int role) const;
+ QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent);
QModelIndex sibling(int row, int column, const QModelIndex &idx) const;
diff --git a/src/corelib/json/qjsonobject.cpp b/src/corelib/json/qjsonobject.cpp
index bc74092f59..df604e4433 100644
--- a/src/corelib/json/qjsonobject.cpp
+++ b/src/corelib/json/qjsonobject.cpp
@@ -192,7 +192,7 @@ QJsonObject &QJsonObject::operator =(const QJsonObject &other)
The keys in \a map will be used as the keys in the JSON object,
and the QVariant values will be converted to JSON values.
- \sa toVariantMap(), QJsonValue::fromVariant()
+ \sa fromVariantHash(), toVariantMap(), QJsonValue::fromVariant()
*/
QJsonObject QJsonObject::fromVariantMap(const QVariantMap &map)
{
@@ -208,6 +208,8 @@ QJsonObject QJsonObject::fromVariantMap(const QVariantMap &map)
Converts this object to a QVariantMap.
Returns the created map.
+
+ \sa toVariantHash()
*/
QVariantMap QJsonObject::toVariantMap() const
{
@@ -222,6 +224,45 @@ QVariantMap QJsonObject::toVariantMap() const
}
/*!
+ Converts the variant hash \a hash to a QJsonObject.
+ \since 5.5
+
+ The keys in \a hash will be used as the keys in the JSON object,
+ and the QVariant values will be converted to JSON values.
+
+ \sa fromVariantMap(), toVariantHash(), QJsonValue::fromVariant()
+ */
+QJsonObject QJsonObject::fromVariantHash(const QVariantHash &hash)
+{
+ // ### this is implemented the trivial way, not the most efficient way
+
+ QJsonObject object;
+ for (QVariantHash::const_iterator it = hash.constBegin(); it != hash.constEnd(); ++it)
+ object.insert(it.key(), QJsonValue::fromVariant(it.value()));
+ return object;
+}
+
+/*!
+ Converts this object to a QVariantHash.
+ \since 5.5
+
+ Returns the created hash.
+
+ \sa toVariantMap()
+ */
+QVariantHash QJsonObject::toVariantHash() const
+{
+ QVariantHash hash;
+ if (o) {
+ for (uint i = 0; i < o->length; ++i) {
+ QJsonPrivate::Entry *e = o->entryAt(i);
+ hash.insert(e->key(), QJsonValue(d, o, e->value).toVariant());
+ }
+ }
+ return hash;
+}
+
+/*!
Returns a list of all keys in this object.
*/
QStringList QJsonObject::keys() const
diff --git a/src/corelib/json/qjsonobject.h b/src/corelib/json/qjsonobject.h
index 9abdb047ed..272cf14b01 100644
--- a/src/corelib/json/qjsonobject.h
+++ b/src/corelib/json/qjsonobject.h
@@ -46,6 +46,8 @@ QT_BEGIN_NAMESPACE
class QDebug;
template <class Key, class T> class QMap;
typedef QMap<QString, QVariant> QVariantMap;
+template <class Key, class T> class QHash;
+typedef QHash<QString, QVariant> QVariantHash;
class Q_CORE_EXPORT QJsonObject
{
@@ -68,6 +70,8 @@ public:
static QJsonObject fromVariantMap(const QVariantMap &map);
QVariantMap toVariantMap() const;
+ static QJsonObject fromVariantHash(const QVariantHash &map);
+ QVariantHash toVariantHash() const;
QStringList keys() const;
int size() const;
diff --git a/src/corelib/json/qjsonvalue.cpp b/src/corelib/json/qjsonvalue.cpp
index ac4fcb89c1..4c5d9e3308 100644
--- a/src/corelib/json/qjsonvalue.cpp
+++ b/src/corelib/json/qjsonvalue.cpp
@@ -373,6 +373,7 @@ QJsonValue &QJsonValue::operator =(const QJsonValue &other)
\li
\list
\li QMetaType::QVariantMap
+ \li QMetaType::QVariantHash
\endlist
\li QJsonValue::Object
\endtable
@@ -402,6 +403,8 @@ QJsonValue QJsonValue::fromVariant(const QVariant &variant)
return QJsonValue(QJsonArray::fromVariantList(variant.toList()));
case QVariant::Map:
return QJsonValue(QJsonObject::fromVariantMap(variant.toMap()));
+ case QVariant::Hash:
+ return QJsonValue(QJsonObject::fromVariantHash(variant.toHash()));
default:
break;
}
diff --git a/src/corelib/kernel/kernel.pri b/src/corelib/kernel/kernel.pri
index 55625f3571..0ece4a395c 100644
--- a/src/corelib/kernel/kernel.pri
+++ b/src/corelib/kernel/kernel.pri
@@ -99,20 +99,22 @@ winrt {
}
mac {
+ HEADERS += \
+ kernel/qcore_mac_p.h
+
SOURCES += \
- kernel/qcoreapplication_mac.cpp
-}
+ kernel/qcoreapplication_mac.cpp \
+ kernel/qcore_mac.cpp
+
+ OBJECTIVE_SOURCES += \
+ kernel/qcore_mac_objc.mm
+
+ LIBS_PRIVATE += -framework Foundation
-mac:!nacl {
- HEADERS += \
- kernel/qcore_mac_p.h
- SOURCES += \
- kernel/qcore_mac.cpp
- OBJECTIVE_SOURCES += \
- kernel/qcore_mac_objc.mm
+ osx: LIBS_PRIVATE += -framework CoreServices
- # We need UIKit for UIDevice
- ios: LIBS_PRIVATE += -framework UIKit
+ # We need UIKit for UIDevice
+ ios: LIBS_PRIVATE += -framework UIKit
}
nacl {
diff --git a/src/corelib/kernel/qcore_mac_objc.mm b/src/corelib/kernel/qcore_mac_objc.mm
index 73f8296021..8ac062a154 100644
--- a/src/corelib/kernel/qcore_mac_objc.mm
+++ b/src/corelib/kernel/qcore_mac_objc.mm
@@ -1,6 +1,7 @@
/****************************************************************************
**
- ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ ** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+ ** Copyright (C) 2014 Petroules Corporation.
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -47,6 +48,8 @@
QT_BEGIN_NAMESPACE
+typedef qint16 (*GestaltFunction)(quint32 selector, qint32 *response);
+
NSString *QCFString::toNSString(const QString &string)
{
// The const cast below is safe: CfStringRef is immutable and so is NSString.
@@ -58,31 +61,49 @@ QString QCFString::toQString(const NSString *nsstr)
return toQString(reinterpret_cast<CFStringRef>(nsstr));
}
-#ifdef Q_OS_IOS
-QSysInfo::MacVersion qt_ios_version()
+QAppleOperatingSystemVersion qt_apple_os_version()
{
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-
- int major = 0, minor = 0;
- NSArray *components = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
- switch ([components count]) {
- case 3:
- // We don't care about the patch version
- case 2:
- minor = [[components objectAtIndex:1] intValue];
- // fall through
- case 1:
- major = [[components objectAtIndex:0] intValue];
- break;
- default:
- Q_UNREACHABLE();
+ QAppleOperatingSystemVersion v = {0, 0, 0};
+#if QT_MAC_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_10, __IPHONE_8_0)
+ if ([NSProcessInfo instancesRespondToSelector:@selector(operatingSystemVersion)]) {
+ NSOperatingSystemVersion osv = NSProcessInfo.processInfo.operatingSystemVersion;
+ v.major = osv.majorVersion;
+ v.minor = osv.minorVersion;
+ v.patch = osv.patchVersion;
+ return v;
}
-
- [pool release];
-
- return QSysInfo::MacVersion(Q_MV_IOS(major, minor));
-}
#endif
+ // Use temporary variables so we can return 0.0.0 (unknown version)
+ // in case of an error partway through determining the OS version
+ qint32 major = 0, minor = 0, patch = 0;
+#if defined(Q_OS_IOS)
+ @autoreleasepool {
+ NSArray *parts = [UIDevice.currentDevice.systemVersion componentsSeparatedByString:@"."];
+ major = parts.count > 0 ? [[parts objectAtIndex:0] intValue] : 0;
+ minor = parts.count > 1 ? [[parts objectAtIndex:1] intValue] : 0;
+ patch = parts.count > 2 ? [[parts objectAtIndex:2] intValue] : 0;
+ }
+#elif defined(Q_OS_OSX)
+ static GestaltFunction pGestalt = 0;
+ if (!pGestalt) {
+ CFBundleRef b = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.CoreServices"));
+ pGestalt = reinterpret_cast<GestaltFunction>(CFBundleGetFunctionPointerForName(b,
+ CFSTR("Gestalt")));
+ }
+ if (!pGestalt)
+ return v;
+ if (pGestalt('sys1', &major) != 0)
+ return v;
+ if (pGestalt('sys2', &minor) != 0)
+ return v;
+ if (pGestalt('sys3', &patch) != 0)
+ return v;
+#endif
+ v.major = major;
+ v.minor = minor;
+ v.patch = patch;
+ return v;
+}
QT_END_NAMESPACE
diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h
index 842e2ef9f1..9b13f8d2b1 100644
--- a/src/corelib/kernel/qcore_mac_p.h
+++ b/src/corelib/kernel/qcore_mac_p.h
@@ -135,9 +135,11 @@ private:
QString string;
};
-#ifdef Q_OS_IOS
-QSysInfo::MacVersion qt_ios_version();
-#endif
+typedef struct {
+ int major, minor, patch;
+} QAppleOperatingSystemVersion;
+
+QAppleOperatingSystemVersion qt_apple_os_version();
QT_END_NAMESPACE
diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp
index 191ceaa37b..93ab90fb94 100644
--- a/src/corelib/kernel/qcoreevent.cpp
+++ b/src/corelib/kernel/qcoreevent.cpp
@@ -183,6 +183,7 @@ QT_BEGIN_NAMESPACE
\value ParentAboutToChange The widget parent is about to change.
\value ParentChange The widget parent has changed.
\value PlatformPanel A platform specific panel has been requested.
+ \value PlatformSurface A native platform surface has been created or is about to be destroyed (QPlatformSurfaceEvent).
\value Polish The widget is polished.
\value PolishRequest The widget should be polished.
\value QueryWhatsThis The widget should accept the event if it has "What's This?" help.
diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h
index 170f319ec9..0807721432 100644
--- a/src/corelib/kernel/qcoreevent.h
+++ b/src/corelib/kernel/qcoreevent.h
@@ -275,6 +275,8 @@ public:
WindowChangeInternal = 215, // internal for QQuickWidget
ScreenChangeInternal = 216,
+ PlatformSurface = 217, // Platform surface created or about to be destroyed
+
// 512 reserved for Qt Jambi's MetaCall event
// 513 reserved for Qt Jambi's DeleteOnMainThread event
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index b54cb0c344..1b7ced8dc8 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Olivier Goffart <ogoffart@woboq.com>
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -2298,6 +2299,112 @@ bool QMetaMethod::invoke(QObject *object,
*/
/*!
+ \since 5.5
+
+ Invokes this method on a Q_GADGET. Returns \c true if the member could be invoked.
+ Returns \c false if there is no such member or the parameters did not match.
+
+ The pointer \a gadget must point to an instance of the gadget class.
+
+ The invocation is always synchronous.
+
+ The return value of this method call is placed in \a
+ returnValue. You can pass up to ten arguments (\a val0, \a val1,
+ \a val2, \a val3, \a val4, \a val5, \a val6, \a val7, \a val8,
+ and \a val9) to this method call.
+
+ \warning this method will not test the validity of the arguments: \a gadget
+ must be an instance of the class of the QMetaObject of which this QMetaMethod
+ has been constructed with. The arguments must have the same type as the ones
+ expected by the method, else, the behavior is undefined.
+
+ \sa Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), QMetaObject::invokeMethod()
+*/
+bool QMetaMethod::invokeOnGadget(void* gadget, QGenericReturnArgument returnValue, QGenericArgument val0, QGenericArgument val1, QGenericArgument val2, QGenericArgument val3, QGenericArgument val4, QGenericArgument val5, QGenericArgument val6, QGenericArgument val7, QGenericArgument val8, QGenericArgument val9) const
+{
+ if (!gadget || !mobj)
+ return false;
+
+ // check return type
+ if (returnValue.data()) {
+ const char *retType = typeName();
+ if (qstrcmp(returnValue.name(), retType) != 0) {
+ // normalize the return value as well
+ QByteArray normalized = QMetaObject::normalizedType(returnValue.name());
+ if (qstrcmp(normalized.constData(), retType) != 0) {
+ // String comparison failed, try compare the metatype.
+ int t = returnType();
+ if (t == QMetaType::UnknownType || t != QMetaType::type(normalized))
+ return false;
+ }
+ }
+ }
+
+ // check argument count (we don't allow invoking a method if given too few arguments)
+ const char *typeNames[] = {
+ returnValue.name(),
+ val0.name(),
+ val1.name(),
+ val2.name(),
+ val3.name(),
+ val4.name(),
+ val5.name(),
+ val6.name(),
+ val7.name(),
+ val8.name(),
+ val9.name()
+ };
+ int paramCount;
+ for (paramCount = 1; paramCount < MaximumParamCount; ++paramCount) {
+ if (qstrlen(typeNames[paramCount]) <= 0)
+ break;
+ }
+ if (paramCount <= QMetaMethodPrivate::get(this)->parameterCount())
+ return false;
+
+ // invoke!
+ void *param[] = {
+ returnValue.data(),
+ val0.data(),
+ val1.data(),
+ val2.data(),
+ val3.data(),
+ val4.data(),
+ val5.data(),
+ val6.data(),
+ val7.data(),
+ val8.data(),
+ val9.data()
+ };
+ int idx_relative = QMetaMethodPrivate::get(this)->ownMethodIndex();
+ Q_ASSERT(QMetaObjectPrivate::get(mobj)->revision >= 6);
+ QObjectPrivate::StaticMetaCallFunction callFunction = mobj->d.static_metacall;
+ if (!callFunction)
+ return false;
+ callFunction(reinterpret_cast<QObject*>(gadget), QMetaObject::InvokeMetaMethod, idx_relative, param);
+ return true;
+}
+
+/*!
+ \fn bool QMetaMethod::invokeOnGadget(void *gadget,
+ QGenericArgument val0 = QGenericArgument(0),
+ QGenericArgument val1 = QGenericArgument(),
+ QGenericArgument val2 = QGenericArgument(),
+ QGenericArgument val3 = QGenericArgument(),
+ QGenericArgument val4 = QGenericArgument(),
+ QGenericArgument val5 = QGenericArgument(),
+ QGenericArgument val6 = QGenericArgument(),
+ QGenericArgument val7 = QGenericArgument(),
+ QGenericArgument val8 = QGenericArgument(),
+ QGenericArgument val9 = QGenericArgument()) const
+
+ \overload
+ \since 5.5
+
+ This overload invokes this method for a \a gadget and ignores return values.
+*/
+
+/*!
\class QMetaEnum
\inmodule QtCore
\brief The QMetaEnum class provides meta-data about an enumerator.
@@ -2837,8 +2944,13 @@ QVariant QMetaProperty::read(const QObject *object) const
// Try to register the type and try again before reporting an error.
int registerResult = -1;
void *argv[] = { &registerResult };
- QMetaObject::metacall(const_cast<QObject*>(object), QMetaObject::RegisterPropertyMetaType,
- idx + mobj->propertyOffset(), argv);
+ if ((priv(mobj->d.data)->flags & PropertyAccessInStaticMetaCall) && mobj->d.static_metacall) {
+ mobj->d.static_metacall(const_cast<QObject*>(object), QMetaObject::RegisterPropertyMetaType,
+ idx, argv);
+ } else {
+ QMetaObject::metacall(const_cast<QObject*>(object), QMetaObject::RegisterPropertyMetaType,
+ idx + mobj->propertyOffset(), argv);
+ }
if (registerResult == -1) {
qWarning("QMetaProperty::read: Unable to handle unregistered datatype '%s' for property '%s::%s'", typeName, mobj->className(), name());
return QVariant();
@@ -2861,8 +2973,12 @@ QVariant QMetaProperty::read(const QObject *object) const
value = QVariant(t, (void*)0);
argv[0] = value.data();
}
- QMetaObject::metacall(const_cast<QObject*>(object), QMetaObject::ReadProperty,
- idx + mobj->propertyOffset(), argv);
+ if (priv(mobj->d.data)->flags & PropertyAccessInStaticMetaCall && mobj->d.static_metacall) {
+ mobj->d.static_metacall(const_cast<QObject*>(object), QMetaObject::ReadProperty, idx, argv);
+ } else {
+ QMetaObject::metacall(const_cast<QObject*>(object), QMetaObject::ReadProperty,
+ idx + mobj->propertyOffset(), argv);
+ }
if (status != -1)
return value;
@@ -2932,7 +3048,11 @@ bool QMetaProperty::write(QObject *object, const QVariant &value) const
argv[0] = &v;
else
argv[0] = v.data();
- QMetaObject::metacall(object, QMetaObject::WriteProperty, idx + mobj->propertyOffset(), argv);
+ if (priv(mobj->d.data)->flags & PropertyAccessInStaticMetaCall && mobj->d.static_metacall)
+ mobj->d.static_metacall(object, QMetaObject::WriteProperty, idx, argv);
+ else
+ QMetaObject::metacall(object, QMetaObject::WriteProperty, idx + mobj->propertyOffset(), argv);
+
return status;
}
@@ -2949,9 +3069,55 @@ bool QMetaProperty::reset(QObject *object) const
if (!object || !mobj || !isResettable())
return false;
void *argv[] = { 0 };
- QMetaObject::metacall(object, QMetaObject::ResetProperty, idx + mobj->propertyOffset(), argv);
+ if (priv(mobj->d.data)->flags & PropertyAccessInStaticMetaCall && mobj->d.static_metacall)
+ mobj->d.static_metacall(object, QMetaObject::ResetProperty, idx, argv);
+ else
+ QMetaObject::metacall(object, QMetaObject::ResetProperty, idx + mobj->propertyOffset(), argv);
return true;
}
+/*!
+ \since 5.5
+
+ Reads the property's value from the given \a gadget. Returns the value
+ if it was able to read it; otherwise returns an invalid variant.
+
+ This function should only be used if this is a property of a Q_GADGET
+*/
+QVariant QMetaProperty::readOnGadget(const void *gadget) const
+{
+ Q_ASSERT(priv(mobj->d.data)->flags & PropertyAccessInStaticMetaCall && mobj->d.static_metacall);
+ return read(reinterpret_cast<const QObject*>(gadget));
+}
+
+/*!
+ \since 5.5
+
+ Writes \a value as the property's value to the given \a gadget. Returns
+ true if the write succeeded; otherwise returns \c false.
+
+ This function should only be used if this is a property of a Q_GADGET
+*/
+bool QMetaProperty::writeOnGadget(void *gadget, const QVariant &value) const
+{
+ Q_ASSERT(priv(mobj->d.data)->flags & PropertyAccessInStaticMetaCall && mobj->d.static_metacall);
+ return write(reinterpret_cast<QObject*>(gadget), value);
+}
+
+/*!
+ \since 5.5
+
+ Resets the property for the given \a gadget with a reset method.
+ Returns \c true if the reset worked; otherwise returns \c false.
+
+ Reset methods are optional; only a few properties support them.
+
+ This function should only be used if this is a property of a Q_GADGET
+*/
+bool QMetaProperty::resetOnGadget(void *gadget) const
+{
+ Q_ASSERT(priv(mobj->d.data)->flags & PropertyAccessInStaticMetaCall && mobj->d.static_metacall);
+ return reset(reinterpret_cast<QObject*>(gadget));
+}
/*!
Returns \c true if this property can be reset to a default value; otherwise
diff --git a/src/corelib/kernel/qmetaobject.h b/src/corelib/kernel/qmetaobject.h
index 2a874697c3..1faead8495 100644
--- a/src/corelib/kernel/qmetaobject.h
+++ b/src/corelib/kernel/qmetaobject.h
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Olivier Goffart <ogoffart@woboq.com>
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -131,6 +132,34 @@ public:
val0, val1, val2, val3, val4, val5, val6, val7, val8, val9);
}
+ bool invokeOnGadget(void *gadget,
+ QGenericReturnArgument returnValue,
+ QGenericArgument val0 = QGenericArgument(0),
+ QGenericArgument val1 = QGenericArgument(),
+ QGenericArgument val2 = QGenericArgument(),
+ QGenericArgument val3 = QGenericArgument(),
+ QGenericArgument val4 = QGenericArgument(),
+ QGenericArgument val5 = QGenericArgument(),
+ QGenericArgument val6 = QGenericArgument(),
+ QGenericArgument val7 = QGenericArgument(),
+ QGenericArgument val8 = QGenericArgument(),
+ QGenericArgument val9 = QGenericArgument()) const;
+ inline bool invokeOnGadget(void *gadget,
+ QGenericArgument val0 = QGenericArgument(0),
+ QGenericArgument val1 = QGenericArgument(),
+ QGenericArgument val2 = QGenericArgument(),
+ QGenericArgument val3 = QGenericArgument(),
+ QGenericArgument val4 = QGenericArgument(),
+ QGenericArgument val5 = QGenericArgument(),
+ QGenericArgument val6 = QGenericArgument(),
+ QGenericArgument val7 = QGenericArgument(),
+ QGenericArgument val8 = QGenericArgument(),
+ QGenericArgument val9 = QGenericArgument()) const
+ {
+ return invokeOnGadget(gadget, QGenericReturnArgument(),
+ val0, val1, val2, val3, val4, val5, val6, val7, val8, val9);
+ }
+
inline bool isValid() const { return mobj != 0; }
#ifdef Q_QDOC
@@ -237,6 +266,10 @@ public:
bool write(QObject *obj, const QVariant &value) const;
bool reset(QObject *obj) const;
+ QVariant readOnGadget(const void *gadget) const;
+ bool writeOnGadget(void *gadget, const QVariant &value) const;
+ bool resetOnGadget(void *gadget) const;
+
bool hasStdCppSet() const;
inline bool isValid() const { return isReadable(); }
inline const QMetaObject *enclosingMetaObject() const { return mobj; }
diff --git a/src/corelib/kernel/qmetaobject_p.h b/src/corelib/kernel/qmetaobject_p.h
index c08838e456..45fe56ec8a 100644
--- a/src/corelib/kernel/qmetaobject_p.h
+++ b/src/corelib/kernel/qmetaobject_p.h
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Olivier Goffart <ogoffart@woboq.com>
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -98,7 +99,8 @@ enum MethodFlags {
enum MetaObjectFlags {
DynamicMetaObject = 0x01,
- RequiresVariantMetaObject = 0x02
+ RequiresVariantMetaObject = 0x02,
+ PropertyAccessInStaticMetaCall = 0x04 // since Qt 5.5, property code is in the static metacall
};
enum MetaDataFlags {
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index 311648c33a..294b1fc07c 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -283,10 +283,11 @@ struct DefinedTypesFilter {
\value MovableType An instance of a type having this attribute can be safely moved by memcpy.
\omitvalue SharedPointerToQObject
\omitvalue IsEnumeration
- \omitvalue PointerToQObject
+ \value PointerToQObject This type is a pointer to a derived of QObject
\omitvalue WeakPointerToQObject
\omitvalue TrackingPointerToQObject
\omitvalue WasDeclaredAsMetaType
+ \value IsGadget This type is a Q_GADGET and it's corresponding QMetaObject can be accessed with QMetaType::metaObject Since 5.5.
*/
/*!
@@ -363,8 +364,19 @@ struct DefinedTypesFilter {
/*!
\fn const QMetaObject *QMetaType::metaObject() const
- \since 5.0
- \internal
+ \since 5.5
+
+ return a QMetaObject relative to this type.
+
+ If the type is a pointer type to a subclass of QObject, flags contains
+ QMetaType::PointerToQObject and this function returns the corresponding QMetaObject. This can
+ be used to in combinaison with QMetaObject::construct to create QObject of this type.
+
+ If the type is a Q_GADGET, flags contains QMetaType::IsGadget, and this function returns its
+ QMetaObject. This can be used to retrieve QMetaMethod and QMetaProperty and use them on a
+ pointer of this type. (given by QVariant::data for example)
+
+ \sa QMetaType::metaObjectForType(), QMetaType::flags()
*/
/*!
@@ -801,7 +813,7 @@ static inline int qMetaTypeStaticType(const char *typeName, int length)
{
int i = 0;
while (types[i].typeName && ((length != types[i].typeNameLength)
- || strcmp(typeName, types[i].typeName))) {
+ || memcmp(typeName, types[i].typeName, length))) {
++i;
}
return types[i].type;
@@ -821,7 +833,7 @@ static int qMetaTypeCustomType_unlocked(const char *typeName, int length)
for (int v = 0; v < ct->count(); ++v) {
const QCustomTypeInfo &customInfo = ct->at(v);
if ((length == customInfo.typeName.size())
- && !strcmp(typeName, customInfo.typeName.constData())) {
+ && !memcmp(typeName, customInfo.typeName.constData(), length)) {
if (customInfo.alias >= 0)
return customInfo.alias;
return v + QMetaType::User;
@@ -870,24 +882,43 @@ int QMetaType::registerType(const char *typeName, Deleter deleter,
/*!
- \internal
- \since 5.0
+ \internal
+ \since 5.0
+ \overload
+ Don't use, kept for binary compatibility
- Registers a user type for marshalling, with \a normalizedTypeName, a \a
- deleter, a \a creator, a \a destructor, a \a constructor, and
- a \a size. Returns the type's handle, or -1 if the type could
- not be registered. Note that normalizedTypeName is not checked for
- conformance with Qt's normalized format, so it must already
- conform.
- */
+ ### TODO Qt6: remove me
+*/
int QMetaType::registerNormalizedType(const NS(QByteArray) &normalizedTypeName, Deleter deleter,
Creator creator,
Destructor destructor,
Constructor constructor,
int size, TypeFlags flags, const QMetaObject *metaObject)
{
+ Q_UNUSED(deleter);
+ Q_UNUSED(creator);
+ return registerNormalizedType(normalizedTypeName, destructor, constructor, size, flags, metaObject);
+}
+
+
+/*!
+ \internal
+ \since 5.5
+
+ Registers a user type for marshalling, with \a normalizedTypeName,
+ a \a destructor, a \a constructor, and a \a size. Returns the type's
+ handle, or -1 if the type could not be registered.
+
+ \note normalizedTypeName is not checked for conformance with
+ Qt's normalized format, so it must already conform.
+ */
+int QMetaType::registerNormalizedType(const NS(QByteArray) &normalizedTypeName,
+ Destructor destructor,
+ Constructor constructor,
+ int size, TypeFlags flags, const QMetaObject *metaObject)
+{
QVector<QCustomTypeInfo> *ct = customTypes();
- if (!ct || normalizedTypeName.isEmpty() || !deleter || !creator || !destructor || !constructor)
+ if (!ct || normalizedTypeName.isEmpty() || !destructor || !constructor)
return -1;
int idx = qMetaTypeStaticType(normalizedTypeName.constData(),
@@ -902,8 +933,6 @@ int QMetaType::registerNormalizedType(const NS(QByteArray) &normalizedTypeName,
if (idx == UnknownType) {
QCustomTypeInfo inf;
inf.typeName = normalizedTypeName;
- inf.creator = creator;
- inf.deleter = deleter;
#ifndef QT_NO_DATASTREAM
inf.loadOp = 0;
inf.saveOp = 0;
@@ -1004,8 +1033,6 @@ int QMetaType::registerNormalizedTypedef(const NS(QByteArray) &normalizedTypeNam
QCustomTypeInfo inf;
inf.typeName = normalizedTypeName;
inf.alias = aliasId;
- inf.creator = 0;
- inf.deleter = 0;
ct->append(inf);
return aliasId;
}
@@ -1048,9 +1075,8 @@ bool QMetaType::isRegistered(int type)
Implementation of QMetaType::type().
*/
template <bool tryNormalizedType>
-static inline int qMetaTypeTypeImpl(const char *typeName)
+static inline int qMetaTypeTypeImpl(const char *typeName, int length)
{
- int length = qstrlen(typeName);
if (!length)
return QMetaType::UnknownType;
int type = qMetaTypeStaticType(typeName, length);
@@ -1080,7 +1106,7 @@ static inline int qMetaTypeTypeImpl(const char *typeName)
*/
int QMetaType::type(const char *typeName)
{
- return qMetaTypeTypeImpl</*tryNormalizedType=*/true>(typeName);
+ return qMetaTypeTypeImpl</*tryNormalizedType=*/true>(typeName, qstrlen(typeName));
}
/*!
@@ -1092,7 +1118,21 @@ int QMetaType::type(const char *typeName)
*/
int qMetaTypeTypeInternal(const char *typeName)
{
- return qMetaTypeTypeImpl</*tryNormalizedType=*/false>(typeName);
+ return qMetaTypeTypeImpl</*tryNormalizedType=*/false>(typeName, qstrlen(typeName));
+}
+
+/*!
+ \since 5.5
+ \overload
+
+ Returns a handle to the type called \a typeName, or 0 if there is
+ no such type.
+
+ \sa isRegistered(), typeName()
+*/
+int QMetaType::type(const QT_PREPEND_NAMESPACE(QByteArray) &typeName)
+{
+ return qMetaTypeTypeImpl</*tryNormalizedType=*/true>(typeName.constData(), typeName.size());
}
#ifndef QT_NO_DATASTREAM
@@ -1541,60 +1581,6 @@ bool QMetaType::load(QDataStream &stream, int type, void *data)
return true;
}
#endif // QT_NO_DATASTREAM
-namespace {
-class TypeCreator {
- template<typename T, bool IsAcceptedType = DefinedTypesFilter::Acceptor<T>::IsAccepted>
- struct CreatorImpl {
- static void *Create(const int /* type */, const void *copy)
- {
- // Using QMetaTypeFunctionHelper<T>::Create adds function call cost, even if it is a template (gcc).
- // This "copy" check is moved out from the switcher by compiler (at least by gcc)
- return copy ? new T(*static_cast<const T*>(copy)) : new T();
- }
- };
- template<typename T>
- struct CreatorImpl<T, /* IsAcceptedType = */ false> {
- static void *Create(const int type, const void *copy)
- {
- if (QModulesPrivate::QTypeModuleInfo<T>::IsGui) {
- if (Q_LIKELY(qMetaTypeGuiHelper))
- return qMetaTypeGuiHelper[type - QMetaType::FirstGuiType].creator(copy);
- }
- if (QModulesPrivate::QTypeModuleInfo<T>::IsWidget) {
- if (Q_LIKELY(qMetaTypeWidgetsHelper))
- return qMetaTypeWidgetsHelper[type - QMetaType::FirstWidgetsType].creator(copy);
- }
- // This point can be reached only for known types that definition is not available, for example
- // in bootstrap mode. We have no other choice then ignore it.
- return 0;
- }
- };
-public:
- TypeCreator(const int type)
- : m_type(type)
- {}
-
- template<typename T>
- void *delegate(const T *copy) { return CreatorImpl<T>::Create(m_type, copy); }
- void *delegate(const void*) { return 0; }
- void *delegate(const QMetaTypeSwitcher::UnknownType *) { return 0; }
- void *delegate(const QMetaTypeSwitcher::NotBuiltinType *copy)
- {
- QMetaType::Creator creator;
- const QVector<QCustomTypeInfo> * const ct = customTypes();
- {
- QReadLocker locker(customTypesLock());
- if (Q_UNLIKELY(m_type < QMetaType::User || !ct || ct->count() <= m_type - QMetaType::User))
- return 0;
- creator = ct->at(m_type - QMetaType::User).creator;
- }
- Q_ASSERT_X(creator, "void *QMetaType::create(int type, const void *copy)", "The type was not properly registered");
- return creator(copy);
- }
-private:
- const int m_type;
-};
-} // namespace
/*!
Returns a copy of \a copy, assuming it is of type \a type. If \a
@@ -1604,65 +1590,11 @@ private:
*/
void *QMetaType::create(int type, const void *copy)
{
- TypeCreator typeCreator(type);
- return QMetaTypeSwitcher::switcher<void*>(typeCreator, type, copy);
+ QMetaType info(type);
+ int size = info.sizeOf();
+ return info.construct(operator new(size), copy);
}
-namespace {
-class TypeDestroyer {
- template<typename T, bool IsAcceptedType = DefinedTypesFilter::Acceptor<T>::IsAccepted>
- struct DestroyerImpl {
- static void Destroy(const int /* type */, void *where) { QtMetaTypePrivate::QMetaTypeFunctionHelper<T>::Delete(where); }
- };
- template<typename T>
- struct DestroyerImpl<T, /* IsAcceptedType = */ false> {
- static void Destroy(const int type, void *where)
- {
- if (QModulesPrivate::QTypeModuleInfo<T>::IsGui) {
- if (Q_LIKELY(qMetaTypeGuiHelper))
- qMetaTypeGuiHelper[type - QMetaType::FirstGuiType].deleter(where);
- return;
- }
- if (QModulesPrivate::QTypeModuleInfo<T>::IsWidget) {
- if (Q_LIKELY(qMetaTypeWidgetsHelper))
- qMetaTypeWidgetsHelper[type - QMetaType::FirstWidgetsType].deleter(where);
- return;
- }
- // This point can be reached only for known types that definition is not available, for example
- // in bootstrap mode. We have no other choice then ignore it.
- }
- };
-public:
- TypeDestroyer(const int type)
- : m_type(type)
- {}
-
- template<typename T>
- void delegate(const T *where) { DestroyerImpl<T>::Destroy(m_type, const_cast<T*>(where)); }
- void delegate(const void *) {}
- void delegate(const QMetaTypeSwitcher::UnknownType*) {}
- void delegate(const QMetaTypeSwitcher::NotBuiltinType *where) { customTypeDestroyer(m_type, (void*)where); }
-
-private:
- static void customTypeDestroyer(const int type, void *where)
- {
- QMetaType::Destructor deleter;
- const QVector<QCustomTypeInfo> * const ct = customTypes();
- {
- QReadLocker locker(customTypesLock());
- if (Q_UNLIKELY(type < QMetaType::User || !ct || ct->count() <= type - QMetaType::User))
- return;
- deleter = ct->at(type - QMetaType::User).deleter;
- }
- Q_ASSERT_X(deleter, "void QMetaType::destroy(int type, void *data)", "The type was not properly registered");
- deleter(where);
- }
-
- const int m_type;
-};
-} // namespace
-
-
/*!
Destroys the \a data, assuming it is of the \a type given.
@@ -1670,8 +1602,9 @@ private:
*/
void QMetaType::destroy(int type, void *data)
{
- TypeDestroyer deleter(type);
- QMetaTypeSwitcher::switcher<void>(deleter, type, data);
+ QMetaType info(type);
+ info.destruct(data);
+ operator delete(data);
}
namespace {
@@ -1969,8 +1902,27 @@ public:
MetaObject(const int type)
: m_type(type)
{}
+
+ template<typename T, bool IsAcceptedType = DefinedTypesFilter::Acceptor<T>::IsAccepted>
+ struct MetaObjectImpl
+ {
+ static const QMetaObject *MetaObject(int /*type*/)
+ { return QtPrivate::MetaObjectForType<T>::value(); }
+ };
template<typename T>
- const QMetaObject *delegate(const T*) { return QtPrivate::MetaObjectForType<T>::value(); }
+ struct MetaObjectImpl<T, /* IsAcceptedType = */ false>
+ {
+ static const QMetaObject *MetaObject(int type) {
+ if (QModulesPrivate::QTypeModuleInfo<T>::IsGui)
+ return Q_LIKELY(qMetaTypeGuiHelper) ? qMetaTypeGuiHelper[type - QMetaType::FirstGuiType].metaObject : 0;
+ if (QModulesPrivate::QTypeModuleInfo<T>::IsWidget)
+ return Q_LIKELY(qMetaTypeWidgetsHelper) ? qMetaTypeWidgetsHelper[type - QMetaType::FirstWidgetsType].metaObject : 0;
+ return 0;
+ }
+ };
+
+ template <typename T>
+ const QMetaObject *delegate(const T *) { return MetaObjectImpl<T>::MetaObject(m_type); }
const QMetaObject *delegate(const void*) { return 0; }
const QMetaObject *delegate(const QMetaTypeSwitcher::UnknownType*) { return 0; }
const QMetaObject *delegate(const QMetaTypeSwitcher::NotBuiltinType*) { return customMetaObject(m_type); }
@@ -1993,7 +1945,9 @@ private:
/*!
\since 5.0
- Returns QMetaObject of a given \a type, if the \a type is a pointer to type derived from QObject.
+ returns QMetaType::metaObject for \a type
+
+ \sa metaObject()
*/
const QMetaObject *QMetaType::metaObjectForType(int type)
{
@@ -2200,10 +2154,10 @@ QMetaType QMetaType::typeInfo(const int type)
{
TypeInfo typeInfo(type);
QMetaTypeSwitcher::switcher<void>(typeInfo, type, 0);
- return typeInfo.info.creator ? QMetaType(QMetaType::NoExtensionFlags
+ return typeInfo.info.constructor ? QMetaType(static_cast<ExtensionFlag>(QMetaType::CreateEx | QMetaType::DestroyEx)
, static_cast<const QMetaTypeInterface *>(0) // typeInfo::info is a temporary variable, we can't return address of it.
- , typeInfo.info.creator
- , typeInfo.info.deleter
+ , 0 // unused
+ , 0 // unused
, typeInfo.info.saveOp
, typeInfo.info.loadOp
, typeInfo.info.constructor
@@ -2245,8 +2199,8 @@ QMetaType::QMetaType(const int typeId)
Copy constructs a QMetaType object.
*/
QMetaType::QMetaType(const QMetaType &other)
- : m_creator(other.m_creator)
- , m_deleter(other.m_deleter)
+ : m_creator_unused(other.m_creator_unused)
+ , m_deleter_unused(other.m_deleter_unused)
, m_saveOp(other.m_saveOp)
, m_loadOp(other.m_loadOp)
, m_constructor(other.m_constructor)
@@ -2261,8 +2215,8 @@ QMetaType::QMetaType(const QMetaType &other)
QMetaType &QMetaType::operator =(const QMetaType &other)
{
- m_creator = other.m_creator;
- m_deleter = other.m_deleter;
+ m_creator_unused = other.m_creator_unused;
+ m_deleter_unused = other.m_deleter_unused;
m_saveOp = other.m_saveOp;
m_loadOp = other.m_loadOp;
m_constructor = other.m_constructor;
@@ -2311,11 +2265,14 @@ void QMetaType::dtor()
Method used for future binary compatible extensions. The function may be called
during QMetaType::create to force library call from inlined code.
+
+ ### TODO Qt6 remove the extension
*/
void *QMetaType::createExtended(const void *copy) const
{
- Q_UNUSED(copy);
- return 0;
+ if (m_typeId == QMetaType::UnknownType)
+ return 0;
+ return m_constructor(operator new(m_size), copy);
}
/*!
@@ -2324,10 +2281,13 @@ void *QMetaType::createExtended(const void *copy) const
Method used for future binary compatible extensions. The function may be called
during QMetaType::destroy to force library call from inlined code.
+
+ ### TODO Qt6 remove the extension
*/
void QMetaType::destroyExtended(void *data) const
{
- Q_UNUSED(data);
+ m_destructor(data);
+ operator delete(data);
}
/*!
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
index af38589903..1d8b9a8bdc 100644
--- a/src/corelib/kernel/qmetatype.h
+++ b/src/corelib/kernel/qmetatype.h
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Olivier Goffart <ogoffart@woboq.com>
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -435,7 +436,8 @@ public:
SharedPointerToQObject = 0x20,
WeakPointerToQObject = 0x40,
TrackingPointerToQObject = 0x80,
- WasDeclaredAsMetaType = 0x100
+ WasDeclaredAsMetaType = 0x100,
+ IsGadget = 0x200
};
Q_DECLARE_FLAGS(TypeFlags, TypeFlag)
@@ -469,9 +471,19 @@ public:
int size,
QMetaType::TypeFlags flags,
const QMetaObject *metaObject);
+ static int registerNormalizedType(const QT_PREPEND_NAMESPACE(QByteArray) &normalizedTypeName, Destructor destructor,
+ Constructor constructor,
+ int size,
+ QMetaType::TypeFlags flags,
+ const QMetaObject *metaObject);
static int registerTypedef(const char *typeName, int aliasId);
static int registerNormalizedTypedef(const QT_PREPEND_NAMESPACE(QByteArray) &normalizedTypeName, int aliasId);
static int type(const char *typeName);
+#ifndef Q_QDOC
+ static int type(const QT_PREPEND_NAMESPACE(QByteArray) &typeName);
+#else
+ static int type(const QByteArray &typeName);
+#endif
static const char *typeName(int type);
static int sizeOf(int type);
static TypeFlags typeFlags(int type);
@@ -661,8 +673,8 @@ public:
static void unregisterConverterFunction(int from, int to);
private:
- Creator m_creator;
- Deleter m_deleter;
+ Creator m_creator_unused;
+ Deleter m_deleter_unused;
SaveOperator m_saveOp;
LoadOperator m_loadOp;
Constructor m_constructor;
@@ -702,18 +714,6 @@ ConverterFunctor<From, To, UnaryFunction>::~ConverterFunctor()
namespace QtMetaTypePrivate {
template <typename T, bool Accepted = true>
struct QMetaTypeFunctionHelper {
- static void Delete(void *t)
- {
- delete static_cast<T*>(t);
- }
-
- static void *Create(const void *t)
- {
- if (t)
- return new T(*static_cast<const T*>(t));
- return new T();
- }
-
static void Destruct(void *t)
{
Q_UNUSED(t) // Silence MSVC that warns for POD types.
@@ -741,8 +741,6 @@ struct QMetaTypeFunctionHelper {
template <typename T>
struct QMetaTypeFunctionHelper<T, /* Accepted */ false> {
- static void Delete(void *) {}
- static void *Create(const void *) { return 0; }
static void Destruct(void *) {}
static void *Construct(void *, const void *) { return 0; }
#ifndef QT_NO_DATASTREAM
@@ -1330,14 +1328,27 @@ namespace QtPrivate
enum { Value = sizeof(checkType(static_cast<T*>(0))) == sizeof(yes_type) };
};
- template<typename T, bool = IsPointerToTypeDerivedFromQObject<T>::Value>
+ template<typename T>
+ struct IsGadgetHelper
+ {
+ template<typename X> static typename X::QtGadgetHelper *checkType(X*);
+ static char checkType(void*);
+ enum { Value = sizeof(checkType(static_cast<T*>(0))) == sizeof(void*) };
+ };
+
+ template<typename T, typename Enable = void>
struct MetaObjectForType
{
static inline const QMetaObject *value() { return 0; }
};
template<typename T>
- struct MetaObjectForType<T*, /* isPointerToTypeDerivedFromQObject = */ true>
+ struct MetaObjectForType<T*, typename QEnableIf<IsPointerToTypeDerivedFromQObject<T*>::Value>::Type>
+ {
+ static inline const QMetaObject *value() { return &T::staticMetaObject; }
+ };
+ template<typename T>
+ struct MetaObjectForType<T, typename QEnableIf<IsGadgetHelper<T>::Value>::Type>
{
static inline const QMetaObject *value() { return &T::staticMetaObject; }
};
@@ -1512,6 +1523,9 @@ struct QMetaTypeId2
template <typename T>
struct QMetaTypeId2<const T&> : QMetaTypeId2<T> {};
+template <typename T>
+struct QMetaTypeId2<T&> { enum {Defined = false }; };
+
namespace QtPrivate {
template <typename T, bool Defined = QMetaTypeId2<T>::Defined>
struct QMetaTypeIdHelper {
@@ -1545,6 +1559,7 @@ namespace QtPrivate {
| (IsWeakPointerToTypeDerivedFromQObject<T>::Value ? QMetaType::WeakPointerToQObject : 0)
| (IsTrackingPointerToTypeDerivedFromQObject<T>::Value ? QMetaType::TrackingPointerToQObject : 0)
| (Q_IS_ENUM(T) ? QMetaType::IsEnumeration : 0)
+ | (IsGadgetHelper<T>::Value ? QMetaType::IsGadget : 0)
};
};
@@ -1594,8 +1609,6 @@ int qRegisterNormalizedMetaType(const QT_PREPEND_NAMESPACE(QByteArray) &normaliz
flags |= QMetaType::WasDeclaredAsMetaType;
const int id = QMetaType::registerNormalizedType(normalizedTypeName,
- QtMetaTypePrivate::QMetaTypeFunctionHelper<T>::Delete,
- QtMetaTypePrivate::QMetaTypeFunctionHelper<T>::Create,
QtMetaTypePrivate::QMetaTypeFunctionHelper<T>::Destruct,
QtMetaTypePrivate::QMetaTypeFunctionHelper<T>::Construct,
int(sizeof(T)),
@@ -1964,8 +1977,8 @@ inline QMetaType::QMetaType(const ExtensionFlag extensionFlags, const QMetaTypeI
uint theTypeFlags,
int typeId,
const QMetaObject *_metaObject)
- : m_creator(creator)
- , m_deleter(deleter)
+ : m_creator_unused(creator)
+ , m_deleter_unused(deleter)
, m_saveOp(saveOp)
, m_loadOp(loadOp)
, m_constructor(constructor)
@@ -1999,16 +2012,14 @@ inline bool QMetaType::isRegistered() const
inline void *QMetaType::create(const void *copy) const
{
- if (Q_UNLIKELY(isExtended(CreateEx)))
- return createExtended(copy);
- return m_creator(copy);
+ // ### TODO Qt6 remove the extension
+ return createExtended(copy);
}
inline void QMetaType::destroy(void *data) const
{
- if (Q_UNLIKELY(isExtended(DestroyEx)))
- return destroyExtended(data);
- m_deleter(data);
+ // ### TODO Qt6 remove the extension
+ destroyExtended(data);
}
inline void *QMetaType::construct(void *where, const void *copy) const
diff --git a/src/corelib/kernel/qmetatype_p.h b/src/corelib/kernel/qmetatype_p.h
index c75d5ee792..97c0a08729 100644
--- a/src/corelib/kernel/qmetatype_p.h
+++ b/src/corelib/kernel/qmetatype_p.h
@@ -114,8 +114,6 @@ QT_FOR_EACH_STATIC_WIDGETS_CLASS(QT_DECLARE_WIDGETS_MODULE_TYPES_ITER)
class QMetaTypeInterface
{
public:
- QMetaType::Creator creator;
- QMetaType::Deleter deleter;
QMetaType::SaveOperator saveOp;
QMetaType::LoadOperator loadOp;
QMetaType::Constructor constructor;
@@ -148,8 +146,6 @@ public:
#define QT_METATYPE_INTERFACE_INIT_IMPL(Type, DATASTREAM_DELEGATE) \
{ \
- /*creator*/(QtMetaTypePrivate::QMetaTypeFunctionHelper<Type, QtMetaTypePrivate::TypeDefinition<Type>::IsAvailable>::Create), \
- /*deleter*/(QtMetaTypePrivate::QMetaTypeFunctionHelper<Type, QtMetaTypePrivate::TypeDefinition<Type>::IsAvailable>::Delete), \
DATASTREAM_DELEGATE(Type) \
/*constructor*/(QtMetaTypePrivate::QMetaTypeFunctionHelper<Type, QtMetaTypePrivate::TypeDefinition<Type>::IsAvailable>::Construct), \
/*destructor*/(QtMetaTypePrivate::QMetaTypeFunctionHelper<Type, QtMetaTypePrivate::TypeDefinition<Type>::IsAvailable>::Destruct), \
@@ -173,8 +169,6 @@ public:
#define QT_METATYPE_INTERFACE_INIT_NO_DATASTREAM(Type) QT_METATYPE_INTERFACE_INIT_IMPL(Type, QT_METATYPE_INTERFACE_INIT_EMPTY_DATASTREAM_IMPL)
#define QT_METATYPE_INTERFACE_INIT_EMPTY() \
{ \
- /*creator*/ 0, \
- /*deleter*/ 0, \
QT_METATYPE_INTERFACE_INIT_EMPTY_DATASTREAM_IMPL(void) \
/*constructor*/ 0, \
/*destructor*/ 0, \
diff --git a/src/corelib/kernel/qmimedata.cpp b/src/corelib/kernel/qmimedata.cpp
index 15fdf57747..45aec88429 100644
--- a/src/corelib/kernel/qmimedata.cpp
+++ b/src/corelib/kernel/qmimedata.cpp
@@ -286,6 +286,11 @@ QVariant QMimeDataPrivate::retrieveTypedData(const QString &format, QVariant::Ty
The \c value declaration of each format describes the way in which the
data is encoded.
+ In some cases (e.g. dropping multiple email attachments), multiple data
+ values are available. They can be accessed by adding an \c index value:
+
+ \snippet code/src_corelib_kernel_qmimedata.cpp 8
+
On Windows, the MIME format does not always map directly to the
clipboard formats. Qt provides QWinMime to map clipboard
formats to open-standard MIME formats. Similarly, the
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 492031d7fe..223de0c8e0 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -2661,8 +2661,8 @@ QMetaObject::Connection QObject::connect(const QObject *sender, const char *sign
const char *method_arg = method;
++method; // skip code
- QByteArray methodName;
QArgumentTypeArray methodTypes;
+ QByteArray methodName = QMetaObjectPrivate::decodeMethodSignature(method, methodTypes);
const QMetaObject *rmeta = receiver->metaObject();
int method_index_relative = -1;
Q_ASSERT(QMetaObjectPrivate::get(rmeta)->revision >= 7);
@@ -4093,14 +4093,16 @@ QObjectUserData* QObject::userData(uint id) const
#ifndef QT_NO_DEBUG_STREAM
-QDebug operator<<(QDebug dbg, const QObject *o) {
+QDebug operator<<(QDebug dbg, const QObject *o)
+{
+ QDebugStateSaver saver(dbg);
if (!o)
- return dbg << "QObject(0x0) ";
+ return dbg << "QObject(0x0)";
dbg.nospace() << o->metaObject()->className() << '(' << (void *)o;
if (!o->objectName().isEmpty())
dbg << ", name = " << o->objectName();
dbg << ')';
- return dbg.space();
+ return dbg;
}
#endif
diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h
index 25e43d0ca0..a495bce7ec 100644
--- a/src/corelib/kernel/qobjectdefs.h
+++ b/src/corelib/kernel/qobjectdefs.h
@@ -159,7 +159,9 @@ private: \
#define Q_GADGET \
public: \
static const QMetaObject staticMetaObject; \
-private:
+ typedef void QtGadgetHelper; \
+private: \
+ Q_DECL_HIDDEN_STATIC_METACALL static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **);
#endif // QT_NO_META_MACROS
#else // Q_MOC_RUN
diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp
index dc56ad88a1..a2cf4a7813 100644
--- a/src/corelib/kernel/qtranslator.cpp
+++ b/src/corelib/kernel/qtranslator.cpp
@@ -273,6 +273,7 @@ static uint numerusHelper(int n, const uchar *rules, uint rulesSize)
}
Q_ASSERT(false);
+ return 0;
}
class QTranslatorPrivate : public QObjectPrivate
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp
index 2ac1bb11fb..24264127d4 100644
--- a/src/corelib/kernel/qvariant.cpp
+++ b/src/corelib/kernel/qvariant.cpp
@@ -69,13 +69,18 @@
QT_BEGIN_NAMESPACE
-#ifndef DBL_DIG
-# define DBL_DIG 10
+#ifndef DBL_MANT_DIG
+# define DBL_MANT_DIG 53
#endif
-#ifndef FLT_DIG
-# define FLT_DIG 6
+#ifndef FLT_MANT_DIG
+# define FLT_MANT_DIG 24
#endif
+const int log10_2_10000 = 30103; // log10(2) * 100000
+// same as C++11 std::numeric_limits<T>::max_digits10
+const int max_digits10_double = (DBL_MANT_DIG * log10_2_10000) / 100000 + 2;
+const int max_digits10_float = (FLT_MANT_DIG * log10_2_10000) / 100000 + 2;
+
namespace {
class HandlersManager
{
@@ -215,8 +220,9 @@ static qlonglong qConvertToNumber(const QVariant::Private *d, bool *ok)
return qlonglong(qMetaTypeUNumber(d));
}
- if (QMetaType::typeFlags(d->type) & QMetaType::IsEnumeration) {
- switch (QMetaType::sizeOf(d->type)) {
+ QMetaType typeInfo(d->type);
+ if (typeInfo.flags() & QMetaType::IsEnumeration) {
+ switch (typeInfo.sizeOf()) {
case 1:
return d->is_shared ? *reinterpret_cast<signed char *>(d->data.shared->ptr) : d->data.sc;
case 2:
@@ -263,8 +269,9 @@ static qulonglong qConvertToUnsignedNumber(const QVariant::Private *d, bool *ok)
return qMetaTypeUNumber(d);
}
- if (QMetaType::typeFlags(d->type) & QMetaType::IsEnumeration) {
- switch (QMetaType::sizeOf(d->type)) {
+ QMetaType typeInfo(d->type);
+ if (typeInfo.flags() & QMetaType::IsEnumeration) {
+ switch (typeInfo.sizeOf()) {
case 1:
return d->is_shared ? *reinterpret_cast<uchar *>(d->data.shared->ptr) : d->data.uc;
case 2:
@@ -355,10 +362,10 @@ static bool convert(const QVariant::Private *d, int t, void *result, bool *ok)
*str = QString::number(qMetaTypeUNumber(d));
break;
case QMetaType::Float:
- *str = QString::number(d->data.f, 'g', FLT_DIG);
+ *str = QString::number(d->data.f, 'g', max_digits10_float);
break;
case QVariant::Double:
- *str = QString::number(d->data.d, 'g', DBL_DIG);
+ *str = QString::number(d->data.d, 'g', max_digits10_double);
break;
#if !defined(QT_NO_DATESTRING)
case QVariant::Date:
@@ -535,10 +542,10 @@ static bool convert(const QVariant::Private *d, int t, void *result, bool *ok)
*ba = v_cast<QString>(d)->toUtf8();
break;
case QVariant::Double:
- *ba = QByteArray::number(d->data.d, 'g', DBL_DIG);
+ *ba = QByteArray::number(d->data.d, 'g', max_digits10_double);
break;
case QMetaType::Float:
- *ba = QByteArray::number(d->data.f, 'g', FLT_DIG);
+ *ba = QByteArray::number(d->data.f, 'g', max_digits10_float);
break;
case QMetaType::Char:
case QMetaType::SChar:
@@ -3134,7 +3141,8 @@ bool QVariant::convert(const int type, void *ptr) const
static bool qIsNumericType(uint tp)
{
return (tp >= QVariant::Bool && tp <= QVariant::Double)
- || (tp >= QMetaType::Long && tp <= QMetaType::Float);
+ || (tp >= QMetaType::Long && tp <= QMetaType::Float)
+ || tp == QMetaType::SChar;
}
static bool qIsFloatingPoint(uint tp)
@@ -3156,8 +3164,15 @@ bool QVariant::cmp(const QVariant &v) const
else
return toLongLong() == v.toLongLong();
}
- if (!v2.canConvert(v1.d.type) || !v2.convert(v1.d.type))
- return false;
+ if (v2.canConvert(v1.d.type)) {
+ if (!v2.convert(v1.d.type))
+ return false;
+ } else {
+ // try the opposite conversion, it might work
+ qSwap(v1, v2);
+ if (!v2.convert(v1.d.type))
+ return false;
+ }
}
if (v1.d.type >= QMetaType::User) {
int result;
diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp
index 832ee250c7..7bc6d1cc47 100644
--- a/src/corelib/plugin/qlibrary.cpp
+++ b/src/corelib/plugin/qlibrary.cpp
@@ -1121,10 +1121,7 @@ QLibrary::LoadHints QLibrary::loadHints() const
/* Internal, for debugging */
bool qt_debug_component()
{
- static int debug_env = -1;
- if (debug_env == -1)
- debug_env = QT_PREPEND_NAMESPACE(qgetenv)("QT_DEBUG_PLUGINS").toInt();
-
+ static int debug_env = QT_PREPEND_NAMESPACE(qEnvironmentVariableIntValue)("QT_DEBUG_PLUGINS");
return debug_env != 0;
}
diff --git a/src/corelib/tools/qarraydata.cpp b/src/corelib/tools/qarraydata.cpp
index 98c484c1dd..dc419c3758 100644
--- a/src/corelib/tools/qarraydata.cpp
+++ b/src/corelib/tools/qarraydata.cpp
@@ -85,8 +85,20 @@ QArrayData *QArrayData::allocate(size_t objectSize, size_t alignment,
headerSize += (alignment - Q_ALIGNOF(QArrayData));
// Allocate additional space if array is growing
- if (options & Grow)
- capacity = qAllocMore(int(objectSize * capacity), int(headerSize)) / int(objectSize);
+ if (options & Grow) {
+
+ // Guard against integer overflow when multiplying.
+ if (capacity > std::numeric_limits<size_t>::max() / objectSize)
+ return 0;
+
+ size_t alloc = objectSize * capacity;
+
+ // Make sure qAllocMore won't overflow.
+ if (headerSize > size_t(MaxAllocSize) || alloc > size_t(MaxAllocSize) - headerSize)
+ return 0;
+
+ capacity = qAllocMore(int(alloc), int(headerSize)) / int(objectSize);
+ }
size_t allocSize = headerSize + objectSize * capacity;
@@ -118,7 +130,8 @@ void QArrayData::deallocate(QArrayData *data, size_t objectSize,
return;
#endif
- Q_ASSERT_X(!data->ref.isStatic(), "QArrayData::deallocate", "Static data can not be deleted");
+ Q_ASSERT_X(data == 0 || !data->ref.isStatic(), "QArrayData::deallocate",
+ "Static data can not be deleted");
::free(data);
}
diff --git a/src/corelib/tools/qarraydatapointer.h b/src/corelib/tools/qarraydatapointer.h
index f2cd3ec983..aef38bc20b 100644
--- a/src/corelib/tools/qarraydatapointer.h
+++ b/src/corelib/tools/qarraydatapointer.h
@@ -169,8 +169,10 @@ public:
private:
Data *clone(QArrayData::AllocationOptions options) const Q_REQUIRED_RESULT
{
- QArrayDataPointer copy(Data::allocate(d->detachCapacity(d->size),
- options));
+ Data *x = Data::allocate(d->detachCapacity(d->size), options);
+ Q_CHECK_PTR(x);
+ QArrayDataPointer copy(x);
+
if (d->size)
copy->copyAppend(d->begin(), d->end());
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index 6ac442d27b..26bf7d047d 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Intel Corporation.
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -38,6 +39,7 @@
#include "qlist.h"
#include "qlocale.h"
#include "qlocale_p.h"
+#include "qstringalgorithms_p.h"
#include "qscopedpointer.h"
#include <qdatastream.h>
#include <qmath.h>
@@ -54,6 +56,64 @@
QT_BEGIN_NAMESPACE
+// Latin 1 case system, used by QByteArray::to{Upper,Lower}() and qstr(n)icmp():
+/*
+#!/usr/bin/perl -l
+use feature "unicode_strings";
+for (0..255) {
+ $up = uc(chr($_));
+ $up = chr($_) if ord($up) > 0x100 || length $up > 1;
+ printf "0x%02x,", ord($up);
+ print "" if ($_ & 0xf) == 0xf;
+}
+*/
+static const uchar latin1_uppercased[256] = {
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x60,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x7b,0x7c,0x7d,0x7e,0x7f,
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xf7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xff
+};
+
+/*
+#!/usr/bin/perl -l
+use feature "unicode_strings";
+for (0..255) {
+ $up = lc(chr($_));
+ $up = chr($_) if ord($up) > 0x100 || length $up > 1;
+ printf "0x%02x,", ord($up);
+ print "" if ($_ & 0xf) == 0xf;
+}
+*/
+static const uchar latin1_lowercased[256] = {
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x40,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
+ 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xd7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xdf,
+ 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
+ 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff
+};
int qFindByteArray(
const char *haystack0, int haystackLen, int from,
@@ -63,7 +123,7 @@ int qFindByteArray(
int qAllocMore(int alloc, int extra) Q_DECL_NOTHROW
{
Q_ASSERT(alloc >= 0 && extra >= 0);
- Q_ASSERT_X(alloc < (1 << 30) - extra, "qAllocMore", "Requested size is too large!");
+ Q_ASSERT_X(alloc <= MaxAllocSize - extra, "qAllocMore", "Requested size is too large!");
unsigned nalloc = qNextPowerOfTwo(alloc + extra);
@@ -248,7 +308,7 @@ int qstricmp(const char *str1, const char *str2)
uchar c;
if (!s1 || !s2)
return s1 ? 1 : (s2 ? -1 : 0);
- for (; !(res = (c = QChar::toLower((ushort)*s1)) - QChar::toLower((ushort)*s2)); s1++, s2++)
+ for (; !(res = (c = latin1_lowercased[*s1]) - latin1_lowercased[*s2]); s1++, s2++)
if (!c) // strings are equal
break;
return res;
@@ -283,7 +343,7 @@ int qstrnicmp(const char *str1, const char *str2, uint len)
if (!s1 || !s2)
return s1 ? 1 : (s2 ? -1 : 0);
for (; len--; s1++, s2++) {
- if ((res = (c = QChar::toLower((ushort)*s1)) - QChar::toLower((ushort)*s2)))
+ if ((res = (c = latin1_lowercased[*s1]) - latin1_lowercased[*s2]))
return res;
if (!c) // strings are equal
break;
@@ -1485,8 +1545,11 @@ void QByteArray::reallocData(uint alloc, Data::AllocationOptions options)
Data::deallocate(d);
d = x;
} else {
- if (options & Data::Grow)
+ if (options & Data::Grow) {
+ if (alloc > uint(MaxAllocSize) - uint(sizeof(Data)))
+ qBadAlloc();
alloc = qAllocMore(alloc, sizeof(Data));
+ }
Data *x = static_cast<Data *>(::realloc(d, sizeof(Data) + alloc));
Q_CHECK_PTR(x);
x->alloc = alloc;
@@ -2677,6 +2740,8 @@ QByteArray QByteArray::mid(int pos, int len) const
}
/*!
+ \fn QByteArray QByteArray::toLower() const
+
Returns a lowercase copy of the byte array. The bytearray is
interpreted as a Latin-1 encoded string.
@@ -2685,21 +2750,56 @@ QByteArray QByteArray::mid(int pos, int len) const
\sa toUpper(), {8-bit Character Comparisons}
*/
-QByteArray QByteArray::toLower() const
+
+// noinline so that the compiler won't inline the function in each of
+// toLower and toUpper when the only difference is the table being used
+// (even with constant propagation, there's no gain in performance).
+template <typename T>
+#ifdef Q_CC_MSVC
+__declspec(noinline)
+#elif defined(Q_CC_GNU)
+__attribute__((noinline))
+#endif
+static QByteArray toCase_template(T &input, const uchar * table)
{
- QByteArray s(*this);
- uchar *p = reinterpret_cast<uchar *>(s.data());
- uchar *e = reinterpret_cast<uchar *>(s.end());
- if (p) {
- while (p != e) {
- *p = QChar::toLower((ushort)*p);
- p++;
- }
+ // find the first bad character in input
+ const char *orig_begin = input.constBegin();
+ const char *firstBad = orig_begin;
+ const char *e = input.constEnd();
+ for ( ; firstBad != e ; ++firstBad) {
+ uchar ch = uchar(*firstBad);
+ uchar converted = table[ch];
+ if (ch != converted)
+ break;
+ }
+
+ if (firstBad == e)
+ return qMove(input);
+
+ // transform the rest
+ QByteArray s = qMove(input); // will copy if T is const QByteArray
+ char *b = s.begin(); // will detach if necessary
+ char *p = b + (firstBad - orig_begin);
+ e = b + s.size();
+ for ( ; p != e; ++p) {
+ *p = char(uchar(table[uchar(*p)]));
}
return s;
}
+QByteArray QByteArray::toLower_helper(const QByteArray &a)
+{
+ return toCase_template(a, latin1_lowercased);
+}
+
+QByteArray QByteArray::toLower_helper(QByteArray &a)
+{
+ return toCase_template(a, latin1_lowercased);
+}
+
/*!
+ \fn QByteArray QByteArray::toUpper() const
+
Returns an uppercase copy of the byte array. The bytearray is
interpreted as a Latin-1 encoded string.
@@ -2709,18 +2809,14 @@ QByteArray QByteArray::toLower() const
\sa toLower(), {8-bit Character Comparisons}
*/
-QByteArray QByteArray::toUpper() const
+QByteArray QByteArray::toUpper_helper(const QByteArray &a)
{
- QByteArray s(*this);
- uchar *p = reinterpret_cast<uchar *>(s.data());
- uchar *e = reinterpret_cast<uchar *>(s.end());
- if (p) {
- while (p != e) {
- *p = QChar::toUpper((ushort)*p);
- p++;
- }
- }
- return s;
+ return toCase_template(a, latin1_uppercased);
+}
+
+QByteArray QByteArray::toUpper_helper(QByteArray &a)
+{
+ return toCase_template(a, latin1_uppercased);
}
/*! \fn void QByteArray::clear()
@@ -3100,6 +3196,8 @@ QDataStream &operator>>(QDataStream &in, QByteArray &ba)
*/
/*!
+ \fn QByteArray QByteArray::simplified() const
+
Returns a byte array that has whitespace removed from the start
and the end, and which has each sequence of internal whitespace
replaced with a single space.
@@ -3114,32 +3212,19 @@ QDataStream &operator>>(QDataStream &in, QByteArray &ba)
\sa trimmed()
*/
-QByteArray QByteArray::simplified() const
+QByteArray QByteArray::simplified_helper(const QByteArray &a)
{
- if (d->size == 0)
- return *this;
- QByteArray result(d->size, Qt::Uninitialized);
- const char *from = d->data();
- const char *fromend = from + d->size;
- int outc=0;
- char *to = result.d->data();
- for (;;) {
- while (from!=fromend && ascii_isspace(uchar(*from)))
- from++;
- while (from!=fromend && !ascii_isspace(uchar(*from)))
- to[outc++] = *from++;
- if (from!=fromend)
- to[outc++] = ' ';
- else
- break;
- }
- if (outc > 0 && to[outc-1] == ' ')
- outc--;
- result.resize(outc);
- return result;
+ return QStringAlgorithms<const QByteArray>::simplified_helper(a);
+}
+
+QByteArray QByteArray::simplified_helper(QByteArray &a)
+{
+ return QStringAlgorithms<QByteArray>::simplified_helper(a);
}
/*!
+ \fn QByteArray QByteArray::trimmed() const
+
Returns a byte array that has whitespace removed from the start
and the end.
@@ -3154,29 +3239,17 @@ QByteArray QByteArray::simplified() const
\sa simplified()
*/
-QByteArray QByteArray::trimmed() const
+QByteArray QByteArray::trimmed_helper(const QByteArray &a)
{
- if (d->size == 0)
- return *this;
- const char *s = d->data();
- if (!ascii_isspace(uchar(*s)) && !ascii_isspace(uchar(s[d->size-1])))
- return *this;
- int start = 0;
- int end = d->size - 1;
- while (start<=end && ascii_isspace(uchar(s[start]))) // skip white space from start
- start++;
- if (start <= end) { // only white space
- while (end && ascii_isspace(uchar(s[end]))) // skip white space from end
- end--;
- }
- int l = end - start + 1;
- if (l <= 0) {
- QByteArrayDataPtr empty = { Data::allocate(0) };
- return QByteArray(empty);
- }
- return QByteArray(s+start, l);
+ return QStringAlgorithms<const QByteArray>::trimmed_helper(a);
+}
+
+QByteArray QByteArray::trimmed_helper(QByteArray &a)
+{
+ return QStringAlgorithms<QByteArray>::trimmed_helper(a);
}
+
/*!
Returns a byte array of size \a width that contains this byte
array padded by the \a fill character.
diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h
index f13b1c16cd..6976124bca 100644
--- a/src/corelib/tools/qbytearray.h
+++ b/src/corelib/tools/qbytearray.h
@@ -256,11 +256,40 @@ public:
void truncate(int pos);
void chop(int n);
+#if defined(Q_COMPILER_REF_QUALIFIERS) && !defined(QT_COMPILING_QSTRING_COMPAT_CPP)
+# if defined(Q_CC_GNU)
+ // required due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61941
+# pragma push_macro("Q_REQUIRED_RESULT")
+# undef Q_REQUIRED_RESULT
+# define Q_REQUIRED_RESULT
+# define Q_REQUIRED_RESULT_pushed
+# endif
+ QByteArray toLower() const & Q_REQUIRED_RESULT
+ { return toLower_helper(*this); }
+ QByteArray toLower() && Q_REQUIRED_RESULT
+ { return toLower_helper(*this); }
+ QByteArray toUpper() const & Q_REQUIRED_RESULT
+ { return toUpper_helper(*this); }
+ QByteArray toUpper() && Q_REQUIRED_RESULT
+ { return toUpper_helper(*this); }
+ QByteArray trimmed() const & Q_REQUIRED_RESULT
+ { return trimmed_helper(*this); }
+ QByteArray trimmed() && Q_REQUIRED_RESULT
+ { return trimmed_helper(*this); }
+ QByteArray simplified() const & Q_REQUIRED_RESULT
+ { return simplified_helper(*this); }
+ QByteArray simplified() && Q_REQUIRED_RESULT
+ { return simplified_helper(*this); }
+# ifdef Q_REQUIRED_RESULT_pushed
+# pragma pop_macro("Q_REQUIRED_RESULT")
+# endif
+#else
QByteArray toLower() const Q_REQUIRED_RESULT;
QByteArray toUpper() const Q_REQUIRED_RESULT;
-
QByteArray trimmed() const Q_REQUIRED_RESULT;
QByteArray simplified() const Q_REQUIRED_RESULT;
+#endif
+
QByteArray leftJustified(int width, char fill = ' ', bool truncate = false) const Q_REQUIRED_RESULT;
QByteArray rightJustified(int width, char fill = ' ', bool truncate = false) const Q_REQUIRED_RESULT;
@@ -414,6 +443,15 @@ private:
void expand(int i);
QByteArray nulTerminated() const;
+ static QByteArray toLower_helper(const QByteArray &a);
+ static QByteArray toLower_helper(QByteArray &a);
+ static QByteArray toUpper_helper(const QByteArray &a);
+ static QByteArray toUpper_helper(QByteArray &a);
+ static QByteArray trimmed_helper(const QByteArray &a);
+ static QByteArray trimmed_helper(QByteArray &a);
+ static QByteArray simplified_helper(const QByteArray &a);
+ static QByteArray simplified_helper(QByteArray &a);
+
friend class QByteRef;
friend class QString;
friend Q_CORE_EXPORT QByteArray qUncompress(const uchar *data, int nbytes);
diff --git a/src/corelib/tools/qchar.h b/src/corelib/tools/qchar.h
index 4db09e0f82..dcbe3fb0c2 100644
--- a/src/corelib/tools/qchar.h
+++ b/src/corelib/tools/qchar.h
@@ -83,8 +83,10 @@ public:
#ifndef QT_NO_CAST_FROM_ASCII
QT_ASCII_CAST_WARN Q_DECL_CONSTEXPR explicit QChar(char c) : ucs(uchar(c)) { }
+#ifndef QT_RESTRICTED_CAST_FROM_ASCII
QT_ASCII_CAST_WARN Q_DECL_CONSTEXPR explicit QChar(uchar c) : ucs(c) { }
#endif
+#endif
// Unicode information
enum Category
diff --git a/src/corelib/tools/qcommandlineparser.cpp b/src/corelib/tools/qcommandlineparser.cpp
index c3edba0514..2fe957d873 100644
--- a/src/corelib/tools/qcommandlineparser.cpp
+++ b/src/corelib/tools/qcommandlineparser.cpp
@@ -37,6 +37,10 @@
#include <qcoreapplication.h>
#include <qhash.h>
#include <qvector.h>
+#include <qdebug.h>
+#if defined(Q_OS_WIN) && !defined(QT_BOOTSTRAPPED) && !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
+# include <qt_windows.h>
+#endif
#include <stdio.h>
#include <stdlib.h>
@@ -209,7 +213,10 @@ QStringList QCommandLineParserPrivate::aliases(const QString &optionName) const
platforms. These applications may not use the standard output or error channels
since the output is either discarded or not accessible.
- For such GUI applications, it is recommended to display help texts and error messages
+ On Windows, QCommandLineParser uses message boxes to display usage information
+ and errors if no console window can be obtained.
+
+ For other platforms, it is recommended to display help texts and error messages
using a QMessageBox. To preserve the formatting of the help text, rich text
with \c <pre> elements should be used:
@@ -219,36 +226,20 @@ QStringList QCommandLineParserPrivate::aliases(const QString &optionName) const
case CommandLineOk:
break;
case CommandLineError:
-#ifdef Q_OS_WIN
QMessageBox::warning(0, QGuiApplication::applicationDisplayName(),
"<html><head/><body><h2>" + errorMessage + "</h2><pre>"
+ parser.helpText() + "</pre></body></html>");
-#else
- fputs(qPrintable(errorMessage), stderr);
- fputs("\n\n", stderr);
- fputs(qPrintable(parser.helpText()), stderr);
-#endif
return 1;
case CommandLineVersionRequested:
-#ifdef Q_OS_WIN
QMessageBox::information(0, QGuiApplication::applicationDisplayName(),
QGuiApplication::applicationDisplayName() + ' '
+ QCoreApplication::applicationVersion());
-#else
- printf("%s %s\n", QGuiApplication::applicationDisplayName(),
- qPrintable(QCoreApplication::applicationVersion()));
-#endif
return 0;
case CommandLineHelpRequested:
-#ifdef Q_OS_WIN
QMessageBox::warning(0, QGuiApplication::applicationDisplayName(),
"<html><head/><body><pre>"
+ parser.helpText() + "</pre></body></html>");
return 0;
-#else
- parser.showHelp();
- Q_UNREACHABLE();
-#endif
}
\endcode
@@ -489,6 +480,41 @@ QString QCommandLineParser::errorText() const
return QString();
}
+enum MessageType { UsageMessage, ErrorMessage };
+
+#if defined(Q_OS_WIN) && !defined(QT_BOOTSTRAPPED) && !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
+// Return whether to use a message box. Use handles if a console can be obtained
+// or we are run with redirected handles (for example, by QProcess).
+static inline bool displayMessageBox()
+{
+ if (GetConsoleWindow())
+ return false;
+ STARTUPINFO startupInfo;
+ startupInfo.cb = sizeof(STARTUPINFO);
+ GetStartupInfo(&startupInfo);
+ return !(startupInfo.dwFlags & STARTF_USESTDHANDLES);
+}
+#endif // Q_OS_WIN && !QT_BOOTSTRAPPED && !Q_OS_WIN && !Q_OS_WINRT
+
+static void showParserMessage(const QString &message, MessageType type)
+{
+#if defined(Q_OS_WIN) && !defined(QT_BOOTSTRAPPED) && !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
+ if (displayMessageBox()) {
+ const UINT flags = MB_OK | MB_TOPMOST | MB_SETFOREGROUND
+ | (type == UsageMessage ? MB_ICONINFORMATION : MB_ICONERROR);
+ QString title;
+ if (QCoreApplication::instance())
+ title = QCoreApplication::instance()->property("applicationDisplayName").toString();
+ if (title.isEmpty())
+ title = QCoreApplication::applicationName();
+ MessageBoxW(0, reinterpret_cast<const wchar_t *>(message.utf16()),
+ reinterpret_cast<const wchar_t *>(title.utf16()), flags);
+ return;
+ }
+#endif // Q_OS_WIN && !QT_BOOTSTRAPPED && !Q_OS_WIN && !Q_OS_WINRT
+ fputs(qPrintable(message), type == UsageMessage ? stdout : stderr);
+}
+
/*!
Processes the command line \a arguments.
@@ -505,7 +531,7 @@ QString QCommandLineParser::errorText() const
void QCommandLineParser::process(const QStringList &arguments)
{
if (!d->parse(arguments)) {
- fprintf(stderr, "%s\n", qPrintable(errorText()));
+ showParserMessage(errorText() + QLatin1Char('\n'), ErrorMessage);
::exit(EXIT_FAILURE);
}
@@ -911,7 +937,9 @@ QStringList QCommandLineParser::unknownOptionNames() const
*/
Q_NORETURN void QCommandLineParser::showVersion()
{
- fprintf(stdout, "%s %s\n", qPrintable(QCoreApplication::applicationName()), qPrintable(QCoreApplication::applicationVersion()));
+ showParserMessage(QCoreApplication::applicationName() + QLatin1Char(' ')
+ + QCoreApplication::applicationVersion() + QLatin1Char('\n'),
+ UsageMessage);
::exit(EXIT_SUCCESS);
}
@@ -928,7 +956,7 @@ Q_NORETURN void QCommandLineParser::showVersion()
*/
Q_NORETURN void QCommandLineParser::showHelp(int exitCode)
{
- fprintf(stdout, "%s", qPrintable(d->helpText()));
+ showParserMessage(d->helpText(), UsageMessage);
::exit(exitCode);
}
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp
index f0f6a56755..69d4bd7d99 100644
--- a/src/corelib/tools/qdatetime.cpp
+++ b/src/corelib/tools/qdatetime.cpp
@@ -249,7 +249,7 @@ static QString toOffsetString(Qt::DateFormat format, int offset)
}
// Parse offset in [+-]HH[:]MM format
-static int fromOffsetString(const QString &offsetString, bool *valid)
+static int fromOffsetString(const QStringRef &offsetString, bool *valid)
{
*valid = false;
@@ -270,15 +270,15 @@ static int fromOffsetString(const QString &offsetString, bool *valid)
return 0;
// Split the hour and minute parts
- QStringList parts = offsetString.mid(1).split(QLatin1Char(':'));
+ QVector<QStringRef> parts = offsetString.mid(1).split(QLatin1Char(':'));
if (parts.count() == 1) {
// [+-]HHMM format
- parts.append(parts.at(0).mid(2));
- parts[0] = parts.at(0).left(2);
+ parts.append(parts.first().mid(2));
+ parts[0] = parts.first().left(2);
}
bool ok = false;
- const int hour = parts.at(0).toInt(&ok);
+ const int hour = parts.first().toInt(&ok);
if (!ok)
return 0;
@@ -898,18 +898,18 @@ QString QDate::toString(Qt::DateFormat format) const
#ifndef QT_NO_TEXTDATE
case Qt::TextDate:
getDateFromJulianDay(jd, &y, &m, &d);
- return QString::fromUtf8("%1 %2 %3 %4").arg(shortDayName(dayOfWeek()))
- .arg(shortMonthName(m))
- .arg(d)
- .arg(y);
+ return QString::fromLatin1("%1 %2 %3 %4").arg(shortDayName(dayOfWeek()))
+ .arg(shortMonthName(m))
+ .arg(d)
+ .arg(y);
#endif
case Qt::ISODate:
getDateFromJulianDay(jd, &y, &m, &d);
if (y < 0 || y > 9999)
return QString();
- return QString::fromUtf8("%1-%2-%3").arg(y, 4, 10, QLatin1Char('0'))
- .arg(m, 2, 10, QLatin1Char('0'))
- .arg(d, 2, 10, QLatin1Char('0'));
+ return QString::fromLatin1("%1-%2-%3").arg(y, 4, 10, QLatin1Char('0'))
+ .arg(m, 2, 10, QLatin1Char('0'))
+ .arg(d, 2, 10, QLatin1Char('0'));
}
}
@@ -1247,12 +1247,12 @@ QDate QDate::fromString(const QString& string, Qt::DateFormat format)
default:
#ifndef QT_NO_TEXTDATE
case Qt::TextDate: {
- QStringList parts = string.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ QVector<QStringRef> parts = string.splitRef(QLatin1Char(' '), QString::SkipEmptyParts);
if (parts.count() != 4)
return QDate();
- QString monthName = parts.at(1);
+ QStringRef monthName = parts.at(1);
int month = -1;
// Assume that English monthnames are the default
for (int i = 0; i < 12; ++i) {
@@ -1288,10 +1288,10 @@ QDate QDate::fromString(const QString& string, Qt::DateFormat format)
|| (string.size() > 10 && string.at(10).isDigit())) {
return QDate();
}
- const int year = string.mid(0, 4).toInt();
+ const int year = string.midRef(0, 4).toInt();
if (year <= 0 || year > 9999)
return QDate();
- return QDate(year, string.mid(5, 2).toInt(), string.mid(8, 2).toInt());
+ return QDate(year, string.midRef(5, 2).toInt(), string.midRef(8, 2).toInt());
}
}
return QDate();
@@ -1649,9 +1649,9 @@ QString QTime::toString(Qt::DateFormat format) const
case Qt::ISODate:
case Qt::TextDate:
default:
- return QString::fromUtf8("%1:%2:%3").arg(hour(), 2, 10, QLatin1Char('0'))
- .arg(minute(), 2, 10, QLatin1Char('0'))
- .arg(second(), 2, 10, QLatin1Char('0'));
+ return QString::fromLatin1("%1:%2:%3").arg(hour(), 2, 10, QLatin1Char('0'))
+ .arg(minute(), 2, 10, QLatin1Char('0'))
+ .arg(second(), 2, 10, QLatin1Char('0'));
}
}
@@ -3596,11 +3596,11 @@ QString QDateTime::toString(Qt::DateFormat format) const
QTime tm;
d->getDateTime(&dt, &tm);
//We cant use date.toString(Qt::TextDate) as we need to insert the time before the year
- buf = QString::fromUtf8("%1 %2 %3 %4 %5").arg(dt.shortDayName(dt.dayOfWeek()))
- .arg(dt.shortMonthName(dt.month()))
- .arg(dt.day())
- .arg(tm.toString(Qt::TextDate))
- .arg(dt.year());
+ buf = QString::fromLatin1("%1 %2 %3 %4 %5").arg(dt.shortDayName(dt.dayOfWeek()))
+ .arg(dt.shortMonthName(dt.month()))
+ .arg(dt.day())
+ .arg(tm.toString(Qt::TextDate))
+ .arg(dt.year());
if (timeSpec() != Qt::LocalTime) {
buf += QStringLiteral(" GMT");
if (d->m_spec == Qt::OffsetFromUTC)
@@ -4197,6 +4197,39 @@ qint64 QDateTime::currentMSecsSinceEpoch() Q_DECL_NOTHROW
#error "What system is this?"
#endif
+/*! \fn QDateTime QDateTime::fromCFDate(CFDateRef date)
+ \since 5.5
+
+ Constructs a new QDateTime containing a copy of the CFDate \a date.
+
+ \sa toCFDate()
+*/
+
+/*! \fn CFDateRef QDateTime::toCFDate() const
+ \since 5.5
+
+ Creates a CFDate from a QDateTime. The caller owns the CFDate object
+ and is responsible for releasing it.
+
+ \sa fromCFDate()
+*/
+
+/*! \fn QDateTime QDateTime::fromNSDate(const NSDate *date)
+ \since 5.5
+
+ Constructs a new QDateTime containing a copy of the NSDate \a date.
+
+ \sa toNSDate()
+*/
+
+/*! \fn NSDate QDateTime::toNSDate() const
+ \since 5.5
+
+ Creates an NSDate from a QDateTime. The NSDate object is autoreleased.
+
+ \sa fromNSDate()
+*/
+
/*!
\since 4.2
@@ -4351,7 +4384,7 @@ int QDateTime::utcOffset() const
#ifndef QT_NO_DATESTRING
-static int fromShortMonthName(const QString &monthName)
+static int fromShortMonthName(const QStringRef &monthName)
{
// Assume that English monthnames are the default
for (int i = 0; i < 12; ++i) {
@@ -4443,7 +4476,7 @@ QDateTime QDateTime::fromString(const QString& string, Qt::DateFormat format)
if (found) {
bool ok;
- offset = fromOffsetString(isoString.mid(signIndex).toString(), &ok);
+ offset = fromOffsetString(isoString.mid(signIndex), &ok);
if (!ok)
return QDateTime();
isoString = isoString.left(signIndex);
@@ -4463,7 +4496,7 @@ QDateTime QDateTime::fromString(const QString& string, Qt::DateFormat format)
}
#if !defined(QT_NO_TEXTDATE)
case Qt::TextDate: {
- QStringList parts = string.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ QVector<QStringRef> parts = string.splitRef(QLatin1Char(' '), QString::SkipEmptyParts);
if ((parts.count() < 5) || (parts.count() > 6))
return QDateTime();
@@ -4482,9 +4515,9 @@ QDateTime QDateTime::fromString(const QString& string, Qt::DateFormat format)
if (!month || !day) {
month = fromShortMonthName(parts.at(2));
if (month) {
- QString dayStr = parts.at(1);
+ QStringRef dayStr = parts.at(1);
if (dayStr.endsWith(QLatin1Char('.'))) {
- dayStr.chop(1);
+ dayStr = dayStr.left(dayStr.size() - 1);
day = dayStr.toInt();
}
}
@@ -4517,7 +4550,7 @@ QDateTime QDateTime::fromString(const QString& string, Qt::DateFormat format)
if (!date.isValid())
return QDateTime();
- QStringList timeParts = parts.at(timePart).split(QLatin1Char(':'));
+ QVector<QStringRef> timeParts = parts.at(timePart).split(QLatin1Char(':'));
if (timeParts.count() < 2 || timeParts.count() > 3)
return QDateTime();
@@ -4532,7 +4565,7 @@ QDateTime QDateTime::fromString(const QString& string, Qt::DateFormat format)
int second = 0;
int millisecond = 0;
if (timeParts.count() > 2) {
- QStringList secondParts = timeParts.at(2).split(QLatin1Char('.'));
+ QVector<QStringRef> secondParts = timeParts.at(2).split(QLatin1Char('.'));
if (secondParts.size() > 2) {
return QDateTime();
}
@@ -4557,10 +4590,10 @@ QDateTime QDateTime::fromString(const QString& string, Qt::DateFormat format)
if (parts.count() == 5)
return QDateTime(date, time, Qt::LocalTime);
- QString tz = parts.at(5);
+ QStringRef tz = parts.at(5);
if (!tz.startsWith(QLatin1String("GMT"), Qt::CaseInsensitive))
return QDateTime();
- tz.remove(0, 3);
+ tz = tz.mid(3);
if (!tz.isEmpty()) {
int offset = fromOffsetString(tz, &ok);
if (!ok)
@@ -4987,7 +5020,7 @@ QDebug operator<<(QDebug dbg, const QDateTime &date)
spec = QStringLiteral(" Qt::UTC");
break;
case Qt::OffsetFromUTC:
- spec = QString::fromUtf8(" Qt::OffsetFromUTC %1s").arg(date.offsetFromUtc());
+ spec = QString::fromLatin1(" Qt::OffsetFromUTC %1s").arg(date.offsetFromUtc());
break;
case Qt::TimeZone:
#ifndef QT_BOOTSTRAPPED
diff --git a/src/corelib/tools/qdatetime.h b/src/corelib/tools/qdatetime.h
index a75d7d9bc8..5bcd01a587 100644
--- a/src/corelib/tools/qdatetime.h
+++ b/src/corelib/tools/qdatetime.h
@@ -40,6 +40,13 @@
#include <limits>
+#ifdef Q_OS_MAC
+Q_FORWARD_DECLARE_CF_TYPE(CFDate);
+# ifdef __OBJC__
+Q_FORWARD_DECLARE_OBJC_CLASS(NSDate);
+# endif
+#endif
+
QT_BEGIN_NAMESPACE
class QTimeZone;
@@ -296,6 +303,15 @@ public:
#endif
static qint64 currentMSecsSinceEpoch() Q_DECL_NOTHROW;
+#if defined(Q_OS_MAC) || defined(Q_QDOC)
+ static QDateTime fromCFDate(CFDateRef date);
+ CFDateRef toCFDate() const Q_DECL_CF_RETURNS_RETAINED;
+# if defined(__OBJC__) || defined(Q_QDOC)
+ static QDateTime fromNSDate(const NSDate *date);
+ NSDate *toNSDate() const Q_DECL_NS_RETURNS_AUTORELEASED;
+# endif
+#endif
+
private:
friend class QDateTimePrivate;
void detach();
diff --git a/src/corelib/tools/qdatetime_mac.mm b/src/corelib/tools/qdatetime_mac.mm
new file mode 100644
index 0000000000..c8a1d22928
--- /dev/null
+++ b/src/corelib/tools/qdatetime_mac.mm
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Petroules Corporation.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qdatetime.h"
+
+#import <Foundation/Foundation.h>
+
+QT_BEGIN_NAMESPACE
+
+QDateTime QDateTime::fromCFDate(CFDateRef date)
+{
+ if (!date)
+ return QDateTime();
+ return QDateTime::fromMSecsSinceEpoch(static_cast<qint64>((CFDateGetAbsoluteTime(date)
+ + kCFAbsoluteTimeIntervalSince1970) * 1000));
+}
+
+CFDateRef QDateTime::toCFDate() const
+{
+ return CFDateCreate(kCFAllocatorDefault, (static_cast<CFAbsoluteTime>(toMSecsSinceEpoch())
+ / 1000) - kCFAbsoluteTimeIntervalSince1970);
+}
+
+QDateTime QDateTime::fromNSDate(const NSDate *date)
+{
+ if (!date)
+ return QDateTime();
+ return QDateTime::fromMSecsSinceEpoch(static_cast<qint64>([date timeIntervalSince1970] * 1000));
+}
+
+NSDate *QDateTime::toNSDate() const
+{
+ return [NSDate
+ dateWithTimeIntervalSince1970:static_cast<NSTimeInterval>(toMSecsSinceEpoch()) / 1000];
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/tools/qdatetime_p.h b/src/corelib/tools/qdatetime_p.h
index 78484f30ed..7c7f7f2a6a 100644
--- a/src/corelib/tools/qdatetime_p.h
+++ b/src/corelib/tools/qdatetime_p.h
@@ -111,6 +111,9 @@ public:
m_status(other.m_status)
{}
+ // ### XXX: when the tooling situation improves, look at fixing the padding.
+ // 4 bytes padding
+
qint64 m_msecs;
Qt::TimeSpec m_spec;
int m_offsetFromUtc;
diff --git a/src/corelib/tools/qeasingcurve.cpp b/src/corelib/tools/qeasingcurve.cpp
index a3dd4d9a60..f7bf6ed28b 100644
--- a/src/corelib/tools/qeasingcurve.cpp
+++ b/src/corelib/tools/qeasingcurve.cpp
@@ -347,9 +347,7 @@ typedef QVector<TCBPoint> TCBPoints;
class QEasingCurveFunction
{
public:
- enum Type { In, Out, InOut, OutIn };
-
- QEasingCurveFunction(QEasingCurveFunction::Type type = In, qreal period = 0.3, qreal amplitude = 1.0,
+ QEasingCurveFunction(QEasingCurve::Type type, qreal period = 0.3, qreal amplitude = 1.0,
qreal overshoot = 1.70158)
: _t(type), _p(period), _a(amplitude), _o(overshoot)
{ }
@@ -358,7 +356,7 @@ public:
virtual QEasingCurveFunction *copy() const;
bool operator==(const QEasingCurveFunction &other) const;
- Type _t;
+ QEasingCurve::Type _t;
qreal _p;
qreal _a;
qreal _o;
@@ -367,9 +365,12 @@ public:
};
+static QEasingCurve::EasingFunction curveToFunc(QEasingCurve::Type curve);
+
qreal QEasingCurveFunction::value(qreal t)
{
- return t;
+ QEasingCurve::EasingFunction func = curveToFunc(_t);
+ return func(t);
}
QEasingCurveFunction *QEasingCurveFunction::copy() const
@@ -430,8 +431,8 @@ struct BezierEase : public QEasingCurveFunction
bool _init;
bool _valid;
- BezierEase()
- : QEasingCurveFunction(InOut), _curves(10), _intervals(10), _init(false), _valid(false)
+ BezierEase(QEasingCurve::Type type = QEasingCurve::BezierSpline)
+ : QEasingCurveFunction(type), _curves(10), _intervals(10), _init(false), _valid(false)
{ }
void init()
@@ -814,6 +815,10 @@ struct BezierEase : public QEasingCurveFunction
struct TCBEase : public BezierEase
{
+ TCBEase()
+ : BezierEase(QEasingCurve::TCBSpline)
+ { }
+
qreal value(qreal x)
{
Q_ASSERT(_bezierCurves.count() % 3 == 0);
@@ -830,7 +835,7 @@ struct TCBEase : public BezierEase
struct ElasticEase : public QEasingCurveFunction
{
- ElasticEase(Type type)
+ ElasticEase(QEasingCurve::Type type)
: QEasingCurveFunction(type, qreal(0.3), qreal(1.0))
{ }
@@ -849,13 +854,13 @@ struct ElasticEase : public QEasingCurveFunction
qreal p = (_p < 0) ? qreal(0.3) : _p;
qreal a = (_a < 0) ? qreal(1.0) : _a;
switch(_t) {
- case In:
+ case QEasingCurve::InElastic:
return easeInElastic(t, a, p);
- case Out:
+ case QEasingCurve::OutElastic:
return easeOutElastic(t, a, p);
- case InOut:
+ case QEasingCurve::InOutElastic:
return easeInOutElastic(t, a, p);
- case OutIn:
+ case QEasingCurve::OutInElastic:
return easeOutInElastic(t, a, p);
default:
return t;
@@ -865,7 +870,7 @@ struct ElasticEase : public QEasingCurveFunction
struct BounceEase : public QEasingCurveFunction
{
- BounceEase(Type type)
+ BounceEase(QEasingCurve::Type type)
: QEasingCurveFunction(type, qreal(0.3), qreal(1.0))
{ }
@@ -882,13 +887,13 @@ struct BounceEase : public QEasingCurveFunction
{
qreal a = (_a < 0) ? qreal(1.0) : _a;
switch(_t) {
- case In:
+ case QEasingCurve::InBounce:
return easeInBounce(t, a);
- case Out:
+ case QEasingCurve::OutBounce:
return easeOutBounce(t, a);
- case InOut:
+ case QEasingCurve::InOutBounce:
return easeInOutBounce(t, a);
- case OutIn:
+ case QEasingCurve::OutInBounce:
return easeOutInBounce(t, a);
default:
return t;
@@ -898,7 +903,7 @@ struct BounceEase : public QEasingCurveFunction
struct BackEase : public QEasingCurveFunction
{
- BackEase(Type type)
+ BackEase(QEasingCurve::Type type)
: QEasingCurveFunction(type, qreal(0.3), qreal(1.0), qreal(1.70158))
{ }
@@ -915,13 +920,13 @@ struct BackEase : public QEasingCurveFunction
{
qreal o = (_o < 0) ? qreal(1.70158) : _o;
switch(_t) {
- case In:
+ case QEasingCurve::InBack:
return easeInBack(t, o);
- case Out:
+ case QEasingCurve::OutBack:
return easeOutBack(t, o);
- case InOut:
+ case QEasingCurve::InOutBack:
return easeInOutBack(t, o);
- case OutIn:
+ case QEasingCurve::OutInBack:
return easeOutInBack(t, o);
default:
return t;
@@ -1006,55 +1011,31 @@ static QEasingCurve::EasingFunction curveToFunc(QEasingCurve::Type curve)
static QEasingCurveFunction *curveToFunctionObject(QEasingCurve::Type type)
{
- QEasingCurveFunction *curveFunc = 0;
switch(type) {
case QEasingCurve::InElastic:
- curveFunc = new ElasticEase(ElasticEase::In);
- break;
case QEasingCurve::OutElastic:
- curveFunc = new ElasticEase(ElasticEase::Out);
- break;
case QEasingCurve::InOutElastic:
- curveFunc = new ElasticEase(ElasticEase::InOut);
- break;
case QEasingCurve::OutInElastic:
- curveFunc = new ElasticEase(ElasticEase::OutIn);
- break;
+ return new ElasticEase(type);
case QEasingCurve::OutBounce:
- curveFunc = new BounceEase(BounceEase::Out);
- break;
case QEasingCurve::InBounce:
- curveFunc = new BounceEase(BounceEase::In);
- break;
case QEasingCurve::OutInBounce:
- curveFunc = new BounceEase(BounceEase::OutIn);
- break;
case QEasingCurve::InOutBounce:
- curveFunc = new BounceEase(BounceEase::InOut);
- break;
+ return new BounceEase(type);
case QEasingCurve::InBack:
- curveFunc = new BackEase(BackEase::In);
- break;
case QEasingCurve::OutBack:
- curveFunc = new BackEase(BackEase::Out);
- break;
case QEasingCurve::InOutBack:
- curveFunc = new BackEase(BackEase::InOut);
- break;
case QEasingCurve::OutInBack:
- curveFunc = new BackEase(BackEase::OutIn);
- break;
+ return new BackEase(type);
case QEasingCurve::BezierSpline:
- curveFunc = new BezierEase();
- break;
+ return new BezierEase;
case QEasingCurve::TCBSpline:
- curveFunc = new TCBEase();
- break;
+ return new TCBEase;
default:
- curveFunc = new QEasingCurveFunction(QEasingCurveFunction::In, qreal(0.3), qreal(1.0), qreal(1.70158));
+ return new QEasingCurveFunction(type, qreal(0.3), qreal(1.0), qreal(1.70158));
}
- return curveFunc;
+ return 0;
}
/*!
diff --git a/src/corelib/tools/qelapsedtimer_unix.cpp b/src/corelib/tools/qelapsedtimer_unix.cpp
index 9dd5df0266..61bd7f1f21 100644
--- a/src/corelib/tools/qelapsedtimer_unix.cpp
+++ b/src/corelib/tools/qelapsedtimer_unix.cpp
@@ -155,11 +155,6 @@ static int unixCheckClockType()
#endif
}
-static inline qint64 fractionAdjustment()
-{
- return 1000*1000ull;
-}
-
bool QElapsedTimer::isMonotonic() Q_DECL_NOTHROW
{
return clockType() == MonotonicClock;
@@ -211,7 +206,7 @@ static qint64 elapsedAndRestart(qint64 sec, qint64 frac,
do_gettime(nowsec, nowfrac);
sec = *nowsec - sec;
frac = *nowfrac - frac;
- return sec * Q_INT64_C(1000) + frac / fractionAdjustment();
+ return (sec * Q_INT64_C(1000000000) + frac) / Q_INT64_C(1000000);
}
void QElapsedTimer::start() Q_DECL_NOTHROW
@@ -235,20 +230,19 @@ qint64 QElapsedTimer::nsecsElapsed() const Q_DECL_NOTHROW
qint64 QElapsedTimer::elapsed() const Q_DECL_NOTHROW
{
- qint64 sec, frac;
- return elapsedAndRestart(t1, t2, &sec, &frac);
+ return nsecsElapsed() / Q_INT64_C(1000000);
}
qint64 QElapsedTimer::msecsSinceReference() const Q_DECL_NOTHROW
{
- return t1 * Q_INT64_C(1000) + t2 / fractionAdjustment();
+ return t1 * Q_INT64_C(1000) + t2 / Q_INT64_C(1000000);
}
qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const Q_DECL_NOTHROW
{
qint64 secs = other.t1 - t1;
qint64 fraction = other.t2 - t2;
- return secs * Q_INT64_C(1000) + fraction / fractionAdjustment();
+ return (secs * Q_INT64_C(1000000000) + fraction) / Q_INT64_C(1000000);
}
qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const Q_DECL_NOTHROW
diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp
index fe8c52d103..0f741a2f7e 100644
--- a/src/corelib/tools/qhash.cpp
+++ b/src/corelib/tools/qhash.cpp
@@ -259,9 +259,7 @@ static uint qt_create_qhash_seed()
quintptr seedPtr = reinterpret_cast<quintptr>(&seed);
seed ^= seedPtr;
-#if QT_POINTER_SIZE == 8
- seed ^= (seedPtr >> 32);
-#endif
+ seed ^= (qulonglong(seedPtr) >> 32); // no-op on 32-bit platforms
#endif // QT_BOOTSTRAPPED
return seed;
diff --git a/src/corelib/tools/qlist.cpp b/src/corelib/tools/qlist.cpp
index fe5e0f33b4..b91fd38a5f 100644
--- a/src/corelib/tools/qlist.cpp
+++ b/src/corelib/tools/qlist.cpp
@@ -55,6 +55,8 @@ const QListData::Data QListData::shared_null = { Q_REFCOUNT_INITIALIZE_STATIC, 0
static int grow(int size)
{
+ if (size_t(size) > (MaxAllocSize - QListData::DataHeaderSize) / sizeof(void *))
+ qBadAlloc();
// dear compiler: don't optimize me out.
volatile int x = qAllocMore(size * sizeof(void *), QListData::DataHeaderSize) / sizeof(void *);
return x;
diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h
index e33be9a2f1..533f1d6dbc 100644
--- a/src/corelib/tools/qlist.h
+++ b/src/corelib/tools/qlist.h
@@ -628,9 +628,7 @@ inline void QList<T>::swap(int i, int j)
Q_ASSERT_X(i >= 0 && i < p.size() && j >= 0 && j < p.size(),
"QList<T>::swap", "index out of range");
detach();
- void *t = d->array[d->begin + i];
- d->array[d->begin + i] = d->array[d->begin + j];
- d->array[d->begin + j] = t;
+ std::swap(d->array[d->begin + i], d->array[d->begin + j]);
}
template <typename T>
@@ -773,11 +771,10 @@ Q_OUTOFLINE_TEMPLATE bool QList<T>::operator==(const QList<T> &l) const
return true;
if (p.size() != l.p.size())
return false;
- Node *i = reinterpret_cast<Node *>(p.end());
- Node *b = reinterpret_cast<Node *>(p.begin());
- Node *li = reinterpret_cast<Node *>(l.p.end());
- while (i != b) {
- --i; --li;
+ Node *i = reinterpret_cast<Node *>(p.begin());
+ Node *e = reinterpret_cast<Node *>(p.end());
+ Node *li = reinterpret_cast<Node *>(l.p.begin());
+ for (; i != e; ++i, ++li) {
if (!(i->t() == li->t()))
return false;
}
@@ -925,9 +922,9 @@ Q_OUTOFLINE_TEMPLATE int QList<T>::lastIndexOf(const T &t, int from) const
template <typename T>
Q_OUTOFLINE_TEMPLATE bool QList<T>::contains(const T &t) const
{
- Node *b = reinterpret_cast<Node *>(p.begin());
- Node *i = reinterpret_cast<Node *>(p.end());
- while (i-- != b)
+ Node *e = reinterpret_cast<Node *>(p.end());
+ Node *i = reinterpret_cast<Node *>(p.begin());
+ for (; i != e; ++i)
if (i->t() == t)
return true;
return false;
@@ -937,9 +934,9 @@ template <typename T>
Q_OUTOFLINE_TEMPLATE int QList<T>::count(const T &t) const
{
int c = 0;
- Node *b = reinterpret_cast<Node *>(p.begin());
- Node *i = reinterpret_cast<Node *>(p.end());
- while (i-- != b)
+ Node *e = reinterpret_cast<Node *>(p.end());
+ Node *i = reinterpret_cast<Node *>(p.begin());
+ for (; i != e; ++i)
if (i->t() == t)
++c;
return c;
diff --git a/src/corelib/tools/qmargins.h b/src/corelib/tools/qmargins.h
index 33a2766345..400f0f76df 100644
--- a/src/corelib/tools/qmargins.h
+++ b/src/corelib/tools/qmargins.h
@@ -55,19 +55,19 @@ public:
Q_DECL_CONSTEXPR int right() const;
Q_DECL_CONSTEXPR int bottom() const;
- void setLeft(int left);
- void setTop(int top);
- void setRight(int right);
- void setBottom(int bottom);
-
- QMargins &operator+=(const QMargins &margins);
- QMargins &operator-=(const QMargins &margins);
- QMargins &operator+=(int);
- QMargins &operator-=(int);
- QMargins &operator*=(int);
- QMargins &operator/=(int);
- QMargins &operator*=(qreal);
- QMargins &operator/=(qreal);
+ Q_DECL_RELAXED_CONSTEXPR void setLeft(int left);
+ Q_DECL_RELAXED_CONSTEXPR void setTop(int top);
+ Q_DECL_RELAXED_CONSTEXPR void setRight(int right);
+ Q_DECL_RELAXED_CONSTEXPR void setBottom(int bottom);
+
+ Q_DECL_RELAXED_CONSTEXPR QMargins &operator+=(const QMargins &margins);
+ Q_DECL_RELAXED_CONSTEXPR QMargins &operator-=(const QMargins &margins);
+ Q_DECL_RELAXED_CONSTEXPR QMargins &operator+=(int);
+ Q_DECL_RELAXED_CONSTEXPR QMargins &operator-=(int);
+ Q_DECL_RELAXED_CONSTEXPR QMargins &operator*=(int);
+ Q_DECL_RELAXED_CONSTEXPR QMargins &operator/=(int);
+ Q_DECL_RELAXED_CONSTEXPR QMargins &operator*=(qreal);
+ Q_DECL_RELAXED_CONSTEXPR QMargins &operator/=(qreal);
private:
int m_left;
@@ -114,16 +114,16 @@ Q_DECL_CONSTEXPR inline int QMargins::bottom() const
{ return m_bottom; }
-inline void QMargins::setLeft(int aleft)
+Q_DECL_RELAXED_CONSTEXPR inline void QMargins::setLeft(int aleft)
{ m_left = aleft; }
-inline void QMargins::setTop(int atop)
+Q_DECL_RELAXED_CONSTEXPR inline void QMargins::setTop(int atop)
{ m_top = atop; }
-inline void QMargins::setRight(int aright)
+Q_DECL_RELAXED_CONSTEXPR inline void QMargins::setRight(int aright)
{ m_right = aright; }
-inline void QMargins::setBottom(int abottom)
+Q_DECL_RELAXED_CONSTEXPR inline void QMargins::setBottom(int abottom)
{ m_bottom = abottom; }
Q_DECL_CONSTEXPR inline bool operator==(const QMargins &m1, const QMargins &m2)
@@ -210,17 +210,17 @@ Q_DECL_CONSTEXPR inline QMargins operator/(const QMargins &margins, qreal diviso
qRound(margins.right() / divisor), qRound(margins.bottom() / divisor));
}
-inline QMargins &QMargins::operator+=(const QMargins &margins)
+Q_DECL_RELAXED_CONSTEXPR inline QMargins &QMargins::operator+=(const QMargins &margins)
{
return *this = *this + margins;
}
-inline QMargins &QMargins::operator-=(const QMargins &margins)
+Q_DECL_RELAXED_CONSTEXPR inline QMargins &QMargins::operator-=(const QMargins &margins)
{
return *this = *this - margins;
}
-inline QMargins &QMargins::operator+=(int margin)
+Q_DECL_RELAXED_CONSTEXPR inline QMargins &QMargins::operator+=(int margin)
{
m_left += margin;
m_top += margin;
@@ -229,7 +229,7 @@ inline QMargins &QMargins::operator+=(int margin)
return *this;
}
-inline QMargins &QMargins::operator-=(int margin)
+Q_DECL_RELAXED_CONSTEXPR inline QMargins &QMargins::operator-=(int margin)
{
m_left -= margin;
m_top -= margin;
@@ -238,22 +238,22 @@ inline QMargins &QMargins::operator-=(int margin)
return *this;
}
-inline QMargins &QMargins::operator*=(int factor)
+Q_DECL_RELAXED_CONSTEXPR inline QMargins &QMargins::operator*=(int factor)
{
return *this = *this * factor;
}
-inline QMargins &QMargins::operator/=(int divisor)
+Q_DECL_RELAXED_CONSTEXPR inline QMargins &QMargins::operator/=(int divisor)
{
return *this = *this / divisor;
}
-inline QMargins &QMargins::operator*=(qreal factor)
+Q_DECL_RELAXED_CONSTEXPR inline QMargins &QMargins::operator*=(qreal factor)
{
return *this = *this * factor;
}
-inline QMargins &QMargins::operator/=(qreal divisor)
+Q_DECL_RELAXED_CONSTEXPR inline QMargins &QMargins::operator/=(qreal divisor)
{
return *this = *this / divisor;
}
@@ -290,17 +290,17 @@ public:
Q_DECL_CONSTEXPR qreal right() const;
Q_DECL_CONSTEXPR qreal bottom() const;
- void setLeft(qreal left);
- void setTop(qreal top);
- void setRight(qreal right);
- void setBottom(qreal bottom);
+ Q_DECL_RELAXED_CONSTEXPR void setLeft(qreal left);
+ Q_DECL_RELAXED_CONSTEXPR void setTop(qreal top);
+ Q_DECL_RELAXED_CONSTEXPR void setRight(qreal right);
+ Q_DECL_RELAXED_CONSTEXPR void setBottom(qreal bottom);
- QMarginsF &operator+=(const QMarginsF &margins);
- QMarginsF &operator-=(const QMarginsF &margins);
- QMarginsF &operator+=(qreal addend);
- QMarginsF &operator-=(qreal subtrahend);
- QMarginsF &operator*=(qreal factor);
- QMarginsF &operator/=(qreal divisor);
+ Q_DECL_RELAXED_CONSTEXPR QMarginsF &operator+=(const QMarginsF &margins);
+ Q_DECL_RELAXED_CONSTEXPR QMarginsF &operator-=(const QMarginsF &margins);
+ Q_DECL_RELAXED_CONSTEXPR QMarginsF &operator+=(qreal addend);
+ Q_DECL_RELAXED_CONSTEXPR QMarginsF &operator-=(qreal subtrahend);
+ Q_DECL_RELAXED_CONSTEXPR QMarginsF &operator*=(qreal factor);
+ Q_DECL_RELAXED_CONSTEXPR QMarginsF &operator/=(qreal divisor);
Q_DECL_CONSTEXPR inline QMargins toMargins() const;
@@ -350,16 +350,16 @@ Q_DECL_CONSTEXPR inline qreal QMarginsF::bottom() const
{ return m_bottom; }
-inline void QMarginsF::setLeft(qreal aleft)
+Q_DECL_RELAXED_CONSTEXPR inline void QMarginsF::setLeft(qreal aleft)
{ m_left = aleft; }
-inline void QMarginsF::setTop(qreal atop)
+Q_DECL_RELAXED_CONSTEXPR inline void QMarginsF::setTop(qreal atop)
{ m_top = atop; }
-inline void QMarginsF::setRight(qreal aright)
+Q_DECL_RELAXED_CONSTEXPR inline void QMarginsF::setRight(qreal aright)
{ m_right = aright; }
-inline void QMarginsF::setBottom(qreal abottom)
+Q_DECL_RELAXED_CONSTEXPR inline void QMarginsF::setBottom(qreal abottom)
{ m_bottom = abottom; }
Q_DECL_CONSTEXPR inline bool operator==(const QMarginsF &lhs, const QMarginsF &rhs)
@@ -423,17 +423,17 @@ Q_DECL_CONSTEXPR inline QMarginsF operator/(const QMarginsF &lhs, qreal divisor)
lhs.right() / divisor, lhs.bottom() / divisor);
}
-inline QMarginsF &QMarginsF::operator+=(const QMarginsF &margins)
+Q_DECL_RELAXED_CONSTEXPR inline QMarginsF &QMarginsF::operator+=(const QMarginsF &margins)
{
return *this = *this + margins;
}
-inline QMarginsF &QMarginsF::operator-=(const QMarginsF &margins)
+Q_DECL_RELAXED_CONSTEXPR inline QMarginsF &QMarginsF::operator-=(const QMarginsF &margins)
{
return *this = *this - margins;
}
-inline QMarginsF &QMarginsF::operator+=(qreal addend)
+Q_DECL_RELAXED_CONSTEXPR inline QMarginsF &QMarginsF::operator+=(qreal addend)
{
m_left += addend;
m_top += addend;
@@ -442,7 +442,7 @@ inline QMarginsF &QMarginsF::operator+=(qreal addend)
return *this;
}
-inline QMarginsF &QMarginsF::operator-=(qreal subtrahend)
+Q_DECL_RELAXED_CONSTEXPR inline QMarginsF &QMarginsF::operator-=(qreal subtrahend)
{
m_left -= subtrahend;
m_top -= subtrahend;
@@ -451,12 +451,12 @@ inline QMarginsF &QMarginsF::operator-=(qreal subtrahend)
return *this;
}
-inline QMarginsF &QMarginsF::operator*=(qreal factor)
+Q_DECL_RELAXED_CONSTEXPR inline QMarginsF &QMarginsF::operator*=(qreal factor)
{
return *this = *this * factor;
}
-inline QMarginsF &QMarginsF::operator/=(qreal divisor)
+Q_DECL_RELAXED_CONSTEXPR inline QMarginsF &QMarginsF::operator/=(qreal divisor)
{
return *this = *this / divisor;
}
diff --git a/src/corelib/tools/qpair.h b/src/corelib/tools/qpair.h
index b2217e4dd0..ae33d598d4 100644
--- a/src/corelib/tools/qpair.h
+++ b/src/corelib/tools/qpair.h
@@ -52,13 +52,13 @@ struct QPair
template <typename TT1, typename TT2>
Q_DECL_CONSTEXPR QPair(const QPair<TT1, TT2> &p) : first(p.first), second(p.second) {}
template <typename TT1, typename TT2>
- QPair &operator=(const QPair<TT1, TT2> &p)
+ Q_DECL_RELAXED_CONSTEXPR QPair &operator=(const QPair<TT1, TT2> &p)
{ first = p.first; second = p.second; return *this; }
#ifdef Q_COMPILER_RVALUE_REFS
template <typename TT1, typename TT2>
Q_DECL_CONSTEXPR QPair(QPair<TT1, TT2> &&p) : first(std::move(p.first)), second(std::move(p.second)) {}
template <typename TT1, typename TT2>
- QPair &operator=(QPair<TT1, TT2> &&p)
+ Q_DECL_RELAXED_CONSTEXPR QPair &operator=(QPair<TT1, TT2> &&p)
{ first = std::move(p.first); second = std::move(p.second); return *this; }
#endif
diff --git a/src/corelib/tools/qpoint.h b/src/corelib/tools/qpoint.h
index 5cf97b9052..70474b6d59 100644
--- a/src/corelib/tools/qpoint.h
+++ b/src/corelib/tools/qpoint.h
@@ -49,22 +49,22 @@ public:
Q_DECL_CONSTEXPR inline int x() const;
Q_DECL_CONSTEXPR inline int y() const;
- inline void setX(int x);
- inline void setY(int y);
+ Q_DECL_RELAXED_CONSTEXPR inline void setX(int x);
+ Q_DECL_RELAXED_CONSTEXPR inline void setY(int y);
Q_DECL_CONSTEXPR inline int manhattanLength() const;
- inline int &rx();
- inline int &ry();
+ Q_DECL_RELAXED_CONSTEXPR inline int &rx();
+ Q_DECL_RELAXED_CONSTEXPR inline int &ry();
- inline QPoint &operator+=(const QPoint &p);
- inline QPoint &operator-=(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline QPoint &operator+=(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline QPoint &operator-=(const QPoint &p);
- inline QPoint &operator*=(float factor);
- inline QPoint &operator*=(double factor);
- inline QPoint &operator*=(int factor);
+ Q_DECL_RELAXED_CONSTEXPR inline QPoint &operator*=(float factor);
+ Q_DECL_RELAXED_CONSTEXPR inline QPoint &operator*=(double factor);
+ Q_DECL_RELAXED_CONSTEXPR inline QPoint &operator*=(int factor);
- inline QPoint &operator/=(qreal divisor);
+ Q_DECL_RELAXED_CONSTEXPR inline QPoint &operator/=(qreal divisor);
Q_DECL_CONSTEXPR static inline int dotProduct(const QPoint &p1, const QPoint &p2)
{ return p1.xp * p2.xp + p1.yp * p2.yp; }
@@ -116,34 +116,34 @@ Q_DECL_CONSTEXPR inline int QPoint::x() const
Q_DECL_CONSTEXPR inline int QPoint::y() const
{ return yp; }
-inline void QPoint::setX(int xpos)
+Q_DECL_RELAXED_CONSTEXPR inline void QPoint::setX(int xpos)
{ xp = xpos; }
-inline void QPoint::setY(int ypos)
+Q_DECL_RELAXED_CONSTEXPR inline void QPoint::setY(int ypos)
{ yp = ypos; }
inline int Q_DECL_CONSTEXPR QPoint::manhattanLength() const
{ return qAbs(x())+qAbs(y()); }
-inline int &QPoint::rx()
+Q_DECL_RELAXED_CONSTEXPR inline int &QPoint::rx()
{ return xp; }
-inline int &QPoint::ry()
+Q_DECL_RELAXED_CONSTEXPR inline int &QPoint::ry()
{ return yp; }
-inline QPoint &QPoint::operator+=(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline QPoint &QPoint::operator+=(const QPoint &p)
{ xp+=p.xp; yp+=p.yp; return *this; }
-inline QPoint &QPoint::operator-=(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline QPoint &QPoint::operator-=(const QPoint &p)
{ xp-=p.xp; yp-=p.yp; return *this; }
-inline QPoint &QPoint::operator*=(float factor)
+Q_DECL_RELAXED_CONSTEXPR inline QPoint &QPoint::operator*=(float factor)
{ xp = qRound(xp*factor); yp = qRound(yp*factor); return *this; }
-inline QPoint &QPoint::operator*=(double factor)
+Q_DECL_RELAXED_CONSTEXPR inline QPoint &QPoint::operator*=(double factor)
{ xp = qRound(xp*factor); yp = qRound(yp*factor); return *this; }
-inline QPoint &QPoint::operator*=(int factor)
+Q_DECL_RELAXED_CONSTEXPR inline QPoint &QPoint::operator*=(int factor)
{ xp = xp*factor; yp = yp*factor; return *this; }
Q_DECL_CONSTEXPR inline bool operator==(const QPoint &p1, const QPoint &p2)
@@ -182,7 +182,7 @@ Q_DECL_CONSTEXPR inline const QPoint operator+(const QPoint &p)
Q_DECL_CONSTEXPR inline const QPoint operator-(const QPoint &p)
{ return QPoint(-p.xp, -p.yp); }
-inline QPoint &QPoint::operator/=(qreal c)
+Q_DECL_RELAXED_CONSTEXPR inline QPoint &QPoint::operator/=(qreal c)
{
xp = qRound(xp/c);
yp = qRound(yp/c);
@@ -215,16 +215,16 @@ public:
Q_DECL_CONSTEXPR inline qreal x() const;
Q_DECL_CONSTEXPR inline qreal y() const;
- inline void setX(qreal x);
- inline void setY(qreal y);
+ Q_DECL_RELAXED_CONSTEXPR inline void setX(qreal x);
+ Q_DECL_RELAXED_CONSTEXPR inline void setY(qreal y);
- inline qreal &rx();
- inline qreal &ry();
+ Q_DECL_RELAXED_CONSTEXPR inline qreal &rx();
+ Q_DECL_RELAXED_CONSTEXPR inline qreal &ry();
- inline QPointF &operator+=(const QPointF &p);
- inline QPointF &operator-=(const QPointF &p);
- inline QPointF &operator*=(qreal c);
- inline QPointF &operator/=(qreal c);
+ Q_DECL_RELAXED_CONSTEXPR inline QPointF &operator+=(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline QPointF &operator-=(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline QPointF &operator*=(qreal c);
+ Q_DECL_RELAXED_CONSTEXPR inline QPointF &operator/=(qreal c);
Q_DECL_CONSTEXPR static inline qreal dotProduct(const QPointF &p1, const QPointF &p2)
{ return p1.xp * p2.xp + p1.yp * p2.yp; }
@@ -289,39 +289,39 @@ Q_DECL_CONSTEXPR inline qreal QPointF::y() const
return yp;
}
-inline void QPointF::setX(qreal xpos)
+Q_DECL_RELAXED_CONSTEXPR inline void QPointF::setX(qreal xpos)
{
xp = xpos;
}
-inline void QPointF::setY(qreal ypos)
+Q_DECL_RELAXED_CONSTEXPR inline void QPointF::setY(qreal ypos)
{
yp = ypos;
}
-inline qreal &QPointF::rx()
+Q_DECL_RELAXED_CONSTEXPR inline qreal &QPointF::rx()
{
return xp;
}
-inline qreal &QPointF::ry()
+Q_DECL_RELAXED_CONSTEXPR inline qreal &QPointF::ry()
{
return yp;
}
-inline QPointF &QPointF::operator+=(const QPointF &p)
+Q_DECL_RELAXED_CONSTEXPR inline QPointF &QPointF::operator+=(const QPointF &p)
{
xp+=p.xp;
yp+=p.yp;
return *this;
}
-inline QPointF &QPointF::operator-=(const QPointF &p)
+Q_DECL_RELAXED_CONSTEXPR inline QPointF &QPointF::operator-=(const QPointF &p)
{
xp-=p.xp; yp-=p.yp; return *this;
}
-inline QPointF &QPointF::operator*=(qreal c)
+Q_DECL_RELAXED_CONSTEXPR inline QPointF &QPointF::operator*=(qreal c)
{
xp*=c; yp*=c; return *this;
}
@@ -366,7 +366,7 @@ Q_DECL_CONSTEXPR inline const QPointF operator-(const QPointF &p)
return QPointF(-p.xp, -p.yp);
}
-inline QPointF &QPointF::operator/=(qreal divisor)
+Q_DECL_RELAXED_CONSTEXPR inline QPointF &QPointF::operator/=(qreal divisor)
{
xp/=divisor;
yp/=divisor;
diff --git a/src/corelib/tools/qrect.h b/src/corelib/tools/qrect.h
index b5be5724af..9b86a9f8fc 100644
--- a/src/corelib/tools/qrect.h
+++ b/src/corelib/tools/qrect.h
@@ -64,17 +64,17 @@ public:
Q_DECL_CONSTEXPR inline int x() const;
Q_DECL_CONSTEXPR inline int y() const;
- inline void setLeft(int pos);
- inline void setTop(int pos);
- inline void setRight(int pos);
- inline void setBottom(int pos);
- inline void setX(int x);
- inline void setY(int y);
-
- inline void setTopLeft(const QPoint &p);
- inline void setBottomRight(const QPoint &p);
- inline void setTopRight(const QPoint &p);
- inline void setBottomLeft(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void setLeft(int pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void setTop(int pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void setRight(int pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void setBottom(int pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void setX(int x);
+ Q_DECL_RELAXED_CONSTEXPR inline void setY(int y);
+
+ Q_DECL_RELAXED_CONSTEXPR inline void setTopLeft(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void setBottomRight(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void setTopRight(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void setBottomLeft(const QPoint &p);
Q_DECL_CONSTEXPR inline QPoint topLeft() const;
Q_DECL_CONSTEXPR inline QPoint bottomRight() const;
@@ -82,39 +82,39 @@ public:
Q_DECL_CONSTEXPR inline QPoint bottomLeft() const;
Q_DECL_CONSTEXPR inline QPoint center() const;
- inline void moveLeft(int pos);
- inline void moveTop(int pos);
- inline void moveRight(int pos);
- inline void moveBottom(int pos);
- inline void moveTopLeft(const QPoint &p);
- inline void moveBottomRight(const QPoint &p);
- inline void moveTopRight(const QPoint &p);
- inline void moveBottomLeft(const QPoint &p);
- inline void moveCenter(const QPoint &p);
-
- inline void translate(int dx, int dy);
- inline void translate(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveLeft(int pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveTop(int pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveRight(int pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveBottom(int pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveTopLeft(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveBottomRight(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveTopRight(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveBottomLeft(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveCenter(const QPoint &p);
+
+ Q_DECL_RELAXED_CONSTEXPR inline void translate(int dx, int dy);
+ Q_DECL_RELAXED_CONSTEXPR inline void translate(const QPoint &p);
Q_DECL_CONSTEXPR inline QRect translated(int dx, int dy) const Q_REQUIRED_RESULT;
Q_DECL_CONSTEXPR inline QRect translated(const QPoint &p) const Q_REQUIRED_RESULT;
- inline void moveTo(int x, int t);
- inline void moveTo(const QPoint &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveTo(int x, int t);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveTo(const QPoint &p);
- inline void setRect(int x, int y, int w, int h);
- inline void getRect(int *x, int *y, int *w, int *h) const;
+ Q_DECL_RELAXED_CONSTEXPR inline void setRect(int x, int y, int w, int h);
+ Q_DECL_RELAXED_CONSTEXPR inline void getRect(int *x, int *y, int *w, int *h) const;
- inline void setCoords(int x1, int y1, int x2, int y2);
- inline void getCoords(int *x1, int *y1, int *x2, int *y2) const;
+ Q_DECL_RELAXED_CONSTEXPR inline void setCoords(int x1, int y1, int x2, int y2);
+ Q_DECL_RELAXED_CONSTEXPR inline void getCoords(int *x1, int *y1, int *x2, int *y2) const;
- inline void adjust(int x1, int y1, int x2, int y2);
+ Q_DECL_RELAXED_CONSTEXPR inline void adjust(int x1, int y1, int x2, int y2);
Q_DECL_CONSTEXPR inline QRect adjusted(int x1, int y1, int x2, int y2) const Q_REQUIRED_RESULT;
Q_DECL_CONSTEXPR inline QSize size() const;
Q_DECL_CONSTEXPR inline int width() const;
Q_DECL_CONSTEXPR inline int height() const;
- inline void setWidth(int w);
- inline void setHeight(int h);
- inline void setSize(const QSize &s);
+ Q_DECL_RELAXED_CONSTEXPR inline void setWidth(int w);
+ Q_DECL_RELAXED_CONSTEXPR inline void setHeight(int h);
+ Q_DECL_RELAXED_CONSTEXPR inline void setSize(const QSize &s);
QRect operator|(const QRect &r) const;
QRect operator&(const QRect &r) const;
@@ -131,8 +131,8 @@ public:
Q_DECL_CONSTEXPR inline QRect marginsAdded(const QMargins &margins) const;
Q_DECL_CONSTEXPR inline QRect marginsRemoved(const QMargins &margins) const;
- inline QRect &operator+=(const QMargins &margins);
- inline QRect &operator-=(const QMargins &margins);
+ Q_DECL_RELAXED_CONSTEXPR inline QRect &operator+=(const QMargins &margins);
+ Q_DECL_RELAXED_CONSTEXPR inline QRect &operator-=(const QMargins &margins);
#if QT_DEPRECATED_SINCE(5, 0)
QT_DEPRECATED QRect unite(const QRect &r) const Q_REQUIRED_RESULT { return united(r); }
@@ -202,34 +202,34 @@ Q_DECL_CONSTEXPR inline int QRect::x() const
Q_DECL_CONSTEXPR inline int QRect::y() const
{ return y1; }
-inline void QRect::setLeft(int pos)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setLeft(int pos)
{ x1 = pos; }
-inline void QRect::setTop(int pos)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setTop(int pos)
{ y1 = pos; }
-inline void QRect::setRight(int pos)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setRight(int pos)
{ x2 = pos; }
-inline void QRect::setBottom(int pos)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setBottom(int pos)
{ y2 = pos; }
-inline void QRect::setTopLeft(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setTopLeft(const QPoint &p)
{ x1 = p.x(); y1 = p.y(); }
-inline void QRect::setBottomRight(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setBottomRight(const QPoint &p)
{ x2 = p.x(); y2 = p.y(); }
-inline void QRect::setTopRight(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setTopRight(const QPoint &p)
{ x2 = p.x(); y1 = p.y(); }
-inline void QRect::setBottomLeft(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setBottomLeft(const QPoint &p)
{ x1 = p.x(); y2 = p.y(); }
-inline void QRect::setX(int ax)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setX(int ax)
{ x1 = ax; }
-inline void QRect::setY(int ay)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setY(int ay)
{ y1 = ay; }
Q_DECL_CONSTEXPR inline QPoint QRect::topLeft() const
@@ -256,7 +256,7 @@ Q_DECL_CONSTEXPR inline int QRect::height() const
Q_DECL_CONSTEXPR inline QSize QRect::size() const
{ return QSize(width(), height()); }
-inline void QRect::translate(int dx, int dy)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::translate(int dx, int dy)
{
x1 += dx;
y1 += dy;
@@ -264,7 +264,7 @@ inline void QRect::translate(int dx, int dy)
y2 += dy;
}
-inline void QRect::translate(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::translate(const QPoint &p)
{
x1 += p.x();
y1 += p.y();
@@ -278,7 +278,7 @@ Q_DECL_CONSTEXPR inline QRect QRect::translated(int dx, int dy) const
Q_DECL_CONSTEXPR inline QRect QRect::translated(const QPoint &p) const
{ return QRect(QPoint(x1 + p.x(), y1 + p.y()), QPoint(x2 + p.x(), y2 + p.y())); }
-inline void QRect::moveTo(int ax, int ay)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::moveTo(int ax, int ay)
{
x2 += ax - x1;
y2 += ay - y1;
@@ -286,7 +286,7 @@ inline void QRect::moveTo(int ax, int ay)
y1 = ay;
}
-inline void QRect::moveTo(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::moveTo(const QPoint &p)
{
x2 += p.x() - x1;
y2 += p.y() - y1;
@@ -294,49 +294,49 @@ inline void QRect::moveTo(const QPoint &p)
y1 = p.y();
}
-inline void QRect::moveLeft(int pos)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::moveLeft(int pos)
{ x2 += (pos - x1); x1 = pos; }
-inline void QRect::moveTop(int pos)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::moveTop(int pos)
{ y2 += (pos - y1); y1 = pos; }
-inline void QRect::moveRight(int pos)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::moveRight(int pos)
{
x1 += (pos - x2);
x2 = pos;
}
-inline void QRect::moveBottom(int pos)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::moveBottom(int pos)
{
y1 += (pos - y2);
y2 = pos;
}
-inline void QRect::moveTopLeft(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::moveTopLeft(const QPoint &p)
{
moveLeft(p.x());
moveTop(p.y());
}
-inline void QRect::moveBottomRight(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::moveBottomRight(const QPoint &p)
{
moveRight(p.x());
moveBottom(p.y());
}
-inline void QRect::moveTopRight(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::moveTopRight(const QPoint &p)
{
moveRight(p.x());
moveTop(p.y());
}
-inline void QRect::moveBottomLeft(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::moveBottomLeft(const QPoint &p)
{
moveLeft(p.x());
moveBottom(p.y());
}
-inline void QRect::moveCenter(const QPoint &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::moveCenter(const QPoint &p)
{
int w = x2 - x1;
int h = y2 - y1;
@@ -346,7 +346,7 @@ inline void QRect::moveCenter(const QPoint &p)
y2 = y1 + h;
}
-inline void QRect::getRect(int *ax, int *ay, int *aw, int *ah) const
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::getRect(int *ax, int *ay, int *aw, int *ah) const
{
*ax = x1;
*ay = y1;
@@ -354,7 +354,7 @@ inline void QRect::getRect(int *ax, int *ay, int *aw, int *ah) const
*ah = y2 - y1 + 1;
}
-inline void QRect::setRect(int ax, int ay, int aw, int ah)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setRect(int ax, int ay, int aw, int ah)
{
x1 = ax;
y1 = ay;
@@ -362,7 +362,7 @@ inline void QRect::setRect(int ax, int ay, int aw, int ah)
y2 = (ay + ah - 1);
}
-inline void QRect::getCoords(int *xp1, int *yp1, int *xp2, int *yp2) const
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::getCoords(int *xp1, int *yp1, int *xp2, int *yp2) const
{
*xp1 = x1;
*yp1 = y1;
@@ -370,7 +370,7 @@ inline void QRect::getCoords(int *xp1, int *yp1, int *xp2, int *yp2) const
*yp2 = y2;
}
-inline void QRect::setCoords(int xp1, int yp1, int xp2, int yp2)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setCoords(int xp1, int yp1, int xp2, int yp2)
{
x1 = xp1;
y1 = yp1;
@@ -381,7 +381,7 @@ inline void QRect::setCoords(int xp1, int yp1, int xp2, int yp2)
Q_DECL_CONSTEXPR inline QRect QRect::adjusted(int xp1, int yp1, int xp2, int yp2) const
{ return QRect(QPoint(x1 + xp1, y1 + yp1), QPoint(x2 + xp2, y2 + yp2)); }
-inline void QRect::adjust(int dx1, int dy1, int dx2, int dy2)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::adjust(int dx1, int dy1, int dx2, int dy2)
{
x1 += dx1;
y1 += dy1;
@@ -389,13 +389,13 @@ inline void QRect::adjust(int dx1, int dy1, int dx2, int dy2)
y2 += dy2;
}
-inline void QRect::setWidth(int w)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setWidth(int w)
{ x2 = (x1 + w - 1); }
-inline void QRect::setHeight(int h)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setHeight(int h)
{ y2 = (y1 + h - 1); }
-inline void QRect::setSize(const QSize &s)
+Q_DECL_RELAXED_CONSTEXPR inline void QRect::setSize(const QSize &s)
{
x2 = (s.width() + x1 - 1);
y2 = (s.height() + y1 - 1);
@@ -473,13 +473,13 @@ Q_DECL_CONSTEXPR inline QRect QRect::marginsRemoved(const QMargins &margins) con
QPoint(x2 - margins.right(), y2 - margins.bottom()));
}
-inline QRect &QRect::operator+=(const QMargins &margins)
+Q_DECL_RELAXED_CONSTEXPR inline QRect &QRect::operator+=(const QMargins &margins)
{
*this = marginsAdded(margins);
return *this;
}
-inline QRect &QRect::operator-=(const QMargins &margins)
+Q_DECL_RELAXED_CONSTEXPR inline QRect &QRect::operator-=(const QMargins &margins)
{
*this = marginsRemoved(margins);
return *this;
@@ -511,12 +511,12 @@ public:
Q_DECL_CONSTEXPR inline qreal x() const;
Q_DECL_CONSTEXPR inline qreal y() const;
- inline void setLeft(qreal pos);
- inline void setTop(qreal pos);
- inline void setRight(qreal pos);
- inline void setBottom(qreal pos);
- inline void setX(qreal pos) { setLeft(pos); }
- inline void setY(qreal pos) { setTop(pos); }
+ Q_DECL_RELAXED_CONSTEXPR inline void setLeft(qreal pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void setTop(qreal pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void setRight(qreal pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void setBottom(qreal pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void setX(qreal pos) { setLeft(pos); }
+ Q_DECL_RELAXED_CONSTEXPR inline void setY(qreal pos) { setTop(pos); }
Q_DECL_CONSTEXPR inline QPointF topLeft() const { return QPointF(xp, yp); }
Q_DECL_CONSTEXPR inline QPointF bottomRight() const { return QPointF(xp+w, yp+h); }
@@ -524,45 +524,45 @@ public:
Q_DECL_CONSTEXPR inline QPointF bottomLeft() const { return QPointF(xp, yp+h); }
Q_DECL_CONSTEXPR inline QPointF center() const;
- inline void setTopLeft(const QPointF &p);
- inline void setBottomRight(const QPointF &p);
- inline void setTopRight(const QPointF &p);
- inline void setBottomLeft(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void setTopLeft(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void setBottomRight(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void setTopRight(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void setBottomLeft(const QPointF &p);
- inline void moveLeft(qreal pos);
- inline void moveTop(qreal pos);
- inline void moveRight(qreal pos);
- inline void moveBottom(qreal pos);
- inline void moveTopLeft(const QPointF &p);
- inline void moveBottomRight(const QPointF &p);
- inline void moveTopRight(const QPointF &p);
- inline void moveBottomLeft(const QPointF &p);
- inline void moveCenter(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveLeft(qreal pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveTop(qreal pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveRight(qreal pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveBottom(qreal pos);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveTopLeft(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveBottomRight(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveTopRight(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveBottomLeft(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveCenter(const QPointF &p);
- inline void translate(qreal dx, qreal dy);
- inline void translate(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void translate(qreal dx, qreal dy);
+ Q_DECL_RELAXED_CONSTEXPR inline void translate(const QPointF &p);
Q_DECL_CONSTEXPR inline QRectF translated(qreal dx, qreal dy) const Q_REQUIRED_RESULT;
Q_DECL_CONSTEXPR inline QRectF translated(const QPointF &p) const Q_REQUIRED_RESULT;
- inline void moveTo(qreal x, qreal y);
- inline void moveTo(const QPointF &p);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveTo(qreal x, qreal y);
+ Q_DECL_RELAXED_CONSTEXPR inline void moveTo(const QPointF &p);
- inline void setRect(qreal x, qreal y, qreal w, qreal h);
- inline void getRect(qreal *x, qreal *y, qreal *w, qreal *h) const;
+ Q_DECL_RELAXED_CONSTEXPR inline void setRect(qreal x, qreal y, qreal w, qreal h);
+ Q_DECL_RELAXED_CONSTEXPR inline void getRect(qreal *x, qreal *y, qreal *w, qreal *h) const;
- inline void setCoords(qreal x1, qreal y1, qreal x2, qreal y2);
- inline void getCoords(qreal *x1, qreal *y1, qreal *x2, qreal *y2) const;
+ Q_DECL_RELAXED_CONSTEXPR inline void setCoords(qreal x1, qreal y1, qreal x2, qreal y2);
+ Q_DECL_RELAXED_CONSTEXPR inline void getCoords(qreal *x1, qreal *y1, qreal *x2, qreal *y2) const;
- inline void adjust(qreal x1, qreal y1, qreal x2, qreal y2);
+ Q_DECL_RELAXED_CONSTEXPR inline void adjust(qreal x1, qreal y1, qreal x2, qreal y2);
Q_DECL_CONSTEXPR inline QRectF adjusted(qreal x1, qreal y1, qreal x2, qreal y2) const Q_REQUIRED_RESULT;
Q_DECL_CONSTEXPR inline QSizeF size() const;
Q_DECL_CONSTEXPR inline qreal width() const;
Q_DECL_CONSTEXPR inline qreal height() const;
- inline void setWidth(qreal w);
- inline void setHeight(qreal h);
- inline void setSize(const QSizeF &s);
+ Q_DECL_RELAXED_CONSTEXPR inline void setWidth(qreal w);
+ Q_DECL_RELAXED_CONSTEXPR inline void setHeight(qreal h);
+ Q_DECL_RELAXED_CONSTEXPR inline void setSize(const QSizeF &s);
QRectF operator|(const QRectF &r) const;
QRectF operator&(const QRectF &r) const;
@@ -578,8 +578,8 @@ public:
Q_DECL_CONSTEXPR inline QRectF marginsAdded(const QMarginsF &margins) const;
Q_DECL_CONSTEXPR inline QRectF marginsRemoved(const QMarginsF &margins) const;
- inline QRectF &operator+=(const QMarginsF &margins);
- inline QRectF &operator-=(const QMarginsF &margins);
+ Q_DECL_RELAXED_CONSTEXPR inline QRectF &operator+=(const QMarginsF &margins);
+ Q_DECL_RELAXED_CONSTEXPR inline QRectF &operator-=(const QMarginsF &margins);
#if QT_DEPRECATED_SINCE(5, 0)
QT_DEPRECATED QRectF unite(const QRectF &r) const Q_REQUIRED_RESULT { return united(r); }
@@ -652,42 +652,42 @@ Q_DECL_CONSTEXPR inline qreal QRectF::x() const
Q_DECL_CONSTEXPR inline qreal QRectF::y() const
{ return yp; }
-inline void QRectF::setLeft(qreal pos) { qreal diff = pos - xp; xp += diff; w -= diff; }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setLeft(qreal pos) { qreal diff = pos - xp; xp += diff; w -= diff; }
-inline void QRectF::setRight(qreal pos) { w = pos - xp; }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setRight(qreal pos) { w = pos - xp; }
-inline void QRectF::setTop(qreal pos) { qreal diff = pos - yp; yp += diff; h -= diff; }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setTop(qreal pos) { qreal diff = pos - yp; yp += diff; h -= diff; }
-inline void QRectF::setBottom(qreal pos) { h = pos - yp; }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setBottom(qreal pos) { h = pos - yp; }
-inline void QRectF::setTopLeft(const QPointF &p) { setLeft(p.x()); setTop(p.y()); }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setTopLeft(const QPointF &p) { setLeft(p.x()); setTop(p.y()); }
-inline void QRectF::setTopRight(const QPointF &p) { setRight(p.x()); setTop(p.y()); }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setTopRight(const QPointF &p) { setRight(p.x()); setTop(p.y()); }
-inline void QRectF::setBottomLeft(const QPointF &p) { setLeft(p.x()); setBottom(p.y()); }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setBottomLeft(const QPointF &p) { setLeft(p.x()); setBottom(p.y()); }
-inline void QRectF::setBottomRight(const QPointF &p) { setRight(p.x()); setBottom(p.y()); }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setBottomRight(const QPointF &p) { setRight(p.x()); setBottom(p.y()); }
Q_DECL_CONSTEXPR inline QPointF QRectF::center() const
{ return QPointF(xp + w/2, yp + h/2); }
-inline void QRectF::moveLeft(qreal pos) { xp = pos; }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::moveLeft(qreal pos) { xp = pos; }
-inline void QRectF::moveTop(qreal pos) { yp = pos; }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::moveTop(qreal pos) { yp = pos; }
-inline void QRectF::moveRight(qreal pos) { xp = pos - w; }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::moveRight(qreal pos) { xp = pos - w; }
-inline void QRectF::moveBottom(qreal pos) { yp = pos - h; }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::moveBottom(qreal pos) { yp = pos - h; }
-inline void QRectF::moveTopLeft(const QPointF &p) { moveLeft(p.x()); moveTop(p.y()); }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::moveTopLeft(const QPointF &p) { moveLeft(p.x()); moveTop(p.y()); }
-inline void QRectF::moveTopRight(const QPointF &p) { moveRight(p.x()); moveTop(p.y()); }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::moveTopRight(const QPointF &p) { moveRight(p.x()); moveTop(p.y()); }
-inline void QRectF::moveBottomLeft(const QPointF &p) { moveLeft(p.x()); moveBottom(p.y()); }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::moveBottomLeft(const QPointF &p) { moveLeft(p.x()); moveBottom(p.y()); }
-inline void QRectF::moveBottomRight(const QPointF &p) { moveRight(p.x()); moveBottom(p.y()); }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::moveBottomRight(const QPointF &p) { moveRight(p.x()); moveBottom(p.y()); }
-inline void QRectF::moveCenter(const QPointF &p) { xp = p.x() - w/2; yp = p.y() - h/2; }
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::moveCenter(const QPointF &p) { xp = p.x() - w/2; yp = p.y() - h/2; }
Q_DECL_CONSTEXPR inline qreal QRectF::width() const
{ return w; }
@@ -698,25 +698,25 @@ Q_DECL_CONSTEXPR inline qreal QRectF::height() const
Q_DECL_CONSTEXPR inline QSizeF QRectF::size() const
{ return QSizeF(w, h); }
-inline void QRectF::translate(qreal dx, qreal dy)
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::translate(qreal dx, qreal dy)
{
xp += dx;
yp += dy;
}
-inline void QRectF::translate(const QPointF &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::translate(const QPointF &p)
{
xp += p.x();
yp += p.y();
}
-inline void QRectF::moveTo(qreal ax, qreal ay)
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::moveTo(qreal ax, qreal ay)
{
xp = ax;
yp = ay;
}
-inline void QRectF::moveTo(const QPointF &p)
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::moveTo(const QPointF &p)
{
xp = p.x();
yp = p.y();
@@ -728,7 +728,7 @@ Q_DECL_CONSTEXPR inline QRectF QRectF::translated(qreal dx, qreal dy) const
Q_DECL_CONSTEXPR inline QRectF QRectF::translated(const QPointF &p) const
{ return QRectF(xp + p.x(), yp + p.y(), w, h); }
-inline void QRectF::getRect(qreal *ax, qreal *ay, qreal *aaw, qreal *aah) const
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::getRect(qreal *ax, qreal *ay, qreal *aaw, qreal *aah) const
{
*ax = this->xp;
*ay = this->yp;
@@ -736,7 +736,7 @@ inline void QRectF::getRect(qreal *ax, qreal *ay, qreal *aaw, qreal *aah) const
*aah = this->h;
}
-inline void QRectF::setRect(qreal ax, qreal ay, qreal aaw, qreal aah)
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setRect(qreal ax, qreal ay, qreal aaw, qreal aah)
{
this->xp = ax;
this->yp = ay;
@@ -744,7 +744,7 @@ inline void QRectF::setRect(qreal ax, qreal ay, qreal aaw, qreal aah)
this->h = aah;
}
-inline void QRectF::getCoords(qreal *xp1, qreal *yp1, qreal *xp2, qreal *yp2) const
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::getCoords(qreal *xp1, qreal *yp1, qreal *xp2, qreal *yp2) const
{
*xp1 = xp;
*yp1 = yp;
@@ -752,7 +752,7 @@ inline void QRectF::getCoords(qreal *xp1, qreal *yp1, qreal *xp2, qreal *yp2) co
*yp2 = yp + h;
}
-inline void QRectF::setCoords(qreal xp1, qreal yp1, qreal xp2, qreal yp2)
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setCoords(qreal xp1, qreal yp1, qreal xp2, qreal yp2)
{
xp = xp1;
yp = yp1;
@@ -760,19 +760,19 @@ inline void QRectF::setCoords(qreal xp1, qreal yp1, qreal xp2, qreal yp2)
h = yp2 - yp1;
}
-inline void QRectF::adjust(qreal xp1, qreal yp1, qreal xp2, qreal yp2)
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::adjust(qreal xp1, qreal yp1, qreal xp2, qreal yp2)
{ xp += xp1; yp += yp1; w += xp2 - xp1; h += yp2 - yp1; }
Q_DECL_CONSTEXPR inline QRectF QRectF::adjusted(qreal xp1, qreal yp1, qreal xp2, qreal yp2) const
{ return QRectF(xp + xp1, yp + yp1, w + xp2 - xp1, h + yp2 - yp1); }
-inline void QRectF::setWidth(qreal aw)
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setWidth(qreal aw)
{ this->w = aw; }
-inline void QRectF::setHeight(qreal ah)
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setHeight(qreal ah)
{ this->h = ah; }
-inline void QRectF::setSize(const QSizeF &s)
+Q_DECL_RELAXED_CONSTEXPR inline void QRectF::setSize(const QSizeF &s)
{
w = s.width();
h = s.height();
@@ -852,13 +852,13 @@ Q_DECL_CONSTEXPR inline QRectF QRectF::marginsRemoved(const QMarginsF &margins)
QSizeF(w - margins.left() - margins.right(), h - margins.top() - margins.bottom()));
}
-inline QRectF &QRectF::operator+=(const QMarginsF &margins)
+Q_DECL_RELAXED_CONSTEXPR inline QRectF &QRectF::operator+=(const QMarginsF &margins)
{
*this = marginsAdded(margins);
return *this;
}
-inline QRectF &QRectF::operator-=(const QMarginsF &margins)
+Q_DECL_RELAXED_CONSTEXPR inline QRectF &QRectF::operator-=(const QMarginsF &margins)
{
*this = marginsRemoved(margins);
return *this;
diff --git a/src/corelib/tools/qregularexpression.cpp b/src/corelib/tools/qregularexpression.cpp
index 33894927fe..228ee5b842 100644
--- a/src/corelib/tools/qregularexpression.cpp
+++ b/src/corelib/tools/qregularexpression.cpp
@@ -835,6 +835,8 @@ struct QRegularExpressionPrivate : QSharedData
};
QRegularExpressionMatchPrivate *doMatch(const QString &subject,
+ int subjectStartPos,
+ int subjectLength,
int offset,
QRegularExpression::MatchType matchType,
QRegularExpression::MatchOptions matchOptions,
@@ -872,6 +874,8 @@ struct QRegularExpressionMatchPrivate : QSharedData
{
QRegularExpressionMatchPrivate(const QRegularExpression &re,
const QString &subject,
+ int subjectStart,
+ int subjectLength,
QRegularExpression::MatchType matchType,
QRegularExpression::MatchOptions matchOptions,
int capturingCount = 0);
@@ -884,6 +888,9 @@ struct QRegularExpressionMatchPrivate : QSharedData
// for each captured substring
QVector<int> capturedOffsets;
+ const int subjectStart;
+ const int subjectLength;
+
const QRegularExpression::MatchType matchType;
const QRegularExpression::MatchOptions matchOptions;
@@ -1219,14 +1226,21 @@ static int pcre16SafeExec(const pcre16 *code, const pcre16_extra *extra,
/*!
\internal
- Performs a match of type \a matchType on the given \a subject string with
- options \a matchOptions and returns the QRegularExpressionMatchPrivate of
- the result. It also advances a match if a previous result is given as \a
+ Performs a match on the substring of the given \a subject string,
+ substring which starts from \a subjectStart and up to
+ (but not including) \a subjectStart + \a subjectLength. The match
+ will be of type \a matchType and using the options \a matchOptions;
+ the matching \a offset is relative the substring,
+ and if negative, it's taken as an offset from the end of the substring.
+
+ It also advances a match if a previous result is given as \a
previous. The \a subject string goes a Unicode validity check if
\a checkSubjectString is CheckSubjectString and the match options don't
include DontCheckSubjectStringMatchOption (PCRE doesn't like illegal
UTF-16 sequences).
+ Returns the QRegularExpressionMatchPrivate of the result.
+
Advancing a match is a tricky algorithm. If the previous match matched a
non-empty string, we just do an ordinary match at the offset position.
@@ -1239,6 +1253,8 @@ static int pcre16SafeExec(const pcre16 *code, const pcre16_extra *extra,
must advance over it.
*/
QRegularExpressionMatchPrivate *QRegularExpressionPrivate::doMatch(const QString &subject,
+ int subjectStart,
+ int subjectLength,
int offset,
QRegularExpression::MatchType matchType,
QRegularExpression::MatchOptions matchOptions,
@@ -1246,21 +1262,22 @@ QRegularExpressionMatchPrivate *QRegularExpressionPrivate::doMatch(const QString
const QRegularExpressionMatchPrivate *previous) const
{
if (offset < 0)
- offset += subject.length();
+ offset += subjectLength;
QRegularExpression re(*const_cast<QRegularExpressionPrivate *>(this));
- if (offset < 0 || offset > subject.length())
- return new QRegularExpressionMatchPrivate(re, subject, matchType, matchOptions);
+ if (offset < 0 || offset > subjectLength)
+ return new QRegularExpressionMatchPrivate(re, subject, subjectStart, subjectLength, matchType, matchOptions);
if (!compiledPattern) {
qWarning("QRegularExpressionPrivate::doMatch(): called on an invalid QRegularExpression object");
- return new QRegularExpressionMatchPrivate(re, subject, matchType, matchOptions);
+ return new QRegularExpressionMatchPrivate(re, subject, subjectStart, subjectLength, matchType, matchOptions);
}
// skip optimizing and doing the actual matching if NoMatch type was requested
if (matchType == QRegularExpression::NoMatch) {
QRegularExpressionMatchPrivate *priv = new QRegularExpressionMatchPrivate(re, subject,
+ subjectStart, subjectLength,
matchType, matchOptions);
priv->isValid = true;
return priv;
@@ -1268,6 +1285,7 @@ QRegularExpressionMatchPrivate *QRegularExpressionPrivate::doMatch(const QString
// capturingCount doesn't include the implicit "0" capturing group
QRegularExpressionMatchPrivate *priv = new QRegularExpressionMatchPrivate(re, subject,
+ subjectStart, subjectLength,
matchType, matchOptions,
capturingCount + 1);
@@ -1307,45 +1325,49 @@ QRegularExpressionMatchPrivate *QRegularExpressionPrivate::doMatch(const QString
int * const captureOffsets = priv->capturedOffsets.data();
const int captureOffsetsCount = priv->capturedOffsets.size();
+ int realOffset = offset + subjectStart;
+ const int realSubjectLength = subjectLength + subjectStart;
+
const unsigned short * const subjectUtf16 = subject.utf16();
- const int subjectLength = subject.length();
int result;
if (!previousMatchWasEmpty) {
result = pcre16SafeExec(compiledPattern, currentStudyData,
- subjectUtf16, subjectLength,
- offset, pcreOptions,
+ subjectUtf16, realSubjectLength,
+ realOffset, pcreOptions,
captureOffsets, captureOffsetsCount);
} else {
result = pcre16SafeExec(compiledPattern, currentStudyData,
- subjectUtf16, subjectLength,
- offset, pcreOptions | PCRE_NOTEMPTY_ATSTART | PCRE_ANCHORED,
+ subjectUtf16, realSubjectLength,
+ realOffset, pcreOptions | PCRE_NOTEMPTY_ATSTART | PCRE_ANCHORED,
captureOffsets, captureOffsetsCount);
if (result == PCRE_ERROR_NOMATCH) {
- ++offset;
+ ++realOffset;
if (usingCrLfNewlines
- && offset < subjectLength
- && subjectUtf16[offset - 1] == QLatin1Char('\r')
- && subjectUtf16[offset] == QLatin1Char('\n')) {
- ++offset;
- } else if (offset < subjectLength
- && QChar::isLowSurrogate(subjectUtf16[offset])) {
- ++offset;
+ && realOffset < realSubjectLength
+ && subjectUtf16[realOffset - 1] == QLatin1Char('\r')
+ && subjectUtf16[realOffset] == QLatin1Char('\n')) {
+ ++realOffset;
+ } else if (realOffset < realSubjectLength
+ && QChar::isLowSurrogate(subjectUtf16[realOffset])) {
+ ++realOffset;
}
result = pcre16SafeExec(compiledPattern, currentStudyData,
- subjectUtf16, subjectLength,
- offset, pcreOptions,
+ subjectUtf16, realSubjectLength,
+ realOffset, pcreOptions,
captureOffsets, captureOffsetsCount);
}
}
#ifdef QREGULAREXPRESSION_DEBUG
qDebug() << "Matching" << pattern << "against" << subject
- << offset << matchType << matchOptions << previousMatchWasEmpty
+ << "starting at" << subjectStart << "len" << subjectLength << "real len" << realSubjectLength
+ << "offset" << offset << "real offset" << realOffset
+ << matchType << matchOptions << previousMatchWasEmpty
<< "result" << result;
#endif
@@ -1383,10 +1405,13 @@ QRegularExpressionMatchPrivate *QRegularExpressionPrivate::doMatch(const QString
*/
QRegularExpressionMatchPrivate::QRegularExpressionMatchPrivate(const QRegularExpression &re,
const QString &subject,
+ int subjectStart,
+ int subjectLength,
QRegularExpression::MatchType matchType,
QRegularExpression::MatchOptions matchOptions,
int capturingCount)
: regularExpression(re), subject(subject),
+ subjectStart(subjectStart), subjectLength(subjectLength),
matchType(matchType), matchOptions(matchOptions),
capturedCount(0),
hasMatch(false), hasPartialMatch(false), isValid(false)
@@ -1412,6 +1437,8 @@ QRegularExpressionMatch QRegularExpressionMatchPrivate::nextMatch() const
// then that subject was already checked at least once (when this object
// was created, or when the object that created this one was created, etc.)
QRegularExpressionMatchPrivate *nextPrivate = regularExpression.d->doMatch(subject,
+ subjectStart,
+ subjectLength,
capturedOffsets.at(1),
matchType,
matchOptions,
@@ -1684,7 +1711,33 @@ QRegularExpressionMatch QRegularExpression::match(const QString &subject,
{
d.data()->compilePattern();
- QRegularExpressionMatchPrivate *priv = d->doMatch(subject, offset, matchType, matchOptions);
+ QRegularExpressionMatchPrivate *priv = d->doMatch(subject, 0, subject.length(), offset, matchType, matchOptions);
+ return QRegularExpressionMatch(*priv);
+}
+
+/*!
+ \since 5.5
+ \overload
+
+ Attempts to match the regular expression against the given \a subjectRef
+ string reference, starting at the position \a offset inside the subject, using a
+ match of type \a matchType and honoring the given \a matchOptions.
+
+ The returned QRegularExpressionMatch object contains the results of the
+ match.
+
+ \sa QRegularExpressionMatch, {normal matching}
+*/
+QRegularExpressionMatch QRegularExpression::match(const QStringRef &subjectRef,
+ int offset,
+ MatchType matchType,
+ MatchOptions matchOptions) const
+{
+ d.data()->compilePattern();
+
+ const QString subject = subjectRef.string() ? *subjectRef.string() : QString();
+
+ QRegularExpressionMatchPrivate *priv = d->doMatch(subject, subjectRef.position(), subjectRef.length(), offset, matchType, matchOptions);
return QRegularExpressionMatch(*priv);
}
@@ -1714,6 +1767,34 @@ QRegularExpressionMatchIterator QRegularExpression::globalMatch(const QString &s
}
/*!
+ \since 5.5
+ \overload
+
+ Attempts to perform a global match of the regular expression against the
+ given \a subjectRef string reference, starting at the position \a offset inside the
+ subject, using a match of type \a matchType and honoring the given \a
+ matchOptions.
+
+ The returned QRegularExpressionMatchIterator is positioned before the
+ first match result (if any).
+
+ \sa QRegularExpressionMatchIterator, {global matching}
+*/
+QRegularExpressionMatchIterator QRegularExpression::globalMatch(const QStringRef &subjectRef,
+ int offset,
+ MatchType matchType,
+ MatchOptions matchOptions) const
+{
+ QRegularExpressionMatchIteratorPrivate *priv =
+ new QRegularExpressionMatchIteratorPrivate(*this,
+ matchType,
+ matchOptions,
+ match(subjectRef, offset, matchType, matchOptions));
+
+ return QRegularExpressionMatchIterator(*priv);
+}
+
+/*!
\since 5.4
Forces an immediate optimization of the pattern, including
@@ -1823,6 +1904,8 @@ QString QRegularExpression::escape(const QString &str)
QRegularExpressionMatch::QRegularExpressionMatch()
: d(new QRegularExpressionMatchPrivate(QRegularExpression(),
QString(),
+ 0,
+ 0,
QRegularExpression::NoMatch,
QRegularExpression::NoMatchOption))
{
diff --git a/src/corelib/tools/qregularexpression.h b/src/corelib/tools/qregularexpression.h
index 66538f22b3..f332227094 100644
--- a/src/corelib/tools/qregularexpression.h
+++ b/src/corelib/tools/qregularexpression.h
@@ -112,11 +112,21 @@ public:
MatchType matchType = NormalMatch,
MatchOptions matchOptions = NoMatchOption) const;
+ QRegularExpressionMatch match(const QStringRef &subjectRef,
+ int offset = 0,
+ MatchType matchType = NormalMatch,
+ MatchOptions matchOptions = NoMatchOption) const;
+
QRegularExpressionMatchIterator globalMatch(const QString &subject,
int offset = 0,
MatchType matchType = NormalMatch,
MatchOptions matchOptions = NoMatchOption) const;
+ QRegularExpressionMatchIterator globalMatch(const QStringRef &subjectRef,
+ int offset = 0,
+ MatchType matchType = NormalMatch,
+ MatchOptions matchOptions = NoMatchOption) const;
+
void optimize() const;
static QString escape(const QString &str);
diff --git a/src/corelib/tools/qringbuffer_p.h b/src/corelib/tools/qringbuffer_p.h
index 2279f1bc2a..8fe56323a3 100644
--- a/src/corelib/tools/qringbuffer_p.h
+++ b/src/corelib/tools/qringbuffer_p.h
@@ -113,7 +113,7 @@ public:
// if need buffer reallocation
if (tail + bytes > buffers.last().size()) {
- if (tail >= basicBlockSize) {
+ if (tail + bytes > buffers.last().capacity() && tail >= basicBlockSize) {
// shrink this buffer to its current size
buffers.last().resize(tail);
@@ -175,10 +175,14 @@ public:
inline void ungetChar(char c) {
--head;
if (head < 0) {
- buffers.prepend(QByteArray());
+ if (bufferSize != 0) {
+ buffers.prepend(QByteArray());
+ ++tailBuffer;
+ } else {
+ tail = basicBlockSize;
+ }
buffers.first().resize(basicBlockSize);
head = basicBlockSize - 1;
- ++tailBuffer;
}
buffers.first()[head] = c;
++bufferSize;
diff --git a/src/corelib/tools/qsize.h b/src/corelib/tools/qsize.h
index 6b5cf2dd7d..90222ba822 100644
--- a/src/corelib/tools/qsize.h
+++ b/src/corelib/tools/qsize.h
@@ -51,8 +51,8 @@ public:
Q_DECL_CONSTEXPR inline int width() const;
Q_DECL_CONSTEXPR inline int height() const;
- inline void setWidth(int w);
- inline void setHeight(int h);
+ Q_DECL_RELAXED_CONSTEXPR inline void setWidth(int w);
+ Q_DECL_RELAXED_CONSTEXPR inline void setHeight(int h);
void transpose();
Q_DECL_CONSTEXPR inline QSize transposed() const;
@@ -64,12 +64,12 @@ public:
Q_DECL_CONSTEXPR inline QSize expandedTo(const QSize &) const;
Q_DECL_CONSTEXPR inline QSize boundedTo(const QSize &) const;
- inline int &rwidth();
- inline int &rheight();
+ Q_DECL_RELAXED_CONSTEXPR inline int &rwidth();
+ Q_DECL_RELAXED_CONSTEXPR inline int &rheight();
- inline QSize &operator+=(const QSize &);
- inline QSize &operator-=(const QSize &);
- inline QSize &operator*=(qreal c);
+ Q_DECL_RELAXED_CONSTEXPR inline QSize &operator+=(const QSize &);
+ Q_DECL_RELAXED_CONSTEXPR inline QSize &operator-=(const QSize &);
+ Q_DECL_RELAXED_CONSTEXPR inline QSize &operator*=(qreal c);
inline QSize &operator/=(qreal c);
friend inline Q_DECL_CONSTEXPR bool operator==(const QSize &, const QSize &);
@@ -119,10 +119,10 @@ Q_DECL_CONSTEXPR inline int QSize::width() const
Q_DECL_CONSTEXPR inline int QSize::height() const
{ return ht; }
-inline void QSize::setWidth(int w)
+Q_DECL_RELAXED_CONSTEXPR inline void QSize::setWidth(int w)
{ wd = w; }
-inline void QSize::setHeight(int h)
+Q_DECL_RELAXED_CONSTEXPR inline void QSize::setHeight(int h)
{ ht = h; }
Q_DECL_CONSTEXPR inline QSize QSize::transposed() const
@@ -137,19 +137,19 @@ inline void QSize::scale(const QSize &s, Qt::AspectRatioMode mode)
inline QSize QSize::scaled(int w, int h, Qt::AspectRatioMode mode) const
{ return scaled(QSize(w, h), mode); }
-inline int &QSize::rwidth()
+Q_DECL_RELAXED_CONSTEXPR inline int &QSize::rwidth()
{ return wd; }
-inline int &QSize::rheight()
+Q_DECL_RELAXED_CONSTEXPR inline int &QSize::rheight()
{ return ht; }
-inline QSize &QSize::operator+=(const QSize &s)
+Q_DECL_RELAXED_CONSTEXPR inline QSize &QSize::operator+=(const QSize &s)
{ wd+=s.wd; ht+=s.ht; return *this; }
-inline QSize &QSize::operator-=(const QSize &s)
+Q_DECL_RELAXED_CONSTEXPR inline QSize &QSize::operator-=(const QSize &s)
{ wd-=s.wd; ht-=s.ht; return *this; }
-inline QSize &QSize::operator*=(qreal c)
+Q_DECL_RELAXED_CONSTEXPR inline QSize &QSize::operator*=(qreal c)
{ wd = qRound(wd*c); ht = qRound(ht*c); return *this; }
Q_DECL_CONSTEXPR inline bool operator==(const QSize &s1, const QSize &s2)
@@ -211,8 +211,8 @@ public:
Q_DECL_CONSTEXPR inline qreal width() const;
Q_DECL_CONSTEXPR inline qreal height() const;
- inline void setWidth(qreal w);
- inline void setHeight(qreal h);
+ Q_DECL_RELAXED_CONSTEXPR inline void setWidth(qreal w);
+ Q_DECL_RELAXED_CONSTEXPR inline void setHeight(qreal h);
void transpose();
Q_DECL_CONSTEXPR inline QSizeF transposed() const;
@@ -224,12 +224,12 @@ public:
Q_DECL_CONSTEXPR inline QSizeF expandedTo(const QSizeF &) const;
Q_DECL_CONSTEXPR inline QSizeF boundedTo(const QSizeF &) const;
- inline qreal &rwidth();
- inline qreal &rheight();
+ Q_DECL_RELAXED_CONSTEXPR inline qreal &rwidth();
+ Q_DECL_RELAXED_CONSTEXPR inline qreal &rheight();
- inline QSizeF &operator+=(const QSizeF &);
- inline QSizeF &operator-=(const QSizeF &);
- inline QSizeF &operator*=(qreal c);
+ Q_DECL_RELAXED_CONSTEXPR inline QSizeF &operator+=(const QSizeF &);
+ Q_DECL_RELAXED_CONSTEXPR inline QSizeF &operator-=(const QSizeF &);
+ Q_DECL_RELAXED_CONSTEXPR inline QSizeF &operator*=(qreal c);
inline QSizeF &operator/=(qreal c);
friend Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &, const QSizeF &);
@@ -284,10 +284,10 @@ Q_DECL_CONSTEXPR inline qreal QSizeF::width() const
Q_DECL_CONSTEXPR inline qreal QSizeF::height() const
{ return ht; }
-inline void QSizeF::setWidth(qreal w)
+Q_DECL_RELAXED_CONSTEXPR inline void QSizeF::setWidth(qreal w)
{ wd = w; }
-inline void QSizeF::setHeight(qreal h)
+Q_DECL_RELAXED_CONSTEXPR inline void QSizeF::setHeight(qreal h)
{ ht = h; }
Q_DECL_CONSTEXPR inline QSizeF QSizeF::transposed() const
@@ -302,19 +302,19 @@ inline void QSizeF::scale(const QSizeF &s, Qt::AspectRatioMode mode)
inline QSizeF QSizeF::scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const
{ return scaled(QSizeF(w, h), mode); }
-inline qreal &QSizeF::rwidth()
+Q_DECL_RELAXED_CONSTEXPR inline qreal &QSizeF::rwidth()
{ return wd; }
-inline qreal &QSizeF::rheight()
+Q_DECL_RELAXED_CONSTEXPR inline qreal &QSizeF::rheight()
{ return ht; }
-inline QSizeF &QSizeF::operator+=(const QSizeF &s)
+Q_DECL_RELAXED_CONSTEXPR inline QSizeF &QSizeF::operator+=(const QSizeF &s)
{ wd += s.wd; ht += s.ht; return *this; }
-inline QSizeF &QSizeF::operator-=(const QSizeF &s)
+Q_DECL_RELAXED_CONSTEXPR inline QSizeF &QSizeF::operator-=(const QSizeF &s)
{ wd -= s.wd; ht -= s.ht; return *this; }
-inline QSizeF &QSizeF::operator*=(qreal c)
+Q_DECL_RELAXED_CONSTEXPR inline QSizeF &QSizeF::operator*=(qreal c)
{ wd *= c; ht *= c; return *this; }
Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &s1, const QSizeF &s2)
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index 9921d5cfbb..e830ed36e5 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -70,6 +70,7 @@
#include "qchar.cpp"
#include "qstringmatcher.cpp"
#include "qstringiterator_p.h"
+#include "qstringalgorithms_p.h"
#include "qthreadstorage.h"
#ifdef Q_OS_WIN
@@ -731,12 +732,30 @@ inline char qToLower(char ch)
const QString::Null QString::null = { };
/*!
+ \macro QT_RESTRICTED_CAST_FROM_ASCII
+ \relates QString
+
+ Defining this macro disables most automatic conversions from source
+ literals and 8-bit data to unicode QStrings, but allows the use of
+ the \c{QChar(char)} and \c{QString(const char (&ch)[N]} constructors,
+ and the \c{QString::operator=(const char (&ch)[N])} assignment operator
+ giving most of the type-safety benefits of QT_NO_CAST_FROM_ASCII
+ but does not require user code to wrap character and string literals
+ with QLatin1Char, QLatin1String or similar.
+
+ Using this macro together with source strings outside the 7-bit range,
+ non-literals, or literals with embedded NUL characters is undefined.
+
+ \sa QT_NO_CAST_FROM_ASCII, QT_NO_CAST_TO_ASCII
+*/
+
+/*!
\macro QT_NO_CAST_FROM_ASCII
\relates QString
Disables automatic conversions from 8-bit strings (char *) to unicode QStrings
- \sa QT_NO_CAST_TO_ASCII, QT_NO_CAST_FROM_BYTEARRAY
+ \sa QT_NO_CAST_TO_ASCII, QT_RESTRICTED_CAST_FROM_ASCII, QT_NO_CAST_FROM_BYTEARRAY
*/
/*!
@@ -745,7 +764,7 @@ const QString::Null QString::null = { };
disables automatic conversion from QString to 8-bit strings (char *)
- \sa QT_NO_CAST_FROM_ASCII, QT_NO_CAST_FROM_BYTEARRAY
+ \sa QT_NO_CAST_FROM_ASCII, QT_RESTRICTED_CAST_FROM_ASCII, QT_NO_CAST_FROM_BYTEARRAY
*/
/*!
@@ -759,7 +778,7 @@ const QString::Null QString::null = { };
Note: This only works for compilers that support warnings for
deprecated API.
- \sa QT_NO_CAST_TO_ASCII, QT_NO_CAST_FROM_ASCII
+ \sa QT_NO_CAST_TO_ASCII, QT_NO_CAST_FROM_ASCII, QT_RESTRICTED_CAST_FROM_ASCII
*/
/*!
@@ -993,6 +1012,9 @@ const QString::Null QString::null = { };
\list
\li \c QT_NO_CAST_FROM_ASCII disables automatic conversions from
C string literals and pointers to Unicode.
+ \li \c QT_RESTRICTED_CAST_FROM_ASCII allows automatic conversions
+ from C characters and character arrays, but disables automatic
+ conversions from character pointers to Unicode.
\li \c QT_NO_CAST_TO_ASCII disables automatic conversion from QString
to C strings.
\endlist
@@ -1310,6 +1332,12 @@ const QString::Null QString::null = { };
can be useful if you want to ensure that all user-visible strings
go through QObject::tr(), for example.
+ \note Defining QT_RESTRICTED_CAST_FROM_ASCII also disables
+ this constructor, but enables a \c{QString(const char (&ch)[N])}
+ constructor instead. Using non-literal input, or input with
+ embedded NUL characters, or non-7-bit characters is undefined
+ in this case.
+
\sa fromLatin1(), fromLocal8Bit(), fromUtf8()
*/
@@ -1656,8 +1684,11 @@ void QString::resize(int size)
void QString::reallocData(uint alloc, bool grow)
{
- if (grow)
+ if (grow) {
+ if (alloc > (uint(MaxAllocSize) - sizeof(Data)) / sizeof(QChar))
+ qBadAlloc();
alloc = qAllocMore(alloc * sizeof(QChar), sizeof(Data)) / sizeof(QChar);
+ }
if (d->ref.isShared() || IS_RAW_DATA(d)) {
Data::AllocationOptions allocOptions(d->capacityReserved ? Data::CapacityReserved : 0);
@@ -1748,10 +1779,11 @@ QString &QString::operator=(const QString &other)
Assigns \a str to this string. The const char pointer is converted
to Unicode using the fromUtf8() function.
- You can disable this operator by defining \c
- QT_NO_CAST_FROM_ASCII when you compile your applications. This
- can be useful if you want to ensure that all user-visible strings
+ You can disable this operator by defining \c QT_NO_CAST_FROM_ASCII
+ or \c QT_RESTRICTED_CAST_FROM_ASCII when you compile your applications.
+ This can be useful if you want to ensure that all user-visible strings
go through QObject::tr(), for example.
+
*/
/*! \fn QString &QString::operator=(char ch)
@@ -3664,14 +3696,39 @@ int QString::count(const QRegExp& rx) const
*/
int QString::indexOf(const QRegularExpression& re, int from) const
{
+ return indexOf(re, from, Q_NULLPTR);
+}
+
+/*!
+ \overload
+ \since 5.5
+
+ Returns the index position of the first match of the regular
+ expression \a re in the string, searching forward from index
+ position \a from. Returns -1 if \a re didn't match anywhere.
+
+ If the match is successful and \a rmatch is not a null pointer, it also
+ writes the results of the match into the QRegularExpressionMatch object
+ pointed to by \a rmatch.
+
+ Example:
+
+ \snippet qstring/main.cpp 97
+*/
+int QString::indexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const
+{
if (!re.isValid()) {
qWarning("QString::indexOf: invalid QRegularExpression object");
return -1;
}
QRegularExpressionMatch match = re.match(*this, from);
- if (match.hasMatch())
- return match.capturedStart();
+ if (match.hasMatch()) {
+ const int ret = match.capturedStart();
+ if (rmatch)
+ *rmatch = qMove(match);
+ return ret;
+ }
return -1;
}
@@ -3690,22 +3747,45 @@ int QString::indexOf(const QRegularExpression& re, int from) const
*/
int QString::lastIndexOf(const QRegularExpression &re, int from) const
{
+ return lastIndexOf(re, from, Q_NULLPTR);
+}
+
+/*!
+ \overload
+ \since 5.5
+
+ Returns the index position of the last match of the regular
+ expression \a re in the string, which starts before the index
+ position \a from. Returns -1 if \a re didn't match anywhere.
+
+ If the match is successful and \a rmatch is not a null pointer, it also
+ writes the results of the match into the QRegularExpressionMatch object
+ pointed to by \a rmatch.
+
+ Example:
+
+ \snippet qstring/main.cpp 98
+*/
+int QString::lastIndexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const
+{
if (!re.isValid()) {
qWarning("QString::lastIndexOf: invalid QRegularExpression object");
return -1;
}
int endpos = (from < 0) ? (size() + from + 1) : (from + 1);
-
QRegularExpressionMatchIterator iterator = re.globalMatch(*this);
int lastIndex = -1;
while (iterator.hasNext()) {
QRegularExpressionMatch match = iterator.next();
int start = match.capturedStart();
- if (start < endpos)
+ if (start < endpos) {
lastIndex = start;
- else
+ if (rmatch)
+ *rmatch = qMove(match);
+ } else {
break;
+ }
}
return lastIndex;
@@ -3719,12 +3799,7 @@ int QString::lastIndexOf(const QRegularExpression &re, int from) const
*/
bool QString::contains(const QRegularExpression &re) const
{
- if (!re.isValid()) {
- qWarning("QString::contains: invalid QRegularExpression object");
- return false;
- }
- QRegularExpressionMatch match = re.match(*this);
- return match.hasMatch();
+ return contains(re, Q_NULLPTR);
}
/*!
@@ -3744,13 +3819,13 @@ bool QString::contains(const QRegularExpression &re) const
bool QString::contains(const QRegularExpression &re, QRegularExpressionMatch *match) const
{
if (!re.isValid()) {
- qWarning("QString::contains: invalid QRegularExpresssion object");
+ qWarning("QString::contains: invalid QRegularExpression object");
return false;
}
QRegularExpressionMatch m = re.match(*this);
bool hasMatch = m.hasMatch();
if (hasMatch && match)
- *match = m;
+ *match = qMove(m);
return hasMatch;
}
@@ -3912,12 +3987,14 @@ QString QString::section(const QString &sep, int start, int end, SectionFlags fl
#if !(defined(QT_NO_REGEXP) && defined(QT_NO_REGULAREXPRESSION))
class qt_section_chunk {
public:
- qt_section_chunk(int l, QString s) { length = l; string = s; }
+ qt_section_chunk() {}
+ qt_section_chunk(int l, QString s) : length(l), string(qMove(s)) {}
int length;
QString string;
};
+Q_DECLARE_TYPEINFO(qt_section_chunk, Q_MOVABLE_TYPE);
-static QString extractSections(const QList<qt_section_chunk> &sections,
+static QString extractSections(const QVector<qt_section_chunk> &sections,
int start,
int end,
QString::SectionFlags flags)
@@ -4003,7 +4080,7 @@ QString QString::section(const QRegExp &reg, int start, int end, SectionFlags fl
sep.setCaseSensitivity((flags & SectionCaseInsensitiveSeps) ? Qt::CaseInsensitive
: Qt::CaseSensitive);
- QList<qt_section_chunk> sections;
+ QVector<qt_section_chunk> sections;
int n = length(), m = 0, last_m = 0, last_len = 0;
while ((m = sep.indexIn(*this, m)) != -1) {
sections.append(qt_section_chunk(last_len, QString(uc + last_m, m - last_m)));
@@ -4048,7 +4125,7 @@ QString QString::section(const QRegularExpression &re, int start, int end, Secti
if (flags & SectionCaseInsensitiveSeps)
sep.setPatternOptions(sep.patternOptions() | QRegularExpression::CaseInsensitiveOption);
- QList<qt_section_chunk> sections;
+ QVector<qt_section_chunk> sections;
int n = length(), m = 0, last_m = 0, last_len = 0;
QRegularExpressionMatchIterator iterator = sep.globalMatch(*this);
while (iterator.hasNext()) {
@@ -4626,6 +4703,8 @@ QString& QString::setUnicode(const QChar *unicode, int size)
*/
/*!
+ \fn QString QString::simplified() const
+
Returns a string that has whitespace removed from the start
and the end, and that has each sequence of internal whitespace
replaced with a single space.
@@ -4640,83 +4719,19 @@ QString& QString::setUnicode(const QChar *unicode, int size)
\sa trimmed()
*/
-QString QString::simplified() const
+QString QString::simplified_helper(const QString &str)
{
- if (d->size == 0)
- return *this;
-
- const QChar * const start = reinterpret_cast<QChar *>(d->data());
- const QChar *from = start;
- const QChar *fromEnd = start + d->size;
- forever {
- QChar ch = *from;
- if (!ch.isSpace())
- break;
- if (++from == fromEnd) {
- // All-whitespace string
- QStringDataPtr empty = { Data::allocate(0) };
- return QString(empty);
- }
- }
- // This loop needs no underflow check, as we already determined that
- // the string contains non-whitespace. If the string has exactly one
- // non-whitespace, it will be checked twice - we can live with that.
- while (fromEnd[-1].isSpace())
- fromEnd--;
- // The rest of the function depends on the fact that we already know
- // that the last character in the source is no whitespace.
- const QChar *copyFrom = from;
- int copyCount;
- forever {
- if (++from == fromEnd) {
- // Only leading and/or trailing whitespace, if any at all
- return mid(copyFrom - start, from - copyFrom);
- }
- QChar ch = *from;
- if (!ch.isSpace())
- continue;
- if (ch != QLatin1Char(' ')) {
- copyCount = from - copyFrom;
- break;
- }
- ch = *++from;
- if (ch.isSpace()) {
- copyCount = from - copyFrom - 1;
- break;
- }
- }
- // 'from' now points at the non-trailing whitespace which made the
- // string not simplified in the first place. 'copyCount' is the number
- // of already simplified characters - at least one, obviously -
- // without a trailing space.
- QString result((fromEnd - from) + copyCount, Qt::Uninitialized);
- QChar *to = reinterpret_cast<QChar *>(result.d->data());
- ::memcpy(to, copyFrom, copyCount * 2);
- to += copyCount;
- fromEnd--;
- QChar ch;
- forever {
- *to++ = QLatin1Char(' ');
- do {
- ch = *++from;
- } while (ch.isSpace());
- if (from == fromEnd)
- break;
- do {
- *to++ = ch;
- ch = *++from;
- if (from == fromEnd)
- goto done;
- } while (!ch.isSpace());
+ return QStringAlgorithms<const QString>::simplified_helper(str);
+}
- }
- done:
- *to++ = ch;
- result.truncate(to - reinterpret_cast<QChar *>(result.d->data()));
- return result;
+QString QString::simplified_helper(QString &str)
+{
+ return QStringAlgorithms<QString>::simplified_helper(str);
}
/*!
+ \fn QString QString::trimmed() const
+
Returns a string that has whitespace removed from the start and
the end.
@@ -4732,27 +4747,14 @@ QString QString::simplified() const
\sa simplified()
*/
-QString QString::trimmed() const
+QString QString::trimmed_helper(const QString &str)
{
- if (d->size == 0)
- return *this;
- const QChar *s = (const QChar*)d->data();
- if (!s->isSpace() && !s[d->size-1].isSpace())
- return *this;
- int start = 0;
- int end = d->size - 1;
- while (start<=end && s[start].isSpace()) // skip white space from start
- start++;
- if (start <= end) { // only white space
- while (end && s[end].isSpace()) // skip white space from end
- end--;
- }
- int l = end - start + 1;
- if (l <= 0) {
- QStringDataPtr empty = { Data::allocate(0) };
- return QString(empty);
- }
- return QString(s + start, l);
+ return QStringAlgorithms<const QString>::trimmed_helper(str);
+}
+
+QString QString::trimmed_helper(QString &str)
+{
+ return QStringAlgorithms<QString>::trimmed_helper(str);
}
/*! \fn const QChar QString::at(int position) const
@@ -5519,6 +5521,8 @@ QString QString::rightJustified(int width, QChar fill, bool truncate) const
}
/*!
+ \fn QString QString::toLower() const
+
Returns a lowercase copy of the string.
\snippet qstring/main.cpp 75
@@ -5529,132 +5533,118 @@ QString QString::rightJustified(int width, QChar fill, bool truncate) const
\sa toUpper(), QLocale::toLower()
*/
-QString QString::toLower() const
+namespace QUnicodeTables {
+struct LowercaseTraits
{
- const ushort *p = d->data();
- if (!p)
- return *this;
+ static signed short caseDiff(const Properties *prop)
+ { return prop->lowerCaseDiff; }
+ static bool caseSpecial(const Properties *prop)
+ { return prop->lowerCaseSpecial; }
+};
- const ushort *e = p + d->size;
- // this avoids out of bounds check in the loop
- while (e != p && QChar::isHighSurrogate(*(e - 1)))
- --e;
+struct UppercaseTraits
+{
+ static signed short caseDiff(const Properties *prop)
+ { return prop->upperCaseDiff; }
+ static bool caseSpecial(const Properties *prop)
+ { return prop->upperCaseSpecial; }
+};
- const QUnicodeTables::Properties *prop;
- while (p != e) {
- if (QChar::isHighSurrogate(*p) && QChar::isLowSurrogate(p[1])) {
- ushort high = *p++;
- prop = qGetProp(QChar::surrogateToUcs4(high, *p));
+struct CasefoldTraits
+{
+ static signed short caseDiff(const Properties *prop)
+ { return prop->caseFoldDiff; }
+ static bool caseSpecial(const Properties *prop)
+ { return prop->caseFoldSpecial; }
+};
+
+template <typename Traits, typename T>
+#ifdef Q_CC_MSVC
+__declspec(noinline)
+#elif defined(Q_CC_GNU)
+__attribute__((noinline))
+#endif
+static QString detachAndConvertCase(T &str, QStringIterator it)
+{
+ QString s = qMove(str); // will copy if T is const QString
+ QChar *pp = s.begin() + it.index(); // will detach if necessary
+ uint uc = it.nextUnchecked();
+ forever {
+ const QUnicodeTables::Properties *prop = qGetProp(uc);
+ signed short caseDiff = Traits::caseDiff(prop);
+
+ if (Q_UNLIKELY(Traits::caseSpecial(prop))) {
+ // slow path
+ const ushort *specialCase = specialCaseMap + caseDiff;
+ ushort length = *specialCase++;
+ int pos = pp - s.constBegin();
+ s.replace(pos, 1, reinterpret_cast<const QChar *>(specialCase), length);
+ pp = const_cast<QChar *>(s.constBegin()) + pos + length;
+ } else if (QChar::requiresSurrogates(uc)) {
+ *pp++ = QChar::highSurrogate(uc + caseDiff);
+ *pp++ = QChar::lowSurrogate(uc + caseDiff);
} else {
- prop = qGetProp(*p);
+ *pp++ = QChar(uc + caseDiff);
}
- if (prop->lowerCaseDiff) {
- if (QChar::isLowSurrogate(*p))
- --p; // safe; diff is 0 for surrogates
- QString s(d->size, Qt::Uninitialized);
- memcpy(s.d->data(), d->data(), (p - d->data())*sizeof(ushort));
- ushort *pp = s.d->data() + (p - d->data());
- while (p != e) {
- if (QChar::isHighSurrogate(*p) && QChar::isLowSurrogate(p[1])) {
- *pp = *p++;
- prop = qGetProp(QChar::surrogateToUcs4(*pp++, *p));
- } else {
- prop = qGetProp(*p);
- }
- if (prop->lowerCaseSpecial) {
- const ushort *specialCase = specialCaseMap + prop->lowerCaseDiff;
- ushort length = *specialCase++;
- int pos = pp - s.d->data();
- s.resize(s.d->size + length - 1);
- pp = s.d->data() + pos;
- while (length--)
- *pp++ = *specialCase++;
- } else {
- *pp++ = *p + prop->lowerCaseDiff;
- }
- ++p;
- }
-
- // this restores high surrogate parts eaten above, if any
- while (e != d->data() + d->size)
- *pp++ = *e++;
+ if (!it.hasNext())
return s;
- }
- ++p;
+
+ uc = it.nextUnchecked();
}
- return *this;
}
-/*!
- Returns the case folded equivalent of the string. For most Unicode
- characters this is the same as toLower().
-*/
-QString QString::toCaseFolded() const
+template <typename Traits, typename T>
+static QString convertCase(T &str)
{
- const ushort *p = d->data();
- if (!p)
- return *this;
+ const QChar *p = str.constBegin();
+ const QChar *e = p + str.size();
- const ushort *e = p + d->size;
// this avoids out of bounds check in the loop
- while (e != p && QChar::isHighSurrogate(*(e - 1)))
+ while (e != p && e[-1].isHighSurrogate())
--e;
const QUnicodeTables::Properties *prop;
- while (p != e) {
- if (QChar::isHighSurrogate(*p) && QChar::isLowSurrogate(p[1])) {
- ushort high = *p++;
- prop = qGetProp(QChar::surrogateToUcs4(high, *p));
- } else {
- prop = qGetProp(*p);
- }
- if (prop->caseFoldDiff) {
- if (QChar::isLowSurrogate(*p))
- --p; // safe; diff is 0 for surrogates
- QString s(d->size, Qt::Uninitialized);
- memcpy(s.d->data(), d->data(), (p - d->data())*sizeof(ushort));
- ushort *pp = s.d->data() + (p - d->data());
- while (p != e) {
- if (QChar::isHighSurrogate(*p) && QChar::isLowSurrogate(p[1])) {
- *pp = *p++;
- prop = qGetProp(QChar::surrogateToUcs4(*pp++, *p));
- } else {
- prop = qGetProp(*p);
- }
- if (prop->caseFoldSpecial) {
- const ushort *specialCase = specialCaseMap + prop->caseFoldDiff;
- ushort length = *specialCase++;
-#if 0
- int pos = pp - s.d->data;
- s.resize(s.d->size + length - 1);
- pp = s.d->data + pos;
- while (length--)
- *pp++ = *specialCase++;
-#else
- //### we currently don't support full case foldings
- Q_ASSERT(length == 1);
- Q_UNUSED(length)
- *pp++ = *specialCase;
-#endif
- } else {
- *pp++ = *p + prop->caseFoldDiff;
- }
- ++p;
- }
+ QStringIterator it(p, e);
+ for ( ; it.hasNext(); it.advanceUnchecked()) {
+ prop = qGetProp(it.peekNextUnchecked());
+ if (Traits::caseDiff(prop))
+ return detachAndConvertCase<Traits>(str, it);
+ }
+ return qMove(str);
+}
+} // namespace QUnicodeTables
- // this restores high surrogate parts eaten above, if any
- while (e != d->data() + d->size)
- *pp++ = *e++;
+QString QString::toLower_helper(const QString &str)
+{
+ return QUnicodeTables::convertCase<QUnicodeTables::LowercaseTraits>(str);
+}
- return s;
- }
- ++p;
- }
- return *this;
+QString QString::toLower_helper(QString &str)
+{
+ return QUnicodeTables::convertCase<QUnicodeTables::LowercaseTraits>(str);
}
/*!
+ \fn QString QString::toCaseFolded() const
+
+ Returns the case folded equivalent of the string. For most Unicode
+ characters this is the same as toLower().
+*/
+
+QString QString::toCaseFolded_helper(const QString &str)
+{
+ return QUnicodeTables::convertCase<QUnicodeTables::CasefoldTraits>(str);
+}
+
+QString QString::toCaseFolded_helper(QString &str)
+{
+ return QUnicodeTables::convertCase<QUnicodeTables::CasefoldTraits>(str);
+}
+
+/*!
+ \fn QString QString::toUpper() const
+
Returns an uppercase copy of the string.
\snippet qstring/main.cpp 81
@@ -5664,63 +5654,18 @@ QString QString::toCaseFolded() const
\sa toLower(), QLocale::toLower()
*/
-QString QString::toUpper() const
-{
- const ushort *p = d->data();
- if (!p)
- return *this;
- const ushort *e = p + d->size;
- // this avoids out of bounds check in the loop
- while (e != p && QChar::isHighSurrogate(*(e - 1)))
- --e;
-
- const QUnicodeTables::Properties *prop;
- while (p != e) {
- if (QChar::isHighSurrogate(*p) && QChar::isLowSurrogate(p[1])) {
- ushort high = *p++;
- prop = qGetProp(QChar::surrogateToUcs4(high, *p));
- } else {
- prop = qGetProp(*p);
- }
- if (prop->upperCaseDiff) {
- if (QChar::isLowSurrogate(*p))
- --p; // safe; diff is 0 for surrogates
- QString s(d->size, Qt::Uninitialized);
- memcpy(s.d->data(), d->data(), (p - d->data())*sizeof(ushort));
- ushort *pp = s.d->data() + (p - d->data());
- while (p != e) {
- if (QChar::isHighSurrogate(*p) && QChar::isLowSurrogate(p[1])) {
- *pp = *p++;
- prop = qGetProp(QChar::surrogateToUcs4(*pp++, *p));
- } else {
- prop = qGetProp(*p);
- }
- if (prop->upperCaseSpecial) {
- const ushort *specialCase = specialCaseMap + prop->upperCaseDiff;
- ushort length = *specialCase++;
- int pos = pp - s.d->data();
- s.resize(s.d->size + length - 1);
- pp = s.d->data() + pos;
- while (length--)
- *pp++ = *specialCase++;
- } else {
- *pp++ = *p + prop->upperCaseDiff;
- }
- ++p;
- }
-
- // this restores high surrogate parts eaten above, if any
- while (e != d->data() + d->size)
- *pp++ = *e++;
+QString QString::toUpper_helper(const QString &str)
+{
+ return QUnicodeTables::convertCase<QUnicodeTables::UppercaseTraits>(str);
+}
- return s;
- }
- ++p;
- }
- return *this;
+QString QString::toUpper_helper(QString &str)
+{
+ return QUnicodeTables::convertCase<QUnicodeTables::UppercaseTraits>(str);
}
+
// ### Qt 6: Consider whether this function shouldn't be removed See task 202871.
/*!
Safely builds a formatted string from the format string \a cformat
@@ -9843,20 +9788,15 @@ QVector<uint> QStringRef::toUcs4() const
*/
QStringRef QStringRef::trimmed() const
{
- if (m_size == 0 || m_string == 0)
+ const QChar *begin = cbegin();
+ const QChar *end = cend();
+ QStringAlgorithms<const QStringRef>::trimmed_helper_positions(begin, end);
+ if (begin == cbegin() && end == cend())
return *this;
- const QChar *s = m_string->constData() + m_position;
- int start = 0;
- int end = m_size - 1;
- while (start <= end && s[start].isSpace()) // skip white space from start
- start++;
- if (start <= end) { // only white space
- while (end && s[end].isSpace()) // skip white space from end
- end--;
- }
- int l = end - start + 1;
- Q_ASSERT(l >= 0);
- return QStringRef(m_string, m_position + start, l);
+ if (begin == end)
+ return QStringRef();
+ int position = m_position + (begin - cbegin());
+ return QStringRef(m_string, position, end - begin);
}
/*!
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h
index a12946e23c..718f10860a 100644
--- a/src/corelib/tools/qstring.h
+++ b/src/corelib/tools/qstring.h
@@ -34,6 +34,10 @@
#ifndef QSTRING_H
#define QSTRING_H
+#if defined(QT_NO_CAST_FROM_ASCII) && defined(QT_RESTRICTED_CAST_FROM_ASCII)
+#error QT_NO_CAST_FROM_ASCII and QT_RESTRICTED_CAST_FROM_ASCII must not be defined at the same time
+#endif
+
#include <QtCore/qchar.h>
#include <QtCore/qbytearray.h>
#include <QtCore/qrefcount.h>
@@ -93,7 +97,7 @@ public:
inline bool operator>=(const QString &s) const;
inline bool operator<=(const QString &s) const;
-#ifndef QT_NO_CAST_FROM_ASCII
+#if !defined(QT_NO_CAST_FROM_ASCII) && !defined(QT_RESTRICTED_CAST_FROM_ASCII)
inline QT_ASCII_CAST_WARN bool operator==(const char *s) const;
inline QT_ASCII_CAST_WARN bool operator!=(const char *s) const;
inline QT_ASCII_CAST_WARN bool operator<(const char *s) const;
@@ -107,7 +111,7 @@ public:
inline QT_ASCII_CAST_WARN bool operator>(const QByteArray &s) const;
inline QT_ASCII_CAST_WARN bool operator<=(const QByteArray &s) const;
inline QT_ASCII_CAST_WARN bool operator>=(const QByteArray &s) const;
-#endif // QT_NO_CAST_FROM_ASCII
+#endif // !defined(QT_NO_CAST_FROM_ASCII) && !defined(QT_RESTRICTED_CAST_FROM_ASCII)
private:
int m_size;
@@ -327,7 +331,9 @@ public:
#ifndef QT_NO_REGULAREXPRESSION
int indexOf(const QRegularExpression &re, int from = 0) const;
+ int indexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const; // ### Qt 6: merge overloads
int lastIndexOf(const QRegularExpression &re, int from = -1) const;
+ int lastIndexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const; // ### Qt 6: merge overloads
bool contains(const QRegularExpression &re) const;
bool contains(const QRegularExpression &re, QRegularExpressionMatch *match) const; // ### Qt 6: merge overloads
int count(const QRegularExpression &re) const;
@@ -369,12 +375,44 @@ public:
QString leftJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const Q_REQUIRED_RESULT;
QString rightJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const Q_REQUIRED_RESULT;
+#if defined(Q_COMPILER_REF_QUALIFIERS) && !defined(QT_COMPILING_QSTRING_COMPAT_CPP)
+# if defined(Q_CC_GNU)
+ // required due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61941
+# pragma push_macro("Q_REQUIRED_RESULT")
+# undef Q_REQUIRED_RESULT
+# define Q_REQUIRED_RESULT
+# define Q_REQUIRED_RESULT_pushed
+# endif
+ QString toLower() const & Q_REQUIRED_RESULT
+ { return toLower_helper(*this); }
+ QString toLower() && Q_REQUIRED_RESULT
+ { return toLower_helper(*this); }
+ QString toUpper() const & Q_REQUIRED_RESULT
+ { return toUpper_helper(*this); }
+ QString toUpper() && Q_REQUIRED_RESULT
+ { return toUpper_helper(*this); }
+ QString toCaseFolded() const & Q_REQUIRED_RESULT
+ { return toCaseFolded_helper(*this); }
+ QString toCaseFolded() && Q_REQUIRED_RESULT
+ { return toCaseFolded_helper(*this); }
+ QString trimmed() const & Q_REQUIRED_RESULT
+ { return trimmed_helper(*this); }
+ QString trimmed() && Q_REQUIRED_RESULT
+ { return trimmed_helper(*this); }
+ QString simplified() const & Q_REQUIRED_RESULT
+ { return simplified_helper(*this); }
+ QString simplified() && Q_REQUIRED_RESULT
+ { return simplified_helper(*this); }
+# ifdef Q_REQUIRED_RESULT_pushed
+# pragma pop_macro("Q_REQUIRED_RESULT")
+# endif
+#else
QString toLower() const Q_REQUIRED_RESULT;
QString toUpper() const Q_REQUIRED_RESULT;
QString toCaseFolded() const Q_REQUIRED_RESULT;
-
QString trimmed() const Q_REQUIRED_RESULT;
QString simplified() const Q_REQUIRED_RESULT;
+#endif
QString toHtmlEscaped() const Q_REQUIRED_RESULT;
QString &insert(int i, QChar c);
@@ -596,7 +634,16 @@ public:
inline bool operator>=(QLatin1String s) const { return !operator<(s); }
// ASCII compatibility
-#ifndef QT_NO_CAST_FROM_ASCII
+#if defined(QT_RESTRICTED_CAST_FROM_ASCII)
+ template <int N>
+ inline QString(const char (&ch)[N])
+ : d(fromAscii_helper(ch, N - 1))
+ {}
+ template <int N>
+ inline QString &operator=(const char (&ch)[N])
+ { return (*this = fromLatin1(ch, N - 1)); }
+#endif
+#if !defined(QT_NO_CAST_FROM_ASCII) && !defined(QT_RESTRICTED_CAST_FROM_ASCII)
inline QT_ASCII_CAST_WARN QString(const char *ch)
: d(fromAscii_helper(ch, ch ? int(strlen(ch)) : -1))
{}
@@ -734,6 +781,16 @@ private:
Qt::CaseSensitivity cs = Qt::CaseSensitive);
static int localeAwareCompare_helper(const QChar *data1, int length1,
const QChar *data2, int length2);
+ static QString toLower_helper(const QString &str);
+ static QString toLower_helper(QString &str);
+ static QString toUpper_helper(const QString &str);
+ static QString toUpper_helper(QString &str);
+ static QString toCaseFolded_helper(const QString &str);
+ static QString toCaseFolded_helper(QString &str);
+ static QString trimmed_helper(const QString &str);
+ static QString trimmed_helper(QString &str);
+ static QString simplified_helper(const QString &str);
+ static QString simplified_helper(QString &str);
static Data *fromLatin1_helper(const char *str, int size = -1);
static Data *fromAscii_helper(const char *str, int size = -1);
static QString fromUtf8_helper(const char *str, int size);
@@ -1083,7 +1140,7 @@ inline bool QLatin1String::operator>=(const QString &s) const
inline bool QLatin1String::operator<=(const QString &s) const
{ return s >= *this; }
-#ifndef QT_NO_CAST_FROM_ASCII
+#if !defined(QT_NO_CAST_FROM_ASCII) && !defined(QT_RESTRICTED_CAST_FROM_ASCII)
inline bool QString::operator==(const char *s) const
{ return QString::compare_helper(constData(), size(), s, -1) == 0; }
inline bool QString::operator!=(const char *s) const
@@ -1174,7 +1231,7 @@ inline bool QByteArray::operator<=(const QString &s) const
{ return QString::compare_helper(s.constData(), s.size(), constData(), qstrnlen(constData(), size())) <= 0; }
inline bool QByteArray::operator>=(const QString &s) const
{ return QString::compare_helper(s.constData(), s.size(), constData(), qstrnlen(constData(), size())) >= 0; }
-#endif // QT_NO_CAST_FROM_ASCII
+#endif // !defined(QT_NO_CAST_FROM_ASCII) && !defined(QT_RESTRICTED_CAST_FROM_ASCII)
#ifndef QT_NO_CAST_TO_ASCII
inline QByteArray &QByteArray::append(const QString &s)
@@ -1202,7 +1259,7 @@ inline const QString operator+(const QString &s1, QChar s2)
{ QString t(s1); t += s2; return t; }
inline const QString operator+(QChar s1, const QString &s2)
{ QString t(s1); t += s2; return t; }
-# ifndef QT_NO_CAST_FROM_ASCII
+# if !defined(QT_NO_CAST_FROM_ASCII) && !defined(QT_RESTRICTED_CAST_FROM_ASCII)
inline QT_ASCII_CAST_WARN const QString operator+(const QString &s1, const char *s2)
{ QString t(s1); t += QString::fromUtf8(s2); return t; }
inline QT_ASCII_CAST_WARN const QString operator+(const char *s1, const QString &s2)
@@ -1355,7 +1412,7 @@ public:
inline const QChar at(int i) const
{ Q_ASSERT(uint(i) < uint(size())); return m_string->at(i + m_position); }
-#ifndef QT_NO_CAST_FROM_ASCII
+#if !defined(QT_NO_CAST_FROM_ASCII) && !defined(QT_RESTRICTED_CAST_FROM_ASCII)
// ASCII compatibility
inline QT_ASCII_CAST_WARN bool operator==(const char *s) const;
inline QT_ASCII_CAST_WARN bool operator!=(const char *s) const;
@@ -1429,7 +1486,7 @@ inline bool operator<=(const QStringRef &s1, const QStringRef &s2)
inline bool operator>=(const QStringRef &s1, const QStringRef &s2)
{ return !(s1 < s2); }
-#ifndef QT_NO_CAST_FROM_ASCII
+#if !defined(QT_NO_CAST_FROM_ASCII) && !defined(QT_RESTRICTED_CAST_FROM_ASCII)
inline QT_ASCII_CAST_WARN bool QStringRef::operator==(const char *s) const
{ return QString::compare_helper(constData(), size(), s, -1) == 0; }
inline QT_ASCII_CAST_WARN bool QStringRef::operator!=(const char *s) const
@@ -1455,7 +1512,7 @@ inline QT_ASCII_CAST_WARN bool operator>(const char *s1, const QStringRef &s2)
{ return QString::compare_helper(s2.constData(), s2.size(), s1, -1) <= 0; }
inline QT_ASCII_CAST_WARN bool operator>=(const char *s1, const QStringRef &s2)
{ return QString::compare_helper(s2.constData(), s2.size(), s1, -1) >= 0; }
-#endif // QT_NO_CAST_FROM_ASCII
+#endif // !defined(QT_NO_CAST_FROM_ASCII) && !defined(QT_RESTRICTED_CAST_FROM_ASCII)
inline int QString::compare(const QStringRef &s, Qt::CaseSensitivity cs) const
{ return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); }
diff --git a/src/corelib/tools/qstring_compat.cpp b/src/corelib/tools/qstring_compat.cpp
index c776092569..d4f21e483a 100644
--- a/src/corelib/tools/qstring_compat.cpp
+++ b/src/corelib/tools/qstring_compat.cpp
@@ -31,16 +31,42 @@
**
****************************************************************************/
-#if defined(QSTRING_H)
+#if defined(QSTRING_H) || defined(QBYTEARRAY_H)
# error "This file cannot be compiled with pre-compiled headers"
#endif
#define QT_COMPILING_QSTRING_COMPAT_CPP
+#include "qbytearray.h"
#include "qstring.h"
QT_BEGIN_NAMESPACE
// all these implementations must be the same as the inline versions in qstring.h
+QString QString::trimmed() const
+{
+ return trimmed_helper(*this);
+}
+
+QString QString::simplified() const
+{
+ return simplified_helper(*this);
+}
+
+QString QString::toLower() const
+{
+ return toLower_helper(*this);
+}
+
+QString QString::toCaseFolded() const
+{
+ return toCaseFolded_helper(*this);
+}
+
+QString QString::toUpper() const
+{
+ return toUpper_helper(*this);
+}
+
QByteArray QString::toLatin1() const
{
return toLatin1_helper(*this);
@@ -56,4 +82,25 @@ QByteArray QString::toUtf8() const
return toUtf8_helper(*this);
}
+// ditto, for qbytearray.h (because we're lazy)
+QByteArray QByteArray::toLower() const
+{
+ return toLower_helper(*this);
+}
+
+QByteArray QByteArray::toUpper() const
+{
+ return toUpper_helper(*this);
+}
+
+QByteArray QByteArray::trimmed() const
+{
+ return trimmed_helper(*this);
+}
+
+QByteArray QByteArray::simplified() const
+{
+ return simplified_helper(*this);
+}
+
QT_END_NAMESPACE
diff --git a/src/corelib/tools/qstringalgorithms_p.h b/src/corelib/tools/qstringalgorithms_p.h
new file mode 100644
index 0000000000..2911055f6a
--- /dev/null
+++ b/src/corelib/tools/qstringalgorithms_p.h
@@ -0,0 +1,156 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Intel Corporation.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSTRINGALGORITHMS_P_H
+#define QSTRINGALGORITHMS_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of internal files. This header file may change from version to version
+// without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qstring.h"
+#include "qlocale_p.h" // for ascii_isspace
+
+QT_BEGIN_NAMESPACE
+
+template <typename StringType> struct QStringAlgorithms
+{
+ typedef typename StringType::value_type Char;
+ typedef typename StringType::size_type size_type;
+ typedef typename QtPrivate::remove_cv<StringType>::type NakedStringType;
+ static const bool isConst = QtPrivate::is_const<StringType>::value;
+
+ static inline bool isSpace(char ch) { return ascii_isspace(ch); }
+ static inline bool isSpace(QChar ch) { return ch.isSpace(); }
+
+ // Surrogate pairs are not handled in either of the functions below. That is
+ // not a problem because there are no space characters (Zs, Zl, Zp) outside the
+ // Basic Multilingual Plane.
+
+ static inline StringType trimmed_helper_inplace(NakedStringType &str, const Char *begin, const Char *end)
+ {
+ // in-place trimming:
+ Char *data = const_cast<Char *>(str.cbegin());
+ if (begin != data)
+ memmove(data, begin, (end - begin) * sizeof(Char));
+ str.resize(end - begin);
+ return qMove(str);
+ }
+
+ static inline StringType trimmed_helper_inplace(const NakedStringType &, const Char *, const Char *)
+ {
+ // can't happen
+ Q_UNREACHABLE();
+ return StringType();
+ }
+
+ static inline void trimmed_helper_positions(const Char *&begin, const Char *&end)
+ {
+ // skip white space from start
+ while (begin < end && isSpace(*begin))
+ begin++;
+ // skip white space from end
+ if (begin < end) {
+ while (begin < end && isSpace(end[-1]))
+ end--;
+ }
+ }
+
+ static inline StringType trimmed_helper(StringType &str)
+ {
+ const Char *begin = str.cbegin();
+ const Char *end = str.cend();
+ trimmed_helper_positions(begin, end);
+
+ if (begin == str.cbegin() && end == str.cend())
+ return str;
+ if (begin == end)
+ return StringType();
+ if (!isConst && str.isDetached())
+ return trimmed_helper_inplace(str, begin, end);
+ return StringType(begin, end - begin);
+ }
+
+ static inline StringType simplified_helper(StringType &str)
+ {
+ if (str.isEmpty())
+ return str;
+ const Char *src = str.cbegin();
+ const Char *end = str.cend();
+ NakedStringType result = isConst ?
+ StringType(str.size(), Qt::Uninitialized) :
+ qMove(str);
+
+ Char *dst = const_cast<Char *>(result.cbegin());
+ Char *ptr = dst;
+ forever {
+ while (src != end && isSpace(*src))
+ ++src;
+ while (src != end && !isSpace(*src))
+ *ptr++ = *src++;
+ if (src != end)
+ *ptr++ = QChar::Space;
+ else
+ break;
+ }
+ if (ptr != dst && ptr[-1] == QChar::Space)
+ --ptr;
+
+ int newlen = ptr - dst;
+ if (isConst && newlen == str.size()) {
+ // nothing happened, return the original
+ return str;
+ }
+ result.resize(newlen);
+ return result;
+ }
+};
+
+QT_END_NAMESPACE
+
+#endif // QSTRINGALGORITHMS_P_H
diff --git a/src/corelib/tools/qstringiterator_p.h b/src/corelib/tools/qstringiterator_p.h
index b80193b790..3f431daf6f 100644
--- a/src/corelib/tools/qstringiterator_p.h
+++ b/src/corelib/tools/qstringiterator_p.h
@@ -74,6 +74,11 @@ public:
return pos;
}
+ inline int index() const
+ {
+ return pos - i;
+ }
+
inline void setPosition(QString::const_iterator position)
{
Q_ASSERT_X(i <= position && position <= e, Q_FUNC_INFO, "position out of bounds");
diff --git a/src/corelib/tools/qtimezone.cpp b/src/corelib/tools/qtimezone.cpp
index 8f3db74131..fb5af2bf4a 100644
--- a/src/corelib/tools/qtimezone.cpp
+++ b/src/corelib/tools/qtimezone.cpp
@@ -56,6 +56,8 @@ static QTimeZonePrivate *newBackendTimeZone()
#else
#if defined Q_OS_MAC
return new QMacTimeZonePrivate();
+#elif defined Q_OS_ANDROID
+ return new QAndroidTimeZonePrivate();
#elif defined Q_OS_UNIX
return new QTzTimeZonePrivate();
// Registry based timezone backend not available on WinRT
@@ -81,6 +83,8 @@ static QTimeZonePrivate *newBackendTimeZone(const QByteArray &ianaId)
#else
#if defined Q_OS_MAC
return new QMacTimeZonePrivate(ianaId);
+#elif defined Q_OS_ANDROID
+ return new QAndroidTimeZonePrivate(ianaId);
#elif defined Q_OS_UNIX
return new QTzTimeZonePrivate(ianaId);
// Registry based timezone backend not available on WinRT
diff --git a/src/corelib/tools/qtimezoneprivate_android.cpp b/src/corelib/tools/qtimezoneprivate_android.cpp
new file mode 100644
index 0000000000..ab1ada2341
--- /dev/null
+++ b/src/corelib/tools/qtimezoneprivate_android.cpp
@@ -0,0 +1,235 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Drew Parsons <dparsons@emerall.com>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QSet>
+#include "qtimezone.h"
+#include "qtimezoneprivate_p.h"
+
+QT_BEGIN_NAMESPACE
+
+/*
+ Private
+
+ Android implementation
+*/
+
+// Create the system default time zone
+QAndroidTimeZonePrivate::QAndroidTimeZonePrivate()
+ : QTimeZonePrivate()
+{
+ // start with system time zone
+ androidTimeZone = QJNIObjectPrivate::callStaticObjectMethod("java.util.TimeZone", "getDefault", "()Ljava/util/TimeZone;");
+ init("UTC");
+}
+
+// Create a named time zone
+QAndroidTimeZonePrivate::QAndroidTimeZonePrivate(const QByteArray &ianaId)
+ : QTimeZonePrivate()
+{
+ init(ianaId);
+}
+
+QAndroidTimeZonePrivate::QAndroidTimeZonePrivate(const QAndroidTimeZonePrivate &other)
+ : QTimeZonePrivate(other)
+{
+ androidTimeZone = other.androidTimeZone;
+ m_id = other.id();
+}
+
+QAndroidTimeZonePrivate::~QAndroidTimeZonePrivate()
+{
+}
+
+
+void QAndroidTimeZonePrivate::init(const QByteArray &ianaId)
+{
+ QJNIObjectPrivate jo_ianaId = QJNIObjectPrivate::fromString( QString::fromUtf8(ianaId) );
+ androidTimeZone = QJNIObjectPrivate::callStaticObjectMethod( "java.util.TimeZone", "getTimeZone", "(Ljava/lang/String;)Ljava/util/TimeZone;", static_cast<jstring>(jo_ianaId.object()) );
+
+ if (ianaId.isEmpty())
+ m_id = systemTimeZoneId();
+ else
+ m_id = ianaId;
+}
+
+QTimeZonePrivate *QAndroidTimeZonePrivate::clone()
+{
+ return new QAndroidTimeZonePrivate(*this);
+}
+
+
+QString QAndroidTimeZonePrivate::displayName(QTimeZone::TimeType timeType, QTimeZone::NameType nameType,
+ const QLocale &locale) const
+{
+ QString name;
+
+ if (androidTimeZone.isValid()) {
+ jboolean daylightTime = (timeType == QTimeZone::DaylightTime); // treat QTimeZone::GenericTime as QTimeZone::StandardTime
+
+ // treat all NameTypes as java TimeZone style LONG (value 1), except of course QTimeZone::ShortName which is style SHORT (value 0);
+ jint style = (nameType == QTimeZone::ShortName ? 0 : 1);
+
+ QJNIObjectPrivate jlanguage = QJNIObjectPrivate::fromString(QLocale::languageToString(locale.language()));
+ QJNIObjectPrivate jcountry = QJNIObjectPrivate::fromString(QLocale::countryToString(locale.country()));
+ QJNIObjectPrivate jvariant = QJNIObjectPrivate::fromString(QLocale::scriptToString(locale.script()));
+ QJNIObjectPrivate jlocale("java.util.Locale", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", static_cast<jstring>(jlanguage.object()), static_cast<jstring>(jcountry.object()), static_cast<jstring>(jvariant.object()));
+
+ QJNIObjectPrivate jname = androidTimeZone.callObjectMethod("getDisplayName", "(ZILjava/util/Locale;)Ljava/lang/String;", daylightTime, style, jlocale.object());
+
+ name = jname.toString();
+ }
+
+ return name;
+}
+
+QString QAndroidTimeZonePrivate::abbreviation(qint64 atMSecsSinceEpoch) const
+{
+ if ( isDaylightTime( atMSecsSinceEpoch ) )
+ return displayName(QTimeZone::DaylightTime, QTimeZone::ShortName, QLocale() );
+ else
+ return displayName(QTimeZone::StandardTime, QTimeZone::ShortName, QLocale() );
+}
+
+int QAndroidTimeZonePrivate::offsetFromUtc(qint64 atMSecsSinceEpoch) const
+{
+ // offsetFromUtc( ) is invoked when androidTimeZone may not yet be set at startup,
+ // so a validity test is needed here
+ if ( androidTimeZone.isValid() )
+ // the java method getOffset() returns milliseconds, but QTimeZone returns seconds
+ return androidTimeZone.callMethod<jint>( "getOffset", "(J)I", static_cast<jlong>(atMSecsSinceEpoch) ) / 1000;
+ else
+ return 0;
+}
+
+int QAndroidTimeZonePrivate::standardTimeOffset(qint64 atMSecsSinceEpoch) const
+{
+ // the java method does not use a reference time
+ Q_UNUSED( atMSecsSinceEpoch );
+ if ( androidTimeZone.isValid() )
+ // the java method getRawOffset() returns milliseconds, but QTimeZone returns seconds
+ return androidTimeZone.callMethod<jint>( "getRawOffset" ) / 1000;
+ else
+ return 0;
+}
+
+int QAndroidTimeZonePrivate::daylightTimeOffset(qint64 atMSecsSinceEpoch) const
+{
+ return ( offsetFromUtc(atMSecsSinceEpoch) - standardTimeOffset(atMSecsSinceEpoch) );
+}
+
+bool QAndroidTimeZonePrivate::hasDaylightTime() const
+{
+ if ( androidTimeZone.isValid() )
+ /* note: the Java function only tests for future daylight transtions, not past */
+ return androidTimeZone.callMethod<jboolean>("useDaylightTime" );
+ else
+ return false;
+}
+
+bool QAndroidTimeZonePrivate::isDaylightTime(qint64 atMSecsSinceEpoch) const
+{
+ if ( androidTimeZone.isValid() ) {
+ QJNIObjectPrivate jDate( "java/util/Date", "(J)V", static_cast<jlong>(atMSecsSinceEpoch) );
+ return androidTimeZone.callMethod<jboolean>("inDaylightTime", "(Ljava/util/Date;)Z", jDate.object() );
+ }
+ else
+ return false;
+}
+
+QTimeZonePrivate::Data QAndroidTimeZonePrivate::data(qint64 forMSecsSinceEpoch) const
+{
+ if (androidTimeZone.isValid()) {
+ Data data;
+ data.atMSecsSinceEpoch = forMSecsSinceEpoch;
+ data.standardTimeOffset = standardTimeOffset(forMSecsSinceEpoch);
+ data.offsetFromUtc = offsetFromUtc(forMSecsSinceEpoch);
+ data.daylightTimeOffset = data.offsetFromUtc - data.standardTimeOffset;
+ data.abbreviation = abbreviation(forMSecsSinceEpoch);
+ return data;
+ } else {
+ return invalidData();
+ }
+}
+
+bool QAndroidTimeZonePrivate::hasTransitions() const
+{
+ // java.util.TimeZone does not directly provide transitions
+ return false;
+}
+
+QTimeZonePrivate::Data QAndroidTimeZonePrivate::nextTransition(qint64 afterMSecsSinceEpoch) const
+{
+ // transitions not available on Android, so return an invalid data object
+ Q_UNUSED( afterMSecsSinceEpoch );
+ return invalidData();
+}
+
+QTimeZonePrivate::Data QAndroidTimeZonePrivate::previousTransition(qint64 beforeMSecsSinceEpoch) const
+{
+ // transitions not available on Android, so return an invalid data object
+ Q_UNUSED( beforeMSecsSinceEpoch );
+ return invalidData();
+}
+
+QByteArray QAndroidTimeZonePrivate::systemTimeZoneId() const
+{
+ QJNIObjectPrivate androidSystemTimeZone = QJNIObjectPrivate::callStaticObjectMethod("java.util.TimeZone", "getDefault", "()Ljava/util/TimeZone;");
+ QJNIObjectPrivate systemTZIdAndroid = androidSystemTimeZone.callObjectMethod<jstring>("getID");
+ QByteArray systemTZid = systemTZIdAndroid.toString().toUtf8();
+
+ return systemTZid;
+}
+
+QSet<QByteArray> QAndroidTimeZonePrivate::availableTimeZoneIds() const
+{
+ QSet<QByteArray> availableTimeZoneIdList;
+ QJNIObjectPrivate androidAvailableIdList = QJNIObjectPrivate::callStaticObjectMethod("java.util.TimeZone", "getAvailableIDs", "()[Ljava/lang/String;");
+
+ QJNIEnvironmentPrivate jniEnv;
+ int androidTZcount = jniEnv->GetArrayLength( static_cast<jarray>(androidAvailableIdList.object()) );
+
+ // need separate jobject and QAndroidJniObject here so that we can delete (DeleteLocalRef) the reference to the jobject
+ // (or else the JNI reference table fills after 512 entries from GetObjectArrayElement)
+ jobject androidTZobject;
+ QJNIObjectPrivate androidTZ;
+ for (int i=0; i<androidTZcount; i++ ) {
+ androidTZobject = jniEnv->GetObjectArrayElement( static_cast<jobjectArray>( androidAvailableIdList.object() ), i );
+ androidTZ = androidTZobject;
+ availableTimeZoneIdList.insert( androidTZ.toString().toUtf8() );
+ jniEnv->DeleteLocalRef(androidTZobject);
+ }
+
+ return availableTimeZoneIdList;
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/tools/qtimezoneprivate_p.h b/src/corelib/tools/qtimezoneprivate_p.h
index 5ba42de560..486f9c1ffa 100644
--- a/src/corelib/tools/qtimezoneprivate_p.h
+++ b/src/corelib/tools/qtimezoneprivate_p.h
@@ -65,6 +65,10 @@ class NSTimeZone;
#include <qt_windows.h>
#endif // Q_OS_WIN
+#ifdef Q_OS_ANDROID
+#include <QtCore/private/qjni_p.h>
+#endif
+
QT_BEGIN_NAMESPACE
class Q_CORE_EXPORT QTimeZonePrivate : public QSharedData
@@ -256,7 +260,7 @@ private:
};
#endif // QT_USE_ICU
-#if defined Q_OS_UNIX && !defined Q_OS_MAC
+#if defined Q_OS_UNIX && !defined Q_OS_MAC && !defined Q_OS_ANDROID
class Q_AUTOTEST_EXPORT QTzTimeZonePrivate Q_DECL_FINAL : public QTimeZonePrivate
{
public:
@@ -424,6 +428,48 @@ private:
};
#endif // Q_OS_WIN
+#ifdef Q_OS_ANDROID
+class QAndroidTimeZonePrivate Q_DECL_FINAL : public QTimeZonePrivate
+{
+public:
+ // Create default time zone
+ QAndroidTimeZonePrivate();
+ // Create named time zone
+ QAndroidTimeZonePrivate(const QByteArray &ianaId);
+ QAndroidTimeZonePrivate(const QAndroidTimeZonePrivate &other);
+ ~QAndroidTimeZonePrivate();
+
+ QTimeZonePrivate *clone();
+
+ QString displayName(QTimeZone::TimeType timeType, QTimeZone::NameType nameType,
+ const QLocale &locale) const Q_DECL_OVERRIDE;
+ QString abbreviation(qint64 atMSecsSinceEpoch) const Q_DECL_OVERRIDE;
+
+ int offsetFromUtc(qint64 atMSecsSinceEpoch) const Q_DECL_OVERRIDE;
+ int standardTimeOffset(qint64 atMSecsSinceEpoch) const Q_DECL_OVERRIDE;
+ int daylightTimeOffset(qint64 atMSecsSinceEpoch) const Q_DECL_OVERRIDE;
+
+ bool hasDaylightTime() const Q_DECL_OVERRIDE;
+ bool isDaylightTime(qint64 atMSecsSinceEpoch) const Q_DECL_OVERRIDE;
+
+ Data data(qint64 forMSecsSinceEpoch) const Q_DECL_OVERRIDE;
+
+ bool hasTransitions() const Q_DECL_OVERRIDE;
+ Data nextTransition(qint64 afterMSecsSinceEpoch) const Q_DECL_OVERRIDE;
+ Data previousTransition(qint64 beforeMSecsSinceEpoch) const Q_DECL_OVERRIDE;
+
+ QByteArray systemTimeZoneId() const Q_DECL_OVERRIDE;
+
+ QSet<QByteArray> availableTimeZoneIds() const Q_DECL_OVERRIDE;
+
+private:
+ void init(const QByteArray &zoneId);
+
+ QJNIObjectPrivate androidTimeZone;
+
+};
+#endif // Q_OS_ANDROID
+
QT_END_NAMESPACE
#endif // QTIMEZONEPRIVATE_P_H
diff --git a/src/corelib/tools/qtools_p.h b/src/corelib/tools/qtools_p.h
index 3876d3822c..1e72db1d87 100644
--- a/src/corelib/tools/qtools_p.h
+++ b/src/corelib/tools/qtools_p.h
@@ -46,9 +46,15 @@
//
#include "QtCore/qglobal.h"
+#include <limits>
QT_BEGIN_NAMESPACE
+// We typically need an extra bit for qNextPowerOfTwo when determining the next allocation size.
+enum {
+ MaxAllocSize = (1 << (std::numeric_limits<int>::digits - 1)) - 1
+};
+
// implemented in qbytearray.cpp
int Q_CORE_EXPORT qAllocMore(int alloc, int extra) Q_DECL_NOTHROW;
diff --git a/src/corelib/tools/qvector.cpp b/src/corelib/tools/qvector.cpp
index 99e1db1cab..50c90ad746 100644
--- a/src/corelib/tools/qvector.cpp
+++ b/src/corelib/tools/qvector.cpp
@@ -463,6 +463,18 @@
\sa operator<<(), prepend(), insert()
*/
+/*! \fn void QVector::append(const QVector<T> &value)
+
+ \overload
+
+ \since 5.5
+
+ Appends the items of the \a value vector to this vector.
+
+ \sa operator<<(), operator+=()
+*/
+
+
/*! \fn void QVector::prepend(const T &value)
Inserts \a value at the beginning of the vector.
diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h
index 07c66bc393..c00bd07a72 100644
--- a/src/corelib/tools/qvector.h
+++ b/src/corelib/tools/qvector.h
@@ -128,6 +128,7 @@ public:
T &operator[](int i);
const T &operator[](int i) const;
void append(const T &t);
+ inline void append(const QVector<T> &l) { *this += l; }
void prepend(const T &t);
void insert(int i, const T &t);
void insert(int i, int n, const T &t);
@@ -327,9 +328,11 @@ inline QVector<T>::QVector(const QVector<T> &v)
} else {
if (v.d->capacityReserved) {
d = Data::allocate(v.d->alloc);
+ Q_CHECK_PTR(d);
d->capacityReserved = true;
} else {
d = Data::allocate(v.d->size);
+ Q_CHECK_PTR(d);
}
if (d->alloc) {
copyConstruct(v.d->begin(), v.d->end(), d->begin());
@@ -439,6 +442,7 @@ QVector<T>::QVector(int asize)
Q_ASSERT_X(asize >= 0, "QVector::QVector", "Size must be greater than or equal to 0.");
if (Q_LIKELY(asize > 0)) {
d = Data::allocate(asize);
+ Q_CHECK_PTR(d);
d->size = asize;
defaultConstruct(d->begin(), d->end());
} else {
@@ -452,6 +456,7 @@ QVector<T>::QVector(int asize, const T &t)
Q_ASSERT_X(asize >= 0, "QVector::QVector", "Size must be greater than or equal to 0.");
if (asize > 0) {
d = Data::allocate(asize);
+ Q_CHECK_PTR(d);
d->size = asize;
T* i = d->end();
while (i != d->begin())
@@ -467,6 +472,7 @@ QVector<T>::QVector(std::initializer_list<T> args)
{
if (args.size() > 0) {
d = Data::allocate(args.size());
+ Q_CHECK_PTR(d);
// std::initializer_list<T>::iterator is guaranteed to be
// const T* ([support.initlist]/1), so can be memcpy'ed away from by copyConstruct
copyConstruct(args.begin(), args.end(), d->begin());
@@ -707,13 +713,10 @@ bool QVector<T>::operator==(const QVector<T> &v) const
return true;
if (d->size != v.d->size)
return false;
- T* b = d->begin();
- T* i = b + d->size;
- T* j = v.d->end();
- while (i != b)
- if (!(*--i == *--j))
- return false;
- return true;
+ const T *vb = v.d->begin();
+ const T *b = d->begin();
+ const T *e = d->end();
+ return std::equal(b, e, vb);
}
template <typename T>
@@ -791,12 +794,9 @@ int QVector<T>::lastIndexOf(const T &t, int from) const
template <typename T>
bool QVector<T>::contains(const T &t) const
{
- T* b = d->begin();
- T* i = d->end();
- while (i != b)
- if (*--i == t)
- return true;
- return false;
+ const T *b = d->begin();
+ const T *e = d->end();
+ return std::find(b, e, t) != e;
}
template <typename T>
diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
index cef802fa76..01b514d329 100644
--- a/src/corelib/tools/tools.pri
+++ b/src/corelib/tools/tools.pri
@@ -57,6 +57,7 @@ HEADERS += \
tools/qsize.h \
tools/qstack.h \
tools/qstring.h \
+ tools/qstringalgorithms_p.h \
tools/qstringbuilder.h \
tools/qstringiterator_p.h \
tools/qstringlist.h \
@@ -128,13 +129,19 @@ false: SOURCES += $$NO_PCH_SOURCES # Hack for QtCreator
OBJECTIVE_SOURCES += tools/qlocale_mac.mm \
tools/qtimezoneprivate_mac.mm \
tools/qstring_mac.mm \
- tools/qbytearray_mac.mm
+ tools/qbytearray_mac.mm \
+ tools/qdatetime_mac.mm
}
else:blackberry {
SOURCES += tools/qelapsedtimer_unix.cpp tools/qlocale_blackberry.cpp tools/qtimezoneprivate_tz.cpp
HEADERS += tools/qlocale_blackberry.h
}
-else:unix:SOURCES += tools/qelapsedtimer_unix.cpp tools/qlocale_unix.cpp tools/qtimezoneprivate_tz.cpp
+else:android {
+ SOURCES += tools/qelapsedtimer_unix.cpp tools/qlocale_unix.cpp tools/qtimezoneprivate_android.cpp
+}
+else:unix {
+ SOURCES += tools/qelapsedtimer_unix.cpp tools/qlocale_unix.cpp tools/qtimezoneprivate_tz.cpp
+}
else:win32 {
SOURCES += tools/qelapsedtimer_win.cpp tools/qlocale_win.cpp
!winrt: SOURCES += tools/qtimezoneprivate_win.cpp
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index f27d45b142..6fcdd5030a 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -1022,7 +1022,7 @@ QDBusConnectionPrivate::QDBusConnectionPrivate(QObject *p)
{
static const bool threads = q_dbus_threads_init_default();
if (::isDebugging == -1)
- ::isDebugging = qgetenv("QDBUS_DEBUG").toInt();
+ ::isDebugging = qEnvironmentVariableIntValue("QDBUS_DEBUG");
Q_UNUSED(threads)
#ifdef QDBUS_THREAD_DEBUG
diff --git a/src/dbus/qdbusmetaobject.cpp b/src/dbus/qdbusmetaobject.cpp
index 9f07817df0..1fe5428f06 100644
--- a/src/dbus/qdbusmetaobject.cpp
+++ b/src/dbus/qdbusmetaobject.cpp
@@ -123,17 +123,6 @@ QDBusMetaObjectGenerator::QDBusMetaObjectGenerator(const QString &interfaceName,
static int registerComplexDBusType(const char *typeName)
{
struct QDBusRawTypeHandler {
- static void destroy(void *)
- {
- qFatal("Cannot destroy placeholder type QDBusRawType");
- }
-
- static void *create(const void *)
- {
- qFatal("Cannot create placeholder type QDBusRawType");
- return 0;
- }
-
static void destruct(void *)
{
qFatal("Cannot destruct placeholder type QDBusRawType");
@@ -146,8 +135,7 @@ static int registerComplexDBusType(const char *typeName)
}
};
- return QMetaType::registerNormalizedType(typeName, QDBusRawTypeHandler::destroy,
- QDBusRawTypeHandler::create,
+ return QMetaType::registerNormalizedType(typeName,
QDBusRawTypeHandler::destruct,
QDBusRawTypeHandler::construct,
sizeof(void *),
diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp
index a7053aa3da..7abe40d30c 100644
--- a/src/gui/accessible/qaccessible.cpp
+++ b/src/gui/accessible/qaccessible.cpp
@@ -455,14 +455,13 @@ QT_BEGIN_NAMESPACE
Synonym for unsigned, used by the QAccessibleInterface cache.
*/
+#ifndef QT_NO_ACCESSIBILITY
/* accessible widgets plugin discovery stuff */
-#ifndef QT_NO_ACCESSIBILITY
#ifndef QT_NO_LIBRARY
Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
(QAccessibleFactoryInterface_iid, QLatin1String("/accessible")))
#endif
-#endif
// FIXME turn this into one global static struct
Q_GLOBAL_STATIC(QList<QAccessible::InterfaceFactory>, qAccessibleFactories)
@@ -475,13 +474,11 @@ QAccessible::RootObjectHandler QAccessible::rootObjectHandler = 0;
static bool cleanupAdded = false;
-#ifndef QT_NO_ACCESSIBILITY
static QPlatformAccessibility *platformAccessibility()
{
QPlatformIntegration *pfIntegration = QGuiApplicationPrivate::platformIntegration();
return pfIntegration ? pfIntegration->accessibility() : 0;
}
-#endif
/*!
\fn QAccessible::QAccessible()
@@ -497,10 +494,8 @@ static QPlatformAccessibility *platformAccessibility()
*/
void QAccessible::cleanup()
{
-#ifndef QT_NO_ACCESSIBILITY
if (QPlatformAccessibility *pfAccessibility = platformAccessibility())
pfAccessibility->cleanup();
-#endif
}
static void qAccessibleCleanup()
@@ -684,7 +679,6 @@ QAccessibleInterface *QAccessible::queryAccessibleInterface(QObject *object)
return iface;
}
}
-#ifndef QT_NO_ACCESSIBILITY
#ifndef QT_NO_LIBRARY
// Find a QAccessiblePlugin (factory) for the class name. If there's
// no entry in the cache try to create it using the plugin loader.
@@ -708,18 +702,15 @@ QAccessibleInterface *QAccessible::queryAccessibleInterface(QObject *object)
return result;
}
#endif
-#endif
mo = mo->superClass();
}
-#ifndef QT_NO_ACCESSIBILITY
if (object == qApp) {
QAccessibleInterface *appInterface = new QAccessibleApplication;
QAccessibleCache::instance()->insert(object, appInterface);
Q_ASSERT(QAccessibleCache::instance()->objectToId.contains(qApp));
return appInterface;
}
-#endif
return 0;
}
@@ -789,10 +780,8 @@ QAccessibleInterface *QAccessible::accessibleInterface(Id id)
*/
bool QAccessible::isActive()
{
-#ifndef QT_NO_ACCESSIBILITY
if (QPlatformAccessibility *pfAccessibility = platformAccessibility())
return pfAccessibility->isActive();
-#endif
return false;
}
@@ -827,10 +816,8 @@ void QAccessible::setRootObject(QObject *object)
return;
}
-#ifndef QT_NO_ACCESSIBILITY
if (QPlatformAccessibility *pfAccessibility = platformAccessibility())
pfAccessibility->setRootObject(object);
-#endif
}
/*!
@@ -863,7 +850,6 @@ void QAccessible::updateAccessibility(QAccessibleEvent *event)
if (!isActive() || !event->accessibleInterface())
return;
-#ifndef QT_NO_ACCESSIBILITY
if (event->type() == QAccessible::TableModelChanged) {
QAccessibleInterface *iface = event->accessibleInterface();
if (iface && iface->tableInterface())
@@ -877,7 +863,6 @@ void QAccessible::updateAccessibility(QAccessibleEvent *event)
if (QPlatformAccessibility *pfAccessibility = platformAccessibility())
pfAccessibility->notifyAccessibilityUpdate(event);
-#endif
}
#if QT_DEPRECATED_SINCE(5, 0)
@@ -1824,7 +1809,7 @@ QDebug operator<<(QDebug d, const QAccessibleEvent &ev)
d.nospace() << ")";
return d.space();
}
-
+#endif // QT_NO_DEBUGSTREAM
/*!
\class QAccessibleTextInterface
@@ -2626,7 +2611,14 @@ struct QAccessibleActionStrings
decreaseAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Decrease"))),
showMenuAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "ShowMenu"))),
setFocusAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "SetFocus"))),
- toggleAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Toggle"))) {}
+ toggleAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Toggle"))),
+ scrollLeftAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Left"))),
+ scrollRightAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Right"))),
+ scrollUpAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Up"))),
+ scrollDownAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Down"))),
+ previousPageAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Previous Page"))),
+ nextPageAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Next Page")))
+ {}
const QString pressAction;
const QString increaseAction;
@@ -2634,6 +2626,12 @@ struct QAccessibleActionStrings
const QString showMenuAction;
const QString setFocusAction;
const QString toggleAction;
+ const QString scrollLeftAction;
+ const QString scrollRightAction;
+ const QString scrollUpAction;
+ const QString scrollDownAction;
+ const QString previousPageAction;
+ const QString nextPageAction;
QString localizedDescription(const QString &actionName)
{
@@ -2649,6 +2647,20 @@ struct QAccessibleActionStrings
return QAccessibleActionInterface::tr("Sets the focus");
else if (actionName == toggleAction)
return QAccessibleActionInterface::tr("Toggles the state");
+ else if (actionName == scrollLeftAction)
+ return QAccessibleActionInterface::tr("Scrolls to the left");
+ else if (actionName == scrollRightAction)
+ return QAccessibleActionInterface::tr("Scrolls to the right");
+ else if (actionName == scrollUpAction)
+ return QAccessibleActionInterface::tr("Scrolls up");
+ else if (actionName == scrollDownAction)
+ return QAccessibleActionInterface::tr("Scrolls down");
+ else if (actionName == previousPageAction)
+ return QAccessibleActionInterface::tr("Goes back a page");
+ else if (actionName == nextPageAction)
+ return QAccessibleActionInterface::tr("Goes to the next page");
+
+
return QString();
}
};
@@ -2719,14 +2731,67 @@ const QString &QAccessibleActionInterface::toggleAction()
return accessibleActionStrings()->toggleAction;
}
+/*!
+ Returns the name of the scroll left default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollLeftAction()
+{
+ return accessibleActionStrings()->scrollLeftAction;
+}
+
+/*!
+ Returns the name of the scroll right default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollRightAction()
+{
+ return accessibleActionStrings()->scrollRightAction;
+}
+
+/*!
+ Returns the name of the scroll up default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollUpAction()
+{
+ return accessibleActionStrings()->scrollUpAction;
+}
+
+/*!
+ Returns the name of the scroll down default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollDownAction()
+{
+ return accessibleActionStrings()->scrollDownAction;
+}
+
+/*!
+ Returns the name of the previous page default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::previousPageAction()
+{
+ return accessibleActionStrings()->previousPageAction;
+}
+
+/*!
+ Returns the name of the next page default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::nextPageAction()
+{
+ return accessibleActionStrings()->nextPageAction;
+}
+
/*! \internal */
QString qAccessibleLocalizedActionDescription(const QString &actionName)
{
return accessibleActionStrings()->localizedDescription(actionName);
}
-
-#endif
+#endif // QT_NO_ACCESSIBILITY
QT_END_NAMESPACE
diff --git a/src/gui/accessible/qaccessible.h b/src/gui/accessible/qaccessible.h
index 7b5d7a1bfd..1d935cbf2d 100644
--- a/src/gui/accessible/qaccessible.h
+++ b/src/gui/accessible/qaccessible.h
@@ -635,6 +635,12 @@ public:
static const QString &showMenuAction();
static const QString &setFocusAction();
static const QString &toggleAction();
+ static const QString &scrollLeftAction();
+ static const QString &scrollRightAction();
+ static const QString &scrollUpAction();
+ static const QString &scrollDownAction();
+ static const QString &nextPageAction();
+ static const QString &previousPageAction();
};
class Q_GUI_EXPORT QAccessibleImageInterface
diff --git a/src/gui/accessible/qaccessiblecache.cpp b/src/gui/accessible/qaccessiblecache.cpp
index cf5290ed38..825ef032cb 100644
--- a/src/gui/accessible/qaccessiblecache.cpp
+++ b/src/gui/accessible/qaccessiblecache.cpp
@@ -33,6 +33,8 @@
#include "qaccessiblecache_p.h"
+#ifndef QT_NO_ACCESSIBILITY
+
QT_BEGIN_NAMESPACE
/*!
@@ -119,3 +121,5 @@ void QAccessibleCache::deleteInterface(QAccessible::Id id, QObject *obj)
}
QT_END_NAMESPACE
+
+#endif
diff --git a/src/gui/accessible/qaccessiblecache_p.h b/src/gui/accessible/qaccessiblecache_p.h
index 97d2b41bbb..9866b8fdb1 100644
--- a/src/gui/accessible/qaccessiblecache_p.h
+++ b/src/gui/accessible/qaccessiblecache_p.h
@@ -51,6 +51,8 @@
#include "qaccessible.h"
+#ifndef QT_NO_ACCESSIBILITY
+
Q_FORWARD_DECLARE_OBJC_CLASS(QT_MANGLE_NAMESPACE(QMacAccessibilityElement));
QT_BEGIN_NAMESPACE
@@ -90,4 +92,6 @@ private:
QT_END_NAMESPACE
+#endif // QT_NO_ACCESSIBILITY
+
#endif
diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp
index 21c1a2f813..bf3563932d 100644
--- a/src/gui/image/qbmphandler.cpp
+++ b/src/gui/image/qbmphandler.cpp
@@ -791,6 +791,10 @@ bool QBmpHandler::write(const QImage &img)
case QImage::Format_ARGB32:
image = img;
break;
+ case QImage::Format_Alpha8:
+ case QImage::Format_Grayscale8:
+ image = img.convertToFormat(QImage::Format_Indexed8);
+ break;
default:
if (img.hasAlphaChannel())
image = img.convertToFormat(QImage::Format_ARGB32);
diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp
index 6f6bf158c8..d885729cbd 100644
--- a/src/gui/image/qicon.cpp
+++ b/src/gui/image/qicon.cpp
@@ -1024,7 +1024,7 @@ void QIcon::addFile(const QString &fileName, const QSize &size, Mode mode, State
d->engine->addFile(fileName, size, mode, state);
// Check if a "@2x" file exists and add it.
- static bool disable2xImageLoading = !qgetenv("QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING").isEmpty();
+ static bool disable2xImageLoading = !qEnvironmentVariableIsEmpty("QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING");
if (!disable2xImageLoading && qApp->devicePixelRatio() > 1.0) {
int dotIndex = fileName.lastIndexOf(QLatin1Char('.'));
if (dotIndex != -1) {
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp
index 4e10b4cb4b..867cb7c322 100644
--- a/src/gui/image/qimage.cpp
+++ b/src/gui/image/qimage.cpp
@@ -653,7 +653,8 @@ bool QImageData::checkForAlphaPixels() const
The following image formats are available in Qt. Values from Format_ARGB8565_Premultiplied
to Format_ARGB4444_Premultiplied were added in Qt 4.4. Values Format_RGBX8888, Format_RGBA8888
and Format_RGBA8888_Premultiplied were added in Qt 5.2. Values Format_BGR30, Format_A2BGR30_Premultiplied,
- Format_RGB30, Format_A2RGB30_Premultiplied were added in Qt 5.4.
+ Format_RGB30, Format_A2RGB30_Premultiplied were added in Qt 5.4. Format_Alpha8 and Format_Grayscale8
+ were added in Qt 5.5.
See the notes after the table.
\value Format_Invalid The image is invalid.
@@ -709,6 +710,8 @@ bool QImageData::checkForAlphaPixels() const
\value Format_A2BGR30_Premultiplied The image is stored using a 32-bit premultiplied ABGR format (2-10-10-10).
\value Format_RGB30 The image is stored using a 32-bit RGB format (x-10-10-10).
\value Format_A2RGB30_Premultiplied The image is stored using a 32-bit premultiplied ARGB format (2-10-10-10).
+ \value Format_Alpha8 The image is stored using an 8-bit alpha only format.
+ \value Format_Grayscale8 The image is stored using an 8-bit grayscale format.
\note Drawing into a QImage with QImage::Format_Indexed8 is not
supported.
@@ -2352,6 +2355,10 @@ bool QImage::allGray() const
return false;
}
return true;
+ case Format_Alpha8:
+ return false;
+ case Format_Grayscale8:
+ return true;
case Format_RGB32:
case Format_ARGB32:
case Format_ARGB32_Premultiplied:
@@ -2405,9 +2412,9 @@ bool QImage::allGray() const
/*!
For 32-bit images, this function is equivalent to allGray().
- For 8-bpp images, this function returns \c true if color(i) is
- QRgb(i, i, i) for all indexes of the color table; otherwise
- returns \c false.
+ For color indexed images, this function returns \c true if
+ color(i) is QRgb(i, i, i) for all indexes of the color table;
+ otherwise returns \c false.
\sa allGray(), {QImage#Image Formats}{Image Formats}
*/
@@ -2416,12 +2423,19 @@ bool QImage::isGrayscale() const
if (!d)
return false;
+ if (d->format == QImage::Format_Alpha8)
+ return false;
+
+ if (d->format == QImage::Format_Grayscale8)
+ return true;
+
switch (depth()) {
case 32:
case 24:
case 16:
return allGray();
case 8: {
+ Q_ASSERT(d->format == QImage::Format_Indexed8);
for (int i = 0; i < colorCount(); i++)
if (d->colortable.at(i) != qRgb(i,i,i))
return false;
@@ -2998,6 +3012,9 @@ QImage QImage::rgbSwapped_helper() const
case NImageFormats:
Q_ASSERT(false);
break;
+ case Format_Alpha8:
+ case Format_Grayscale8:
+ return *this;
case Format_Mono:
case Format_MonoLSB:
case Format_Indexed8:
@@ -3084,6 +3101,9 @@ void QImage::rgbSwapped_inplace()
case NImageFormats:
Q_ASSERT(false);
break;
+ case Format_Alpha8:
+ case Format_Grayscale8:
+ return;
case Format_Mono:
case Format_MonoLSB:
case Format_Indexed8:
@@ -4017,7 +4037,7 @@ void QImage::setAlphaChannel(const QImage &alphaChannel)
return;
// Slight optimization since alphachannels are returned as 8-bit grays.
- if (alphaChannel.d->depth == 8 && alphaChannel.isGrayscale()) {
+ if (alphaChannel.format() == QImage::Format_Alpha8 ||( alphaChannel.d->depth == 8 && alphaChannel.isGrayscale())) {
const uchar *src_data = alphaChannel.d->data;
const uchar *dest_data = d->data;
for (int y=0; y<h; ++y) {
@@ -4075,9 +4095,13 @@ void QImage::setAlphaChannel(const QImage &alphaChannel)
Most usecases for this function can be replaced with QPainter and
using composition modes.
+ Note this returns a color-indexed image if you want the alpha channel in
+ the alpha8 format instead use convertToFormat(Format_Alpha8) on the source
+ image.
+
\warning This is an expensive function.
- \sa setAlphaChannel(), hasAlphaChannel(),
+ \sa setAlphaChannel(), hasAlphaChannel(), convertToFormat(),
{QPixmap#Pixmap Information}{Pixmap},
{QImage#Image Transformations}{Image Transformations}
*/
@@ -4087,6 +4111,9 @@ QImage QImage::alphaChannel() const
if (!d)
return QImage();
+ if (d->format == QImage::Format_Alpha8)
+ return *this;
+
int w = d->width;
int h = d->height;
@@ -4264,6 +4291,8 @@ static QImage rotated90(const QImage &image) {
reinterpret_cast<quint16*>(out.bits()),
out.bytesPerLine());
break;
+ case QImage::Format_Alpha8:
+ case QImage::Format_Grayscale8:
case QImage::Format_Indexed8:
qt_memrotate270(reinterpret_cast<const quint8*>(image.bits()),
w, h, image.bytesPerLine(),
@@ -4330,6 +4359,8 @@ static QImage rotated270(const QImage &image) {
reinterpret_cast<quint16*>(out.bits()),
out.bytesPerLine());
break;
+ case QImage::Format_Alpha8:
+ case QImage::Format_Grayscale8:
case QImage::Format_Indexed8:
qt_memrotate90(reinterpret_cast<const quint8*>(image.bits()),
w, h, image.bytesPerLine(),
@@ -4482,24 +4513,17 @@ QImage QImage::transformed(const QTransform &matrix, Qt::TransformationMode mode
dImage.d->dpmy = dotsPerMeterY();
dImage.d->devicePixelRatio = devicePixelRatio();
- switch (bpp) {
- // initizialize the data
- case 8:
- if (dImage.d->colortable.size() < 256) {
- // colors are left in the color table, so pick that one as transparent
- dImage.d->colortable.append(0x0);
- memset(dImage.bits(), dImage.d->colortable.size() - 1, dImage.byteCount());
- } else {
- memset(dImage.bits(), 0, dImage.byteCount());
- }
- break;
- case 1:
- case 16:
- case 24:
- case 32:
- memset(dImage.bits(), 0x00, dImage.byteCount());
- break;
- }
+ // initizialize the data
+ if (d->format == QImage::Format_Indexed8) {
+ if (dImage.d->colortable.size() < 256) {
+ // colors are left in the color table, so pick that one as transparent
+ dImage.d->colortable.append(0x0);
+ memset(dImage.bits(), dImage.d->colortable.size() - 1, dImage.byteCount());
+ } else {
+ memset(dImage.bits(), 0, dImage.byteCount());
+ }
+ } else
+ memset(dImage.bits(), 0x00, dImage.byteCount());
if (target_format >= QImage::Format_RGB32) {
QPainter p(&dImage);
@@ -4935,6 +4959,32 @@ static Q_CONSTEXPR QPixelFormat pixelformats[] = {
/*PREMULTIPLIED*/ QPixelFormat::Premultiplied,
/*INTERPRETATION*/ QPixelFormat::UnsignedInteger,
/*BYTE ORDER*/ QPixelFormat::CurrentSystemEndian),
+ //QImage::Format_Alpha8:
+ QPixelFormat(QPixelFormat::Alpha,
+ /*First*/ 0,
+ /*SECOND*/ 0,
+ /*THIRD*/ 0,
+ /*FOURTH*/ 0,
+ /*FIFTH*/ 0,
+ /*ALPHA*/ 8,
+ /*ALPHA USAGE*/ QPixelFormat::UsesAlpha,
+ /*ALPHA POSITION*/ QPixelFormat::AtBeginning,
+ /*PREMULTIPLIED*/ QPixelFormat::Premultiplied,
+ /*INTERPRETATION*/ QPixelFormat::UnsignedByte,
+ /*BYTE ORDER*/ QPixelFormat::CurrentSystemEndian),
+ //QImage::Format_Grayscale8:
+ QPixelFormat(QPixelFormat::Grayscale,
+ /*GRAY*/ 8,
+ /*SECOND*/ 0,
+ /*THIRD*/ 0,
+ /*FOURTH*/ 0,
+ /*FIFTH*/ 0,
+ /*ALPHA*/ 0,
+ /*ALPHA USAGE*/ QPixelFormat::IgnoresAlpha,
+ /*ALPHA POSITION*/ QPixelFormat::AtBeginning,
+ /*PREMULTIPLIED*/ QPixelFormat::NotPremultiplied,
+ /*INTERPRETATION*/ QPixelFormat::UnsignedByte,
+ /*BYTE ORDER*/ QPixelFormat::CurrentSystemEndian),
};
Q_STATIC_ASSERT(sizeof(pixelformats) / sizeof(*pixelformats) == QImage::NImageFormats);
diff --git a/src/gui/image/qimage.h b/src/gui/image/qimage.h
index 55b8690c77..5ba9a890d4 100644
--- a/src/gui/image/qimage.h
+++ b/src/gui/image/qimage.h
@@ -106,20 +106,16 @@ public:
Format_RGBX8888,
Format_RGBA8888,
Format_RGBA8888_Premultiplied,
-#if 0
- // reserved for future use
- Format_RGB15,
- Format_Grayscale16,
- Format_Grayscale8,
- Format_Grayscale4,
- Format_Grayscale4LSB,
- Format_Grayscale2,
- Format_Grayscale2LSB
-#endif
Format_BGR30,
Format_A2BGR30_Premultiplied,
Format_RGB30,
Format_A2RGB30_Premultiplied,
+ Format_Alpha8,
+ Format_Grayscale8,
+#if 0
+ // reserved for future use
+ Format_Grayscale16,
+#endif
#ifndef Q_QDOC
NImageFormats
#endif
diff --git a/src/gui/image/qimage_conversions.cpp b/src/gui/image/qimage_conversions.cpp
index 17563b19c3..2e8fc1963d 100644
--- a/src/gui/image/qimage_conversions.cpp
+++ b/src/gui/image/qimage_conversions.cpp
@@ -1861,11 +1861,154 @@ static void convert_Mono_to_Indexed8(QImageData *dest, const QImageData *src, Qt
}
}
+static void convert_Indexed8_to_Alpha8(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags)
+{
+ Q_ASSERT(src->format == QImage::Format_Indexed8);
+ Q_ASSERT(dest->format == QImage::Format_Alpha8);
+
+ uchar translate[256];
+ const QVector<QRgb> &colors = src->colortable;
+ bool simpleCase = (colors.size() == 256);
+ for (int i = 0; i < colors.size(); ++i) {
+ uchar alpha = qAlpha(colors[i]);
+ translate[i] = alpha;
+ simpleCase = simpleCase && (alpha == i);
+ }
+
+ if (simpleCase)
+ memcpy(dest->data, src->data, src->bytes_per_line * src->height);
+ else {
+ int size = src->bytes_per_line * src->height;
+ for (int i = 0; i < size; ++i) {
+ dest->data[i] = translate[src->data[i]];
+ }
+ }
+}
+
+static void convert_Indexed8_to_Grayscale8(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags)
+{
+ Q_ASSERT(src->format == QImage::Format_Indexed8);
+ Q_ASSERT(dest->format == QImage::Format_Grayscale8);
+
+ uchar translate[256];
+ const QVector<QRgb> &colors = src->colortable;
+ bool simpleCase = (colors.size() == 256);
+ for (int i = 0; i < colors.size(); ++i) {
+ uchar gray = qGray(colors[i]);
+ translate[i] = gray;
+ simpleCase = simpleCase && (gray == i);
+ }
+
+ if (simpleCase)
+ memcpy(dest->data, src->data, src->bytes_per_line * src->height);
+ else {
+ int size = src->bytes_per_line * src->height;
+ for (int i = 0; i < size; ++i) {
+ dest->data[i] = translate[src->data[i]];
+ }
+ }
+}
+
+static bool convert_Indexed8_to_Alpha8_inplace(QImageData *data, Qt::ImageConversionFlags)
+{
+ Q_ASSERT(data->format == QImage::Format_Indexed8);
+
+ // Just check if this is an Alpha8 in Indexed8 disguise.
+ const QVector<QRgb> &colors = data->colortable;
+ if (colors.size() != 256)
+ return false;
+ for (int i = 0; i < colors.size(); ++i) {
+ if (i != qAlpha(colors[i]))
+ return false;
+ }
+
+ data->colortable.clear();
+ data->format = QImage::Format_Alpha8;
+
+ return true;
+}
+
+static bool convert_Indexed8_to_Grayscale8_inplace(QImageData *data, Qt::ImageConversionFlags)
+{
+ Q_ASSERT(data->format == QImage::Format_Indexed8);
+
+ // Just check if this is a Grayscale8 in Indexed8 disguise.
+ const QVector<QRgb> &colors = data->colortable;
+ if (colors.size() != 256)
+ return false;
+ for (int i = 0; i < colors.size(); ++i) {
+ if (i != qGray(colors[i]))
+ return false;
+ }
+
+ data->colortable.clear();
+ data->format = QImage::Format_Grayscale8;
+
+ return true;
+}
+
+static void convert_Alpha8_to_Indexed8(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags)
+{
+ Q_ASSERT(src->format == QImage::Format_Alpha8);
+ Q_ASSERT(dest->format == QImage::Format_Indexed8);
+
+ memcpy(dest->data, src->data, src->bytes_per_line * src->height);
+
+ QVector<QRgb> colors(256);
+ for (int i=0; i<256; ++i)
+ colors[i] = qRgba(0, 0, 0, i);
+
+ dest->colortable = colors;
+}
+
+static void convert_Grayscale8_to_Indexed8(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags)
+{
+ Q_ASSERT(src->format == QImage::Format_Grayscale8);
+ Q_ASSERT(dest->format == QImage::Format_Indexed8);
+
+ memcpy(dest->data, src->data, src->bytes_per_line * src->height);
+
+ QVector<QRgb> colors(256);
+ for (int i=0; i<256; ++i)
+ colors[i] = qRgb(i, i, i);
+
+ dest->colortable = colors;
+}
+
+static bool convert_Alpha8_to_Indexed8_inplace(QImageData *data, Qt::ImageConversionFlags)
+{
+ Q_ASSERT(data->format == QImage::Format_Alpha8);
+
+ QVector<QRgb> colors(256);
+ for (int i=0; i<256; ++i)
+ colors[i] = qRgba(0, 0, 0, i);
+
+ data->colortable = colors;
+ data->format = QImage::Format_Indexed8;
+
+ return true;
+}
+
+static bool convert_Grayscale8_to_Indexed8_inplace(QImageData *data, Qt::ImageConversionFlags)
+{
+ Q_ASSERT(data->format == QImage::Format_Grayscale8);
+
+ QVector<QRgb> colors(256);
+ for (int i=0; i<256; ++i)
+ colors[i] = qRgb(i, i, i);
+
+ data->colortable = colors;
+ data->format = QImage::Format_Indexed8;
+
+ return true;
+}
+
+
// first index source, second dest
Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormats] =
{
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0,
@@ -1886,7 +2029,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_Mono
{
@@ -1908,7 +2051,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_MonoLSB
{
@@ -1930,7 +2073,9 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0,
+ convert_Indexed8_to_Alpha8,
+ convert_Indexed8_to_Grayscale8,
}, // Format_Indexed8
{
@@ -1957,6 +2102,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_RGB_to_RGB30<PixelOrderBGR>,
convert_RGB_to_RGB30<PixelOrderRGB>,
convert_RGB_to_RGB30<PixelOrderRGB>,
+ 0, 0
}, // Format_RGB32
{
@@ -1983,6 +2129,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
convert_RGB_to_RGB30<PixelOrderRGB>,
0,
+ 0, 0
}, // Format_ARGB32
{
@@ -2009,6 +2156,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_ARGB_to_A2RGB30<PixelOrderBGR>,
convert_ARGB_PM_to_RGB30<PixelOrderRGB>,
convert_ARGB_to_A2RGB30<PixelOrderRGB>,
+ 0, 0
}, // Format_ARGB32_Premultiplied
{
@@ -2030,7 +2178,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB16
{
@@ -2052,7 +2200,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB8565_Premultiplied
{
@@ -2074,7 +2222,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB666
{
@@ -2096,7 +2244,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB6666_Premultiplied
{
@@ -2118,7 +2266,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB555
{
@@ -2140,7 +2288,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB8555_Premultiplied
{
@@ -2162,7 +2310,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB888
{
@@ -2184,7 +2332,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB444
{
@@ -2205,7 +2353,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB4444_Premultiplied
{
0,
@@ -2227,7 +2375,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
mask_alpha_converter_RGBx,
mask_alpha_converter_RGBx,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0
}, // Format_RGBX8888
{
0,
@@ -2252,9 +2400,9 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_ARGB_to_ARGB_PM,
#else
0,
- 0
+ 0,
#endif
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0
}, // Format_RGBA8888
{
@@ -2281,9 +2429,9 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
#else
0,
0,
- 0
+ 0,
#endif
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0
}, // Format_RGBA8888_Premultiplied
{
@@ -2309,7 +2457,8 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
convert_passthrough,
convert_BGR30_to_RGB30,
- convert_BGR30_to_RGB30
+ convert_BGR30_to_RGB30,
+ 0, 0
}, // Format_BGR30
{
0,
@@ -2334,7 +2483,8 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_A2RGB30_PM_to_RGB30,
0,
0,
- convert_BGR30_to_RGB30
+ convert_BGR30_to_RGB30,
+ 0, 0
}, // Format_BGR30A2_Premultiplied
{
0,
@@ -2360,6 +2510,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
convert_passthrough,
+ 0, 0
}, // Format_RGB30
{
0,
@@ -2385,19 +2536,61 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_BGR30_to_RGB30,
convert_A2RGB30_PM_to_RGB30,
0,
+ 0,
+ 0,
}, // Format_RGB30A2_Premultiplied
+ {
+ 0,
+ 0,
+ 0,
+ convert_Alpha8_to_Indexed8,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0, 0, 0, 0, 0, 0, 0
+ }, // Format_Alpha8
+ {
+ 0,
+ 0,
+ 0,
+ convert_Grayscale8_to_Indexed8,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0, 0, 0, 0, 0, 0, 0
+ } // Format_Grayscale8
};
InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QImage::NImageFormats] =
{
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_Mono
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_MonoLSB
{
0,
@@ -2418,7 +2611,9 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0,
+ convert_Indexed8_to_Alpha8_inplace,
+ convert_Indexed8_to_Grayscale8_inplace,
}, // Format_Indexed8
{
0,
@@ -2439,7 +2634,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0,
0,
0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB32
{
0,
@@ -2464,7 +2659,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0,
0,
convert_ARGB_to_RGBA_inplace,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB32
{
0,
@@ -2486,34 +2681,34 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0,
0,
convert_ARGB_to_RGBA_inplace,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0
}, // Format_ARGB32_Premultiplied
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB16
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB8565_Premultiplied
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB666
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB6666_Premultiplied
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB555
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB8555_Premultiplied
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB888
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB444
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB4444_Premultiplied
{
0,
@@ -2535,7 +2730,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0,
convert_passthrough_inplace<QImage::Format_RGBA8888>,
convert_passthrough_inplace<QImage::Format_RGBA8888_Premultiplied>,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0
}, // Format_RGBX8888
{
0,
@@ -2557,7 +2752,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0,
0,
0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0
}, // Format_RGBA8888
{
0,
@@ -2579,7 +2774,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0,
0,
0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0
}, // Format_RGBA8888_Premultiplied
{
0,
@@ -2604,7 +2799,8 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0,
convert_passthrough_inplace<QImage::Format_A2BGR30_Premultiplied>,
convert_BGR30_to_RGB30_inplace,
- convert_BGR30_to_RGB30_inplace
+ convert_BGR30_to_RGB30_inplace,
+ 0, 0
}, // Format_BGR30
{
0,
@@ -2629,7 +2825,8 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
convert_A2RGB30_PM_to_RGB30_inplace,
0,
0,
- convert_BGR30_to_RGB30_inplace
+ convert_BGR30_to_RGB30_inplace,
+ 0, 0
}, // Format_BGR30A2_Premultiplied
{
0,
@@ -2654,7 +2851,8 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
convert_BGR30_to_RGB30_inplace,
convert_BGR30_to_RGB30_inplace,
0,
- convert_passthrough_inplace<QImage::Format_A2RGB30_Premultiplied>
+ convert_passthrough_inplace<QImage::Format_A2RGB30_Premultiplied>,
+ 0, 0
}, // Format_RGB30
{
0,
@@ -2679,8 +2877,61 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0,
convert_BGR30_to_RGB30_inplace,
convert_A2RGB30_PM_to_RGB30_inplace,
- 0
+ 0,
+ 0, 0
}, // Format_RGB30A2_Premultiplied
+ {
+ 0,
+ 0,
+ 0,
+ convert_Alpha8_to_Indexed8_inplace,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0, 0
+ }, // Format_Alpha8
+ {
+ 0,
+ 0,
+ 0,
+ convert_Grayscale8_to_Indexed8_inplace,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0, 0
+ } // Format_Grayscale8
};
void qInitImageConversions()
diff --git a/src/gui/image/qimage_p.h b/src/gui/image/qimage_p.h
index eec54ed4eb..26c42b988e 100644
--- a/src/gui/image/qimage_p.h
+++ b/src/gui/image/qimage_p.h
@@ -128,6 +128,8 @@ inline int qt_depthForFormat(QImage::Format format)
depth = 1;
break;
case QImage::Format_Indexed8:
+ case QImage::Format_Alpha8:
+ case QImage::Format_Grayscale8:
depth = 8;
break;
case QImage::Format_RGB32:
diff --git a/src/gui/image/qimagereader.cpp b/src/gui/image/qimagereader.cpp
index a7a08a6fee..ad84b0a091 100644
--- a/src/gui/image/qimagereader.cpp
+++ b/src/gui/image/qimagereader.cpp
@@ -1290,7 +1290,7 @@ bool QImageReader::read(QImage *image)
}
// successful read; check for "@2x" file name suffix and set device pixel ratio.
- static bool disable2xImageLoading = !qgetenv("QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING").isEmpty();
+ static bool disable2xImageLoading = !qEnvironmentVariableIsEmpty("QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING");
if (!disable2xImageLoading && QFileInfo(fileName()).baseName().endsWith(QLatin1String("@2x"))) {
image->setDevicePixelRatio(2.0);
}
diff --git a/src/gui/image/qjpeghandler.cpp b/src/gui/image/qjpeghandler.cpp
index 87992bcced..ae30de634a 100644
--- a/src/gui/image/qjpeghandler.cpp
+++ b/src/gui/image/qjpeghandler.cpp
@@ -220,7 +220,7 @@ inline static bool read_jpeg_format(QImage::Format &format, j_decompress_ptr cin
bool result = true;
switch (cinfo->output_components) {
case 1:
- format = QImage::Format_Indexed8;
+ format = QImage::Format_Grayscale8;
break;
case 3:
case 4:
@@ -240,7 +240,7 @@ static bool ensureValidImage(QImage *dest, struct jpeg_decompress_struct *info,
QImage::Format format;
switch (info->output_components) {
case 1:
- format = QImage::Format_Indexed8;
+ format = QImage::Format_Grayscale8;
break;
case 3:
case 4:
@@ -250,16 +250,9 @@ static bool ensureValidImage(QImage *dest, struct jpeg_decompress_struct *info,
return false; // unsupported format
}
- if (dest->size() != size || dest->format() != format) {
+ if (dest->size() != size || dest->format() != format)
*dest = QImage(size, format);
- if (format == QImage::Format_Indexed8) {
- dest->setColorCount(256);
- for (int i = 0; i < 256; i++)
- dest->setColor(i, qRgb(i,i,i));
- }
- }
-
return !dest->isNull();
}
@@ -550,6 +543,9 @@ static bool write_jpeg_image(const QImage &image, QIODevice *device, volatile in
bool success = false;
const QVector<QRgb> cmap = image.colorTable();
+ if (image.format() == QImage::Format_Invalid || image.format() == QImage::Format_Alpha8)
+ return false;
+
struct jpeg_compress_struct cinfo;
JSAMPROW row_pointer[1];
row_pointer[0] = 0;
@@ -573,19 +569,23 @@ static bool write_jpeg_image(const QImage &image, QIODevice *device, volatile in
cinfo.image_width = image.width();
cinfo.image_height = image.height();
- bool gray=false;
+ bool gray = false;
switch (image.format()) {
case QImage::Format_Mono:
case QImage::Format_MonoLSB:
case QImage::Format_Indexed8:
gray = true;
- for (int i = image.colorCount(); gray && i--;) {
- gray = gray & (qRed(cmap[i]) == qGreen(cmap[i]) &&
- qRed(cmap[i]) == qBlue(cmap[i]));
+ for (int i = image.colorCount(); gray && i; i--) {
+ gray = gray & qIsGray(cmap[i-1]);
}
cinfo.input_components = gray ? 1 : 3;
cinfo.in_color_space = gray ? JCS_GRAYSCALE : JCS_RGB;
break;
+ case QImage::Format_Grayscale8:
+ gray = true;
+ cinfo.input_components = 1;
+ cinfo.in_color_space = JCS_GRAYSCALE;
+ break;
default:
cinfo.input_components = 3;
cinfo.in_color_space = JCS_RGB;
@@ -670,6 +670,9 @@ static bool write_jpeg_image(const QImage &image, QIODevice *device, volatile in
}
}
break;
+ case QImage::Format_Grayscale8:
+ memcpy(row, image.constScanLine(cinfo.next_scanline), w);
+ break;
case QImage::Format_RGB888:
memcpy(row, image.constScanLine(cinfo.next_scanline), w * 3);
break;
diff --git a/src/gui/image/qpixmap_raster.cpp b/src/gui/image/qpixmap_raster.cpp
index 65e7fb0096..9c9db1c9c1 100644
--- a/src/gui/image/qpixmap_raster.cpp
+++ b/src/gui/image/qpixmap_raster.cpp
@@ -203,9 +203,14 @@ void QRasterPlatformPixmap::fill(const QColor &color)
pixel = qPremultiply(color.rgba());
const QPixelLayout *layout = &qPixelLayouts[image.format()];
layout->convertFromARGB32PM(&pixel, &pixel, 1, layout, 0);
- } else {
+ } else if (image.format() == QImage::Format_Alpha8) {
+ pixel = qAlpha(color.rgba());
+ } else if (image.format() == QImage::Format_Grayscale8) {
+ pixel = qGray(color.rgba());
+ } else
+ {
pixel = 0;
- // ### what about 8 bits
+ // ### what about 8 bit indexed?
}
image.fill(pixel);
diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp
index 17a0dd3eb9..d09ed0fda7 100644
--- a/src/gui/image/qpnghandler.cpp
+++ b/src/gui/image/qpnghandler.cpp
@@ -295,6 +295,15 @@ void setup_qt(QImage& image, png_structp png_ptr, png_infop info_ptr, QSize scal
png_set_swap_alpha(png_ptr);
png_read_update_info(png_ptr, info_ptr);
+ } else if (bit_depth == 8 && !png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
+ png_set_expand(png_ptr);
+ if (image.size() != QSize(width, height) || image.format() != QImage::Format_Grayscale8) {
+ image = QImage(width, height, QImage::Format_Grayscale8);
+ if (image.isNull())
+ return;
+ }
+
+ png_read_update_info(png_ptr, info_ptr);
} else {
if (bit_depth == 16)
png_set_strip_16(png_ptr);
@@ -666,6 +675,8 @@ QImage::Format QPngHandlerPrivate::readImageFormat()
format = QImage::Format_Mono;
} else if (bit_depth == 16 && png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
format = QImage::Format_ARGB32;
+ } else if (bit_depth == 8 && !png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
+ format = QImage::Format_Grayscale8;
} else {
format = QImage::Format_Indexed8;
}
@@ -857,6 +868,8 @@ bool Q_INTERNAL_WIN_NO_THROW QPNGImageWriter::writeImage(const QImage& image, vo
else
color_type = PNG_COLOR_TYPE_PALETTE;
}
+ else if (image.format() == QImage::Format_Grayscale8)
+ color_type = PNG_COLOR_TYPE_GRAY;
else if (image.hasAlphaChannel())
color_type = PNG_COLOR_TYPE_RGB_ALPHA;
else
@@ -955,6 +968,7 @@ bool Q_INTERNAL_WIN_NO_THROW QPNGImageWriter::writeImage(const QImage& image, vo
case QImage::Format_Mono:
case QImage::Format_MonoLSB:
case QImage::Format_Indexed8:
+ case QImage::Format_Grayscale8:
case QImage::Format_RGB32:
case QImage::Format_ARGB32:
case QImage::Format_RGB888:
diff --git a/src/gui/image/qppmhandler.cpp b/src/gui/image/qppmhandler.cpp
index 314abca9f0..e1c76cce7f 100644
--- a/src/gui/image/qppmhandler.cpp
+++ b/src/gui/image/qppmhandler.cpp
@@ -122,7 +122,7 @@ static bool read_pbm_body(QIODevice *device, char type, int w, int h, int mcc, Q
case '2': // ascii PGM
case '5': // raw PGM
nbits = 8;
- format = QImage::Format_Indexed8;
+ format = QImage::Format_Grayscale8;
break;
case '3': // ascii PPM
case '6': // raw PPM
@@ -200,13 +200,13 @@ static bool read_pbm_body(QIODevice *device, char type, int w, int h, int mcc, Q
*p++ = b;
}
} else if (nbits == 8) {
- if (mcc == maxc) {
+ if (mcc == 255) {
while (n--) {
*p++ = read_pbm_int(device);
}
} else {
while (n--) {
- *p++ = read_pbm_int(device) * maxc / mcc;
+ *p++ = read_pbm_int(device) * 255 / mcc;
}
}
} else { // 32 bits
@@ -233,14 +233,10 @@ static bool read_pbm_body(QIODevice *device, char type, int w, int h, int mcc, Q
}
}
- if (nbits == 1) { // bitmap
+ if (format == QImage::Format_Mono) {
outImage->setColorCount(2);
- outImage->setColor(0, qRgb(255,255,255)); // white
- outImage->setColor(1, qRgb(0,0,0)); // black
- } else if (nbits == 8) { // graymap
- outImage->setColorCount(maxc+1);
- for (int i=0; i<=maxc; i++)
- outImage->setColor(i, qRgb(i*255/maxc,i*255/maxc,i*255/maxc));
+ outImage->setColor(0, qRgb(255,255,255)); // white
+ outImage->setColor(1, qRgb(0,0,0)); // black
}
return true;
@@ -257,6 +253,8 @@ static bool write_pbm_image(QIODevice *out, const QImage &sourceImage, const QBy
if (format == "pbm") {
image = image.convertToFormat(QImage::Format_Mono);
+ } else if (gray) {
+ image = image.convertToFormat(QImage::Format_Grayscale8);
} else {
switch (image.format()) {
case QImage::Format_Mono:
@@ -317,63 +315,77 @@ static bool write_pbm_image(QIODevice *out, const QImage &sourceImage, const QBy
str.append("255\n");
if (out->write(str, str.length()) != str.length())
return false;
- QVector<QRgb> color = image.colorTable();
- uint bpl = w*(gray ? 1 : 3);
- uchar *buf = new uchar[bpl];
- for (uint y=0; y<h; y++) {
- uchar *b = image.scanLine(y);
- uchar *p = buf;
- uchar *end = buf+bpl;
- if (gray) {
- while (p < end) {
- uchar g = (uchar)qGray(color[*b++]);
- *p++ = g;
+ uint bpl = w * (gray ? 1 : 3);
+ uchar *buf = new uchar[bpl];
+ if (image.format() == QImage::Format_Indexed8) {
+ QVector<QRgb> color = image.colorTable();
+ for (uint y=0; y<h; y++) {
+ uchar *b = image.scanLine(y);
+ uchar *p = buf;
+ uchar *end = buf+bpl;
+ if (gray) {
+ while (p < end) {
+ uchar g = (uchar)qGray(color[*b++]);
+ *p++ = g;
+ }
+ } else {
+ while (p < end) {
+ QRgb rgb = color[*b++];
+ *p++ = qRed(rgb);
+ *p++ = qGreen(rgb);
+ *p++ = qBlue(rgb);
+ }
}
- } else {
- while (p < end) {
- QRgb rgb = color[*b++];
- *p++ = qRed(rgb);
- *p++ = qGreen(rgb);
- *p++ = qBlue(rgb);
+ if (bpl != (uint)out->write((char*)buf, bpl))
+ return false;
+ }
+ } else {
+ for (uint y=0; y<h; y++) {
+ uchar *b = image.scanLine(y);
+ uchar *p = buf;
+ uchar *end = buf + bpl;
+ if (gray) {
+ while (p < end)
+ *p++ = *b++;
+ } else {
+ while (p < end) {
+ uchar color = *b++;
+ *p++ = color;
+ *p++ = color;
+ *p++ = color;
+ }
}
+ if (bpl != (uint)out->write((char*)buf, bpl))
+ return false;
}
- if (bpl != (uint)out->write((char*)buf, bpl))
- return false;
}
delete [] buf;
- }
break;
+ }
case 32: {
- str.insert(1, gray ? '5' : '6');
+ str.insert(1, '6');
str.append("255\n");
if (out->write(str, str.length()) != str.length())
return false;
- uint bpl = w*(gray ? 1 : 3);
+ uint bpl = w * 3;
uchar *buf = new uchar[bpl];
for (uint y=0; y<h; y++) {
QRgb *b = (QRgb*)image.scanLine(y);
uchar *p = buf;
uchar *end = buf+bpl;
- if (gray) {
- while (p < end) {
- uchar g = (uchar)qGray(*b++);
- *p++ = g;
- }
- } else {
- while (p < end) {
- QRgb rgb = *b++;
- *p++ = qRed(rgb);
- *p++ = qGreen(rgb);
- *p++ = qBlue(rgb);
- }
+ while (p < end) {
+ QRgb rgb = *b++;
+ *p++ = qRed(rgb);
+ *p++ = qGreen(rgb);
+ *p++ = qBlue(rgb);
}
if (bpl != (uint)out->write((char*)buf, bpl))
return false;
}
delete [] buf;
- }
break;
+ }
default:
return false;
@@ -488,11 +500,11 @@ QVariant QPpmHandler::option(ImageOption option) const
switch (type) {
case '1': // ascii PBM
case '4': // raw PBM
- format = QImage::Format_Mono;
- break;
+ format = QImage::Format_Mono;
+ break;
case '2': // ascii PGM
case '5': // raw PGM
- format = QImage::Format_Indexed8;
+ format = QImage::Format_Grayscale8;
break;
case '3': // ascii PPM
case '6': // raw PPM
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index a8c34a8871..9eefa968ad 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -1326,6 +1326,55 @@ QExposeEvent::~QExposeEvent()
}
/*!
+ \class QPlatformSurfaceEvent
+ \since 5.5
+ \brief The QPlatformSurfaceEvent class is used to notify about native platform surface events.
+ \inmodule QtGui
+
+ \ingroup events
+
+ Platform window events are synchronously sent to windows and offscreen surfaces when their
+ underlying native surfaces are created or are about to be destroyed.
+
+ Applications can respond to these events to know when the underlying platform
+ surface exists.
+*/
+
+/*!
+ \enum QPlatformSurfaceEvent::SurfaceEventType
+
+ This enum describes the type of platform surface event. The possible types are:
+
+ \value SurfaceCreated The underlying native surface has been created
+ \value SurfaceAboutToBeDestroyed The underlying native surface will be destroyed immediately after this event
+
+ The \c SurfaceAboutToBeDestroyed event type is useful as a means of stopping rendering to
+ a platform window before it is destroyed.
+*/
+
+/*!
+ \fn QPlatformSurfaceEvent::SurfaceEventType QPlatformSurfaceEvent::surfaceEventType() const
+
+ Returns the specific type of platform surface event.
+*/
+
+/*!
+ Constructs a platform surface event for the given \a surfaceEventType.
+*/
+QPlatformSurfaceEvent::QPlatformSurfaceEvent(SurfaceEventType surfaceEventType)
+ : QEvent(PlatformSurface)
+ , m_surfaceEventType(surfaceEventType)
+{
+}
+
+/*!
+ \internal
+*/
+QPlatformSurfaceEvent::~QPlatformSurfaceEvent()
+{
+}
+
+/*!
\fn const QRegion &QExposeEvent::region() const
Returns the window area that has been exposed. The region is given in local coordinates.
@@ -3558,6 +3607,8 @@ static const char *eventClassName(QEvent::Type t)
return "QGraphicsSceneEvent";
case QEvent::Timer:
return "QTimerEvent";
+ case QEvent::PlatformSurface:
+ return "QPlatformSurfaceEvent";
default:
break;
}
@@ -3816,6 +3867,18 @@ QDebug operator<<(QDebug dbg, const QEvent *e)
case QEvent::Timer:
dbg << "QTimerEvent(id=" << static_cast<const QTimerEvent *>(e)->timerId() << ')';
break;
+ case QEvent::PlatformSurface:
+ dbg << "QPlatformSurfaceEvent(surfaceEventType=";
+ switch (static_cast<const QPlatformSurfaceEvent *>(e)->surfaceEventType()) {
+ case QPlatformSurfaceEvent::SurfaceCreated:
+ dbg << "SurfaceCreated";
+ break;
+ case QPlatformSurfaceEvent::SurfaceAboutToBeDestroyed:
+ dbg << "SurfaceAboutToBeDestroyed";
+ break;
+ }
+ dbg << ')';
+ break;
default:
dbg << eventClassName(type) << '(' << eventTypeName(type) << ", "
<< (const void *)e << ", type = " << e->type() << ')';
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index 6fca54e2b6..0b6d96a590 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -162,6 +162,8 @@ protected:
class Q_GUI_EXPORT QWheelEvent : public QInputEvent
{
public:
+ enum { DefaultDeltasPerStep = 120 };
+
QWheelEvent(const QPointF &pos, int delta,
Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers,
Qt::Orientation orient = Qt::Vertical);
@@ -408,6 +410,23 @@ protected:
QRegion rgn;
};
+class Q_GUI_EXPORT QPlatformSurfaceEvent : public QEvent
+{
+public:
+ enum SurfaceEventType {
+ SurfaceCreated,
+ SurfaceAboutToBeDestroyed
+ };
+
+ explicit QPlatformSurfaceEvent(SurfaceEventType surfaceEventType);
+ ~QPlatformSurfaceEvent();
+
+ inline SurfaceEventType surfaceEventType() const { return m_surfaceEventType; }
+
+protected:
+ SurfaceEventType m_surfaceEventType;
+};
+
class Q_GUI_EXPORT QResizeEvent : public QEvent
{
public:
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index e3f4794e6d..ded3788dbf 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -215,11 +215,6 @@ static inline void clearFontUnlocked()
QGuiApplicationPrivate::app_font = 0;
}
-static inline bool isPopupWindow(const QWindow *w)
-{
- return (w->flags() & Qt::WindowType_Mask) == Qt::Popup;
-}
-
// Geometry specification for top level windows following the convention of the
// -geometry command line arguments in X11 (see XParseGeometry).
struct QWindowGeometrySpecification
@@ -671,7 +666,7 @@ static void updateBlockedStatusRecursion(QWindow *window, bool shouldBeBlocked)
void QGuiApplicationPrivate::updateBlockedStatus(QWindow *window)
{
bool shouldBeBlocked = false;
- if (!isPopupWindow(window) && !self->modalWindowList.isEmpty())
+ if (!QWindowPrivate::get(window)->isPopup() && !self->modalWindowList.isEmpty())
shouldBeBlocked = self->isWindowBlocked(window);
updateBlockedStatusRecursion(window, shouldBeBlocked);
}
@@ -681,7 +676,7 @@ void QGuiApplicationPrivate::showModalWindow(QWindow *modal)
self->modalWindowList.prepend(modal);
// Send leave for currently entered window if it should be blocked
- if (currentMouseWindow && !isPopupWindow(currentMouseWindow)) {
+ if (currentMouseWindow && !QWindowPrivate::get(currentMouseWindow)->isPopup()) {
bool shouldBeBlocked = self->isWindowBlocked(currentMouseWindow);
if (shouldBeBlocked) {
// Remove the new window from modalWindowList temporarily so leave can go through
@@ -1366,6 +1361,8 @@ QGuiApplicationPrivate::~QGuiApplicationPrivate()
}
#endif
+ platform_integration->destroy();
+
delete platform_theme;
platform_theme = 0;
delete platform_integration;
@@ -1511,18 +1508,6 @@ int QGuiApplication::exec()
*/
bool QGuiApplication::notify(QObject *object, QEvent *event)
{
-#ifndef QT_NO_SHORTCUT
- if (event->type() == QEvent::KeyPress) {
- // Try looking for a Shortcut before sending key events
- QWindow *w = qobject_cast<QWindow *>(object);
- QObject *focus = w ? w->focusObject() : 0;
- if (!focus)
- focus = object;
- if (QGuiApplicationPrivate::instance()->shortcutMap.tryShortcutEvent(focus, static_cast<QKeyEvent *>(event)))
- return true;
- }
-#endif
-
if (object->isWindowType())
QGuiApplicationPrivate::sendQWindowEventToQPlatformWindow(static_cast<QWindow *>(object), event);
return QCoreApplication::notify(object, event);
@@ -1686,7 +1671,8 @@ void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::Mo
// will update the global mouse position and cause the second event to be a button only event.
QWindowSystemInterfacePrivate::MouseEvent moveEvent(e->window.data(),
e->timestamp, e->type, e->localPos, e->globalPos, buttons, e->modifiers, e->source);
- moveEvent.synthetic = e->synthetic;
+ if (e->flags & QWindowSystemInterfacePrivate::WindowSystemEvent::Synthetic)
+ moveEvent.flags |= QWindowSystemInterfacePrivate::WindowSystemEvent::Synthetic;
processMouseEvent(&moveEvent);
Q_ASSERT(e->globalPos == QGuiApplicationPrivate::lastCursorPosition);
// continue with processing mouse button change event
@@ -1698,7 +1684,7 @@ void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::Mo
QPointF localPoint = e->localPos;
QPointF globalPoint = e->globalPos;
- if (e->nullWindow) {
+ if (e->nullWindow()) {
window = QGuiApplication::topLevelAt(globalPoint.toPoint());
if (window) {
QPointF delta = globalPoint - globalPoint.toPoint();
@@ -1751,7 +1737,7 @@ void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::Mo
ev.setTimestamp(e->timestamp);
setMouseEventSource(&ev, e->source);
#ifndef QT_NO_CURSOR
- if (!e->synthetic) {
+ if (!e->synthetic()) {
if (const QScreen *screen = window->screen())
if (QPlatformCursor *cursor = screen->handle()->cursor())
cursor->pointerEvent(ev);
@@ -1769,7 +1755,7 @@ void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::Mo
}
QGuiApplication::sendSpontaneousEvent(window, &ev);
- if (!e->synthetic && !ev.isAccepted()
+ if (!e->synthetic() && !ev.isAccepted()
&& !frameStrut
&& qApp->testAttribute(Qt::AA_SynthesizeTouchForUnhandledMouseEvents)) {
if (!m_fakeTouchDevice) {
@@ -1800,12 +1786,12 @@ void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::Mo
QList<QTouchEvent::TouchPoint> touchPoints = QWindowSystemInterfacePrivate::convertTouchPoints(points, &type);
QWindowSystemInterfacePrivate::TouchEvent fake(window, e->timestamp, type, m_fakeTouchDevice, touchPoints, e->modifiers);
- fake.synthetic = true;
+ fake.flags |= QWindowSystemInterfacePrivate::WindowSystemEvent::Synthetic;
processTouchEvent(&fake);
}
if (doubleClick) {
mousePressButton = Qt::NoButton;
- if (!e->window.isNull() || e->nullWindow) { // QTBUG-36364, check if window closed in response to press
+ if (!e->window.isNull() || e->nullWindow()) { // QTBUG-36364, check if window closed in response to press
const QEvent::Type doubleClickType = frameStrut ? QEvent::NonClientAreaMouseButtonDblClick : QEvent::MouseButtonDblClick;
QMouseEvent dblClickEvent(doubleClickType, localPoint, localPoint, globalPoint,
button, buttons, e->modifiers);
@@ -1823,7 +1809,7 @@ void QGuiApplicationPrivate::processWheelEvent(QWindowSystemInterfacePrivate::Wh
QPointF globalPoint = e->globalPos;
QPointF localPoint = e->localPos;
- if (e->nullWindow) {
+ if (e->nullWindow()) {
window = QGuiApplication::topLevelAt(globalPoint.toPoint());
if (window) {
QPointF delta = globalPoint - globalPoint.toPoint();
@@ -1854,7 +1840,7 @@ void QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyE
{
QWindow *window = e->window.data();
modifier_buttons = e->modifiers;
- if (e->nullWindow
+ if (e->nullWindow()
#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_NO_SDK)
|| e->key == Qt::Key_Back || e->key == Qt::Key_Menu
#endif
@@ -2095,7 +2081,7 @@ void QGuiApplicationPrivate::processTabletEvent(QWindowSystemInterfacePrivate::T
// subsequent events up to the release are delivered to that same window.
// If window is given, just send to that.
if (type == QEvent::TabletPress) {
- if (e->nullWindow) {
+ if (e->nullWindow()) {
window = QGuiApplication::topLevelAt(e->global.toPoint());
localValid = false;
}
@@ -2103,7 +2089,7 @@ void QGuiApplicationPrivate::processTabletEvent(QWindowSystemInterfacePrivate::T
return;
tabletPressTarget = window;
} else {
- if (e->nullWindow) {
+ if (e->nullWindow()) {
window = tabletPressTarget;
localValid = false;
}
@@ -2237,7 +2223,7 @@ void QGuiApplicationPrivate::processTouchEvent(QWindowSystemInterfacePrivate::To
touchEvent.setWindow(*winIt);
QGuiApplication::sendSpontaneousEvent(*winIt, &touchEvent);
}
- if (!self->synthesizedMousePoints.isEmpty() && !e->synthetic) {
+ if (!self->synthesizedMousePoints.isEmpty() && !e->synthetic()) {
for (QHash<QWindow *, SynthesizedMouseData>::const_iterator synthIt = self->synthesizedMousePoints.constBegin(),
synthItEnd = self->synthesizedMousePoints.constEnd(); synthIt != synthItEnd; ++synthIt) {
if (!synthIt->window)
@@ -2249,7 +2235,7 @@ void QGuiApplicationPrivate::processTouchEvent(QWindowSystemInterfacePrivate::To
buttons & ~Qt::LeftButton,
e->modifiers,
Qt::MouseEventSynthesizedByQt);
- fake.synthetic = true;
+ fake.flags |= QWindowSystemInterfacePrivate::WindowSystemEvent::Synthetic;
processMouseEvent(&fake);
}
self->synthesizedMousePoints.clear();
@@ -2428,7 +2414,7 @@ void QGuiApplicationPrivate::processTouchEvent(QWindowSystemInterfacePrivate::To
}
QGuiApplication::sendSpontaneousEvent(w, &touchEvent);
- if (!e->synthetic && !touchEvent.isAccepted() && synthesizeMouseFromTouchEventsEnabled()) {
+ if (!e->synthetic() && !touchEvent.isAccepted() && synthesizeMouseFromTouchEventsEnabled()) {
// exclude touchpads as those generate their own mouse events
if (touchEvent.device()->type() != QTouchDevice::TouchPad) {
Qt::MouseButtons b = eventType == QEvent::TouchEnd ? Qt::NoButton : Qt::LeftButton;
@@ -2451,7 +2437,7 @@ void QGuiApplicationPrivate::processTouchEvent(QWindowSystemInterfacePrivate::To
b | (buttons & ~Qt::LeftButton),
e->modifiers,
Qt::MouseEventSynthesizedByQt);
- fake.synthetic = true;
+ fake.flags |= QWindowSystemInterfacePrivate::WindowSystemEvent::Synthetic;
processMouseEvent(&fake);
break;
}
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
index 209d1dd499..4a4ce22f35 100644
--- a/src/gui/kernel/qkeysequence.cpp
+++ b/src/gui/kernel/qkeysequence.cpp
@@ -289,6 +289,7 @@ void Q_GUI_EXPORT qt_set_sequence_auto_mnemonic(bool b) { qt_sequence_no_mnemoni
\row \li DeleteCompleteLine \li (none) \li (none) \li Ctrl+U \li Ctrl+U
\row \li InsertParagraphSeparator \li Enter \li Enter \li Enter \li Enter
\row \li InsertLineSeparator \li Shift+Enter \li Meta+Enter, Meta+O \li Shift+Enter \li Shift+Enter
+ \row \li Backspace \li (none) \li Meta+H \li (none) \li (none)
\endtable
Note that, since the key sequences used for the standard shortcuts differ
@@ -663,6 +664,9 @@ static const struct {
{ Qt::Key_Play, QT_TRANSLATE_NOOP("QShortcut", "Play") },
{ Qt::Key_Zoom, QT_TRANSLATE_NOOP("QShortcut", "Zoom") },
{ Qt::Key_Exit, QT_TRANSLATE_NOOP("QShortcut", "Exit") },
+ { Qt::Key_TouchpadToggle, QT_TRANSLATE_NOOP("QShortcut", "Touchpad Toggle") },
+ { Qt::Key_TouchpadOn, QT_TRANSLATE_NOOP("QShortcut", "Touchpad On") },
+ { Qt::Key_TouchpadOff, QT_TRANSLATE_NOOP("QShortcut", "Touchpad Off") },
{ 0, 0 }
};
@@ -679,6 +683,7 @@ static const struct {
\value AddTab Add new tab.
\value Back Navigate back.
+ \value Backspace Delete previous character.
\value Bold Bold text.
\value Close Close document/tab.
\value Copy Copy.
diff --git a/src/gui/kernel/qkeysequence.h b/src/gui/kernel/qkeysequence.h
index 5a2ce5a8b9..fd2a3e9d7b 100644
--- a/src/gui/kernel/qkeysequence.h
+++ b/src/gui/kernel/qkeysequence.h
@@ -134,7 +134,8 @@ public:
Quit,
FullScreen,
Deselect,
- DeleteCompleteLine
+ DeleteCompleteLine,
+ Backspace
};
enum SequenceFormat {
diff --git a/src/gui/kernel/qoffscreensurface.cpp b/src/gui/kernel/qoffscreensurface.cpp
index 5cf77de5d8..fb1dfd8df5 100644
--- a/src/gui/kernel/qoffscreensurface.cpp
+++ b/src/gui/kernel/qoffscreensurface.cpp
@@ -180,6 +180,9 @@ void QOffscreenSurface::create()
d->offscreenWindow->setGeometry(0, 0, d->size.width(), d->size.height());
d->offscreenWindow->create();
}
+
+ QPlatformSurfaceEvent e(QPlatformSurfaceEvent::SurfaceCreated);
+ QGuiApplication::sendEvent(this, &e);
}
}
@@ -191,6 +194,10 @@ void QOffscreenSurface::create()
void QOffscreenSurface::destroy()
{
Q_D(QOffscreenSurface);
+
+ QPlatformSurfaceEvent e(QPlatformSurfaceEvent::SurfaceAboutToBeDestroyed);
+ QGuiApplication::sendEvent(this, &e);
+
delete d->platformOffscreenSurface;
d->platformOffscreenSurface = 0;
if (d->offscreenWindow) {
diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp
index 1a8a534e11..07a7c601fa 100644
--- a/src/gui/kernel/qopenglcontext.cpp
+++ b/src/gui/kernel/qopenglcontext.cpp
@@ -596,6 +596,7 @@ bool QOpenGLContext::create()
d->platformGLContext = QGuiApplicationPrivate::platformIntegration()->createPlatformOpenGLContext(this);
if (!d->platformGLContext)
return false;
+ d->platformGLContext->initialize();
d->platformGLContext->setContext(this);
if (!d->platformGLContext->isSharing())
d->shareContext = 0;
diff --git a/src/gui/kernel/qpaintdevicewindow.cpp b/src/gui/kernel/qpaintdevicewindow.cpp
index cf8653426f..d5b15ed5f5 100644
--- a/src/gui/kernel/qpaintdevicewindow.cpp
+++ b/src/gui/kernel/qpaintdevicewindow.cpp
@@ -76,7 +76,7 @@ void QPaintDeviceWindow::update(const QRect &rect)
{
Q_D(QPaintDeviceWindow);
d->dirtyRegion += rect;
- d->triggerUpdate();
+ requestUpdate();
}
/*!
@@ -89,7 +89,7 @@ void QPaintDeviceWindow::update(const QRegion &region)
{
Q_D(QPaintDeviceWindow);
d->dirtyRegion += region;
- d->triggerUpdate();
+ requestUpdate();
}
/*!
@@ -179,7 +179,6 @@ bool QPaintDeviceWindow::event(QEvent *event)
Q_D(QPaintDeviceWindow);
if (event->type() == QEvent::UpdateRequest) {
- d->paintEventSent = false;
if (handle()) // platform window may be gone when the window is closed during app exit
d->handleUpdateEvent();
return true;
diff --git a/src/gui/kernel/qpaintdevicewindow_p.h b/src/gui/kernel/qpaintdevicewindow_p.h
index 1935bb6db5..865861125b 100644
--- a/src/gui/kernel/qpaintdevicewindow_p.h
+++ b/src/gui/kernel/qpaintdevicewindow_p.h
@@ -46,8 +46,6 @@ class Q_GUI_EXPORT QPaintDeviceWindowPrivate : public QWindowPrivate
Q_DECLARE_PUBLIC(QPaintDeviceWindow)
public:
- QPaintDeviceWindowPrivate() : paintEventSent(false) { }
-
virtual void beginPaint(const QRegion &region)
{
Q_UNUSED(region);
@@ -82,15 +80,6 @@ public:
return true;
}
- void triggerUpdate()
- {
- Q_Q(QPaintDeviceWindow);
- if (!paintEventSent) {
- QCoreApplication::postEvent(q, new QEvent(QEvent::UpdateRequest));
- paintEventSent = true;
- }
- }
-
void doFlush(const QRegion &region)
{
QRegion toFlush = region;
@@ -113,7 +102,6 @@ public:
private:
QRegion dirtyRegion;
- bool paintEventSent;
};
diff --git a/src/gui/kernel/qpixelformat.cpp b/src/gui/kernel/qpixelformat.cpp
index cfa8a96d69..7e50a0cd41 100644
--- a/src/gui/kernel/qpixelformat.cpp
+++ b/src/gui/kernel/qpixelformat.cpp
@@ -69,6 +69,7 @@ QT_BEGIN_NAMESPACE
\enum QPixelFormat::ColorModel
This enum type is used to describe the color model of the pixelformat.
+ Alpha was added in 5.5.
\value RGB The color model is RGB.
@@ -86,6 +87,8 @@ QT_BEGIN_NAMESPACE
\value HSV The color model is HSV.
\value YUV The color model is YUV.
+
+ \value Alpha There is no color model, only alpha is used.
*/
/*!
@@ -282,6 +285,21 @@ QT_BEGIN_NAMESPACE
*/
/*!
+ \fn QPixelFormat qPixelFormatAlpha(uchar channelSize,
+ QPixelFormat::TypeInterpretation typeInterpretation = QPixelFormat::UnsignedInteger)
+ \relates QPixelFormat
+ \since 5.5
+
+ Constructor function for creating an Alpha format. A mask format can be
+ described by passing 1 to \a channelSize. Its also possible to define very
+ accurate alpha formats using doubles to describe each pixel by passing 8
+ as \a channelSize and FloatingPoint as \a typeInterpretation.
+
+ \sa QPixelFormat::TypeInterpretation
+*/
+
+
+/*!
\fn QPixelFormat qPixelFormatCmyk(uchar channelSize,
uchar alphaSize = 0,
QPixelFormat::AlphaUsage alphaUsage = QPixelFormat::IgnoresAlpha,
diff --git a/src/gui/kernel/qpixelformat.h b/src/gui/kernel/qpixelformat.h
index f55c97c7c0..b7a4377a69 100644
--- a/src/gui/kernel/qpixelformat.h
+++ b/src/gui/kernel/qpixelformat.h
@@ -103,7 +103,8 @@ public:
CMYK,
HSL,
HSV,
- YUV
+ YUV,
+ Alpha
};
enum AlphaUsage {
@@ -304,6 +305,22 @@ Q_DECL_CONSTEXPR inline QPixelFormat qPixelFormatGrayscale(uchar channelSize,
typeInt);
}
+Q_DECL_CONSTEXPR inline QPixelFormat qPixelFormatAlpha(uchar channelSize,
+ QPixelFormat::TypeInterpretation typeInt=QPixelFormat::UnsignedInteger) Q_DECL_NOTHROW
+{
+ return QPixelFormat(QPixelFormat::Alpha,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ channelSize,
+ QPixelFormat::UsesAlpha,
+ QPixelFormat::AtBeginning,
+ QPixelFormat::NotPremultiplied,
+ typeInt);
+}
+
Q_DECL_CONSTEXPR inline QPixelFormat qPixelFormatCmyk(uchar channelSize,
uchar alfa=0,
QPixelFormat::AlphaUsage usage=QPixelFormat::IgnoresAlpha,
diff --git a/src/gui/kernel/qplatformintegration.cpp b/src/gui/kernel/qplatformintegration.cpp
index 39b031ef6d..7e291e9050 100644
--- a/src/gui/kernel/qplatformintegration.cpp
+++ b/src/gui/kernel/qplatformintegration.cpp
@@ -324,6 +324,16 @@ void QPlatformIntegration::initialize()
}
/*!
+ Called before the platform integration is deleted. Useful when cleanup relies on virtual
+ functions.
+
+ \since 5.5
+*/
+void QPlatformIntegration::destroy()
+{
+}
+
+/*!
Returns the platforms input context.
The default implementation returns 0, implying no input method support.
diff --git a/src/gui/kernel/qplatformintegration.h b/src/gui/kernel/qplatformintegration.h
index d510240fa4..ccbe4cc73d 100644
--- a/src/gui/kernel/qplatformintegration.h
+++ b/src/gui/kernel/qplatformintegration.h
@@ -109,6 +109,7 @@ public:
// Event dispatcher:
virtual QAbstractEventDispatcher *createEventDispatcher() const = 0;
virtual void initialize();
+ virtual void destroy();
//Deeper window system integrations
virtual QPlatformFontDatabase *fontDatabase() const;
diff --git a/src/gui/kernel/qplatformopenglcontext.cpp b/src/gui/kernel/qplatformopenglcontext.cpp
index 527bfdd983..bf0dccd440 100644
--- a/src/gui/kernel/qplatformopenglcontext.cpp
+++ b/src/gui/kernel/qplatformopenglcontext.cpp
@@ -89,6 +89,16 @@ QPlatformOpenGLContext::~QPlatformOpenGLContext()
}
/*!
+ Called after a new instance is constructed. The default implementation does nothing.
+
+ Subclasses can use this function to perform additional initialization that relies on
+ virtual functions.
+ */
+void QPlatformOpenGLContext::initialize()
+{
+}
+
+/*!
Reimplement in subclass if your platform uses framebuffer objects for surfaces.
The default implementation returns 0.
diff --git a/src/gui/kernel/qplatformopenglcontext.h b/src/gui/kernel/qplatformopenglcontext.h
index 261b6921a4..0a2bacfbde 100644
--- a/src/gui/kernel/qplatformopenglcontext.h
+++ b/src/gui/kernel/qplatformopenglcontext.h
@@ -63,6 +63,8 @@ public:
QPlatformOpenGLContext();
virtual ~QPlatformOpenGLContext();
+ virtual void initialize();
+
virtual QSurfaceFormat format() const = 0;
virtual void swapBuffers(QPlatformSurface *surface) = 0;
diff --git a/src/gui/kernel/qplatformtheme.cpp b/src/gui/kernel/qplatformtheme.cpp
index 646bd90e56..92c1b09406 100644
--- a/src/gui/kernel/qplatformtheme.cpp
+++ b/src/gui/kernel/qplatformtheme.cpp
@@ -320,7 +320,8 @@ const QKeyBinding QPlatformThemePrivate::keyBindings[] = {
{QKeySequence::FullScreen, 1, Qt::CTRL | Qt::Key_F11, KB_Gnome},
{QKeySequence::FullScreen, 1, Qt::Key_F11, KB_Win | KB_KDE},
{QKeySequence::Deselect, 0, Qt::CTRL | Qt::SHIFT | Qt::Key_A, KB_X11},
- {QKeySequence::DeleteCompleteLine, 0, Qt::CTRL | Qt::Key_U, KB_X11}
+ {QKeySequence::DeleteCompleteLine, 0, Qt::CTRL | Qt::Key_U, KB_X11},
+ {QKeySequence::Backspace, 0, Qt::META | Qt::Key_H, KB_Mac}
};
const uint QPlatformThemePrivate::numberOfKeyBindings = sizeof(QPlatformThemePrivate::keyBindings)/(sizeof(QKeyBinding));
@@ -502,9 +503,11 @@ QVariant QPlatformTheme::defaultThemeHint(ThemeHint hint)
case MouseDoubleClickDistance:
{
bool ok = false;
- int dist = qgetenv("QT_DBL_CLICK_DIST").toInt(&ok);
+ const int dist = qEnvironmentVariableIntValue("QT_DBL_CLICK_DIST", &ok);
return QVariant(ok ? dist : 5);
}
+ case WheelScrollLines:
+ return QVariant(3);
}
return QVariant();
}
diff --git a/src/gui/kernel/qplatformtheme.h b/src/gui/kernel/qplatformtheme.h
index a41dd8f257..be1eacf002 100644
--- a/src/gui/kernel/qplatformtheme.h
+++ b/src/gui/kernel/qplatformtheme.h
@@ -101,7 +101,8 @@ public:
DialogSnapToDefaultButton,
ContextMenuOnMouseRelease,
MousePressAndHoldInterval,
- MouseDoubleClickDistance
+ MouseDoubleClickDistance,
+ WheelScrollLines
};
enum DialogType {
diff --git a/src/gui/kernel/qplatformwindow.cpp b/src/gui/kernel/qplatformwindow.cpp
index 754395592c..167bd44f0e 100644
--- a/src/gui/kernel/qplatformwindow.cpp
+++ b/src/gui/kernel/qplatformwindow.cpp
@@ -453,7 +453,7 @@ bool QPlatformWindow::frameStrutEventsEnabled() const
QString QPlatformWindow::formatWindowTitle(const QString &title, const QString &separator)
{
QString fullTitle = title;
- if (QGuiApplicationPrivate::displayName) {
+ if (QGuiApplicationPrivate::displayName && !title.endsWith(*QGuiApplicationPrivate::displayName)) {
// Append display name, if set.
if (!fullTitle.isEmpty())
fullTitle += separator;
@@ -595,6 +595,36 @@ QRect QPlatformWindow::initialGeometry(const QWindow *w,
}
/*!
+ Requests an QEvent::UpdateRequest event. The event will be
+ delivered to the QWindow.
+
+ QPlatformWindow subclasses can re-implement this function to
+ provide display refresh synchronized updates. The event
+ should be delivered using QWindowPrivate::deliverUpdateRequest()
+ to not get out of sync with the the internal state of QWindow.
+
+ The default implementation posts an UpdateRequest event to the
+ window after 5 ms. The additional time is there to give the event
+ loop a bit of idle time to gather system events.
+
+*/
+void QPlatformWindow::requestUpdate()
+{
+ static int timeout = -1;
+ if (timeout == -1) {
+ bool ok = false;
+ timeout = qEnvironmentVariableIntValue("QT_QPA_UPDATE_IDLE_TIME", &ok);
+ if (!ok)
+ timeout = 5;
+ }
+
+ QWindow *w = window();
+ QWindowPrivate *wp = (QWindowPrivate *) QObjectPrivate::get(w);
+ Q_ASSERT(wp->updateTimer == 0);
+ wp->updateTimer = w->startTimer(timeout, Qt::PreciseTimer);
+}
+
+/*!
\class QPlatformWindow
\since 4.8
\internal
diff --git a/src/gui/kernel/qplatformwindow.h b/src/gui/kernel/qplatformwindow.h
index 5c351a69d2..87781caf8b 100644
--- a/src/gui/kernel/qplatformwindow.h
+++ b/src/gui/kernel/qplatformwindow.h
@@ -129,6 +129,7 @@ public:
static QRect initialGeometry(const QWindow *w,
const QRect &initialGeometry, int defaultWidth, int defaultHeight);
+ virtual void requestUpdate();
protected:
static QString formatWindowTitle(const QString &title, const QString &separator);
QPlatformScreen *screenForGeometry(const QRect &newGeometry) const;
diff --git a/src/gui/kernel/qshortcutmap.cpp b/src/gui/kernel/qshortcutmap.cpp
index cad707ab70..b3e71c77fa 100644
--- a/src/gui/kernel/qshortcutmap.cpp
+++ b/src/gui/kernel/qshortcutmap.cpp
@@ -310,6 +310,10 @@ QKeySequence::SequenceMatch QShortcutMap::state()
Uses ShortcutOverride event to see if any widgets want to override
the event. If not, uses nextState(QKeyEvent) to check for a grabbed
Shortcut, and dispatchEvent() is found and identical.
+
+ \note that this function should only be called from QWindowSystemInterface,
+ otherwise it will result in duplicate events.
+
\sa nextState, dispatchEvent
*/
bool QShortcutMap::tryShortcutEvent(QObject *o, QKeyEvent *e)
diff --git a/src/gui/kernel/qsurface.h b/src/gui/kernel/qsurface.h
index 58b7ce018e..0c02a3564c 100644
--- a/src/gui/kernel/qsurface.h
+++ b/src/gui/kernel/qsurface.h
@@ -36,7 +36,7 @@
#include <QtCore/qnamespace.h>
#include <QtGui/qsurfaceformat.h>
-
+#include <QtCore/qmetatype.h>
#include <QtCore/qsize.h>
QT_BEGIN_NAMESPACE
@@ -82,4 +82,6 @@ protected:
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QSurface*)
+
#endif //QSURFACE_H
diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp
index c5d88b198b..b9dba10f22 100644
--- a/src/gui/kernel/qwindow.cpp
+++ b/src/gui/kernel/qwindow.cpp
@@ -404,6 +404,11 @@ void QWindowPrivate::create(bool recursive)
window->d_func()->platformWindow->setParent(platformWindow);
}
}
+
+ if (platformWindow) {
+ QPlatformSurfaceEvent e(QPlatformSurfaceEvent::SurfaceCreated);
+ QGuiApplication::sendEvent(q, &e);
+ }
}
}
@@ -1603,6 +1608,10 @@ void QWindow::destroy()
bool wasVisible = isVisible();
setVisible(false);
+
+ QPlatformSurfaceEvent e(QPlatformSurfaceEvent::SurfaceAboutToBeDestroyed);
+ QGuiApplication::sendEvent(this, &e);
+
delete d->platformWindow;
d->resizeEventPending = true;
d->receivedExpose = false;
@@ -2052,12 +2061,56 @@ bool QWindow::event(QEvent *ev)
break;
#endif
+ case QEvent::Timer: {
+ Q_D(QWindow);
+ if (static_cast<QTimerEvent *>(ev)->timerId() == d->updateTimer) {
+ killTimer(d->updateTimer);
+ d->updateTimer = 0;
+ d->deliverUpdateRequest();
+ } else {
+ QObject::event(ev);
+ }
+ break;
+ }
+
default:
return QObject::event(ev);
}
return true;
}
+void QWindowPrivate::deliverUpdateRequest()
+{
+ Q_Q(QWindow);
+ updateRequestPending = false;
+ QEvent request(QEvent::UpdateRequest);
+ QCoreApplication::sendEvent(q, &request);
+}
+
+/*!
+ Schedules a QEvent::UpdateRequest event to be delivered to this window.
+
+ The event is delivered in sync with the display vsync on platforms
+ where this is possible. When driving animations, this function should
+ be called once after drawing has completed.
+
+ Calling this function multiple times will result in a single event
+ being delivered to the window.
+
+ Subclasses of QWindow should reimplement QWindow::event(), intercept
+ the event and call the application's rendering code, then call the
+ base class implementation.
+*/
+
+void QWindow::requestUpdate()
+{
+ Q_D(QWindow);
+ if (d->updateRequestPending || !d->platformWindow)
+ return;
+ d->updateRequestPending = true;
+ d->platformWindow->requestUpdate();
+}
+
/*!
Override this to handle key press events (\a ev).
diff --git a/src/gui/kernel/qwindow.h b/src/gui/kernel/qwindow.h
index 473d275b56..2230ed8801 100644
--- a/src/gui/kernel/qwindow.h
+++ b/src/gui/kernel/qwindow.h
@@ -286,6 +286,8 @@ public Q_SLOTS:
Q_REVISION(1) void alert(int msec);
+ Q_REVISION(3) void requestUpdate();
+
Q_SIGNALS:
void screenChanged(QScreen *screen);
void modalityChanged(Qt::WindowModality modality);
diff --git a/src/gui/kernel/qwindow_p.h b/src/gui/kernel/qwindow_p.h
index bc5dfa4876..c496d7716b 100644
--- a/src/gui/kernel/qwindow_p.h
+++ b/src/gui/kernel/qwindow_p.h
@@ -86,6 +86,8 @@ public:
, maximumSize(QWINDOWSIZE_MAX, QWINDOWSIZE_MAX)
, modality(Qt::NonModal)
, blockedByModalWindow(false)
+ , updateRequestPending(false)
+ , updateTimer(0)
, transientParent(0)
, topLevelScreen(0)
#ifndef QT_NO_CURSOR
@@ -109,6 +111,8 @@ public:
void applyCursor();
#endif
+ void deliverUpdateRequest();
+
QPoint globalPosition() const {
Q_Q(const QWindow);
QPoint offset = q->position();
@@ -134,6 +138,10 @@ public:
virtual void clearFocusObject();
virtual QRectF closestAcceptableGeometry(const QRectF &rect) const;
+ bool isPopup() const { return (windowFlags & Qt::WindowType_Mask) == Qt::Popup; }
+
+ static QWindowPrivate *get(QWindow *window) { return window->d_func(); }
+
QWindow::SurfaceType surfaceType;
Qt::WindowFlags windowFlags;
QWindow *parentWindow;
@@ -163,6 +171,9 @@ public:
Qt::WindowModality modality;
bool blockedByModalWindow;
+ bool updateRequestPending;
+ int updateTimer;
+
QPointer<QWindow> transientParent;
QScreen *topLevelScreen;
diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp
index 722a695481..32040f92e3 100644
--- a/src/gui/kernel/qwindowsysteminterface.cpp
+++ b/src/gui/kernel/qwindowsysteminterface.cpp
@@ -220,6 +220,28 @@ bool QWindowSystemInterface::tryHandleShortcutEvent(QWindow *w, ulong timestamp,
#endif
}
+// used by QTestLib to directly send shortcuts to objects
+bool QWindowSystemInterface::tryHandleShortcutEventToObject(QObject *o, ulong timestamp, int k, Qt::KeyboardModifiers mods,
+ const QString &text, bool autorep, ushort count)
+{
+#ifndef QT_NO_SHORTCUT
+ QGuiApplicationPrivate::modifier_buttons = mods;
+
+ QKeyEvent qevent(QEvent::ShortcutOverride, k, mods, text, autorep, count);
+ qevent.setTimestamp(timestamp);
+ return QGuiApplicationPrivate::instance()->shortcutMap.tryShortcutEvent(o, &qevent);
+#else
+ Q_UNUSED(w)
+ Q_UNUSED(timestamp)
+ Q_UNUSED(k)
+ Q_UNUSED(mods)
+ Q_UNUSED(text)
+ Q_UNUSED(autorep)
+ Q_UNUSED(count)
+ return false;
+#endif
+}
+
bool QWindowSystemInterface::tryHandleExtendedShortcutEvent(QWindow *w, int k, Qt::KeyboardModifiers mods,
quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers,
const QString &text, bool autorep, ushort count)
@@ -265,6 +287,9 @@ void QWindowSystemInterface::handleKeyEvent(QWindow *w, QEvent::Type t, int k, Q
void QWindowSystemInterface::handleKeyEvent(QWindow *tlw, ulong timestamp, QEvent::Type t, int k, Qt::KeyboardModifiers mods, const QString & text, bool autorep, ushort count)
{
+ if (t == QEvent::KeyPress && tlw && QWindowSystemInterface::tryHandleShortcutEvent(tlw, timestamp, k, mods, text))
+ return;
+
QWindowSystemInterfacePrivate::KeyEvent * e =
new QWindowSystemInterfacePrivate::KeyEvent(tlw, timestamp, t, k, mods, text, autorep, count);
QWindowSystemInterfacePrivate::handleWindowSystemEvent(e);
@@ -286,8 +311,12 @@ void QWindowSystemInterface::handleExtendedKeyEvent(QWindow *tlw, ulong timestam
quint32 nativeScanCode, quint32 nativeVirtualKey,
quint32 nativeModifiers,
const QString& text, bool autorep,
- ushort count)
+ ushort count, bool tryShortcutOverride)
{
+ // on OS X we try the shortcut override even earlier and thus shouldn't handle it here
+ if (tryShortcutOverride && tlw && type == QEvent::KeyPress && QWindowSystemInterface::tryHandleShortcutEvent(tlw, timestamp, key, modifiers, text))
+ return;
+
QWindowSystemInterfacePrivate::KeyEvent * e =
new QWindowSystemInterfacePrivate::KeyEvent(tlw, timestamp, type, key, modifiers,
nativeScanCode, nativeVirtualKey, nativeModifiers, text, autorep, count);
@@ -760,6 +789,11 @@ Q_GUI_EXPORT void qt_handleKeyEvent(QWindow *w, QEvent::Type t, int k, Qt::Keybo
QWindowSystemInterface::handleKeyEvent(w, t, k, mods, text, autorep, count);
}
+Q_GUI_EXPORT bool qt_sendShortcutOverrideEvent(QObject *o, ulong timestamp, int k, Qt::KeyboardModifiers mods, const QString &text = QString(), bool autorep = false, ushort count = 1)
+{
+ return QWindowSystemInterface::tryHandleShortcutEventToObject(o, timestamp, k, mods, text, autorep, count);
+}
+
static QWindowSystemInterface::TouchPoint touchPoint(const QTouchEvent::TouchPoint& pt)
{
QWindowSystemInterface::TouchPoint p;
diff --git a/src/gui/kernel/qwindowsysteminterface.h b/src/gui/kernel/qwindowsysteminterface.h
index 30c236b51f..7bb3938fe6 100644
--- a/src/gui/kernel/qwindowsysteminterface.h
+++ b/src/gui/kernel/qwindowsysteminterface.h
@@ -83,6 +83,9 @@ public:
static bool tryHandleShortcutEvent(QWindow *w, ulong timestamp, int k, Qt::KeyboardModifiers mods,
const QString & text = QString(), bool autorep = false, ushort count = 1);
+ static bool tryHandleShortcutEventToObject(QObject *o, ulong timestamp, int k, Qt::KeyboardModifiers mods,
+ const QString & text = QString(), bool autorep = false, ushort count = 1);
+
static bool tryHandleExtendedShortcutEvent(QWindow *w, int k, Qt::KeyboardModifiers mods,
quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers,
const QString & text = QString(), bool autorep = false, ushort count = 1);
@@ -102,7 +105,7 @@ public:
quint32 nativeScanCode, quint32 nativeVirtualKey,
quint32 nativeModifiers,
const QString& text = QString(), bool autorep = false,
- ushort count = 1);
+ ushort count = 1, bool tryShortcutOverride = true);
static void handleWheelEvent(QWindow *w, const QPointF & local, const QPointF & global, QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers mods = Qt::NoModifier, Qt::ScrollPhase phase = Qt::ScrollUpdate);
static void handleWheelEvent(QWindow *w, ulong timestamp, const QPointF & local, const QPointF & global, QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers mods = Qt::NoModifier, Qt::ScrollPhase phase = Qt::ScrollUpdate);
diff --git a/src/gui/kernel/qwindowsysteminterface_p.h b/src/gui/kernel/qwindowsysteminterface_p.h
index c3f41da835..57411d8101 100644
--- a/src/gui/kernel/qwindowsysteminterface_p.h
+++ b/src/gui/kernel/qwindowsysteminterface_p.h
@@ -93,11 +93,20 @@ public:
class WindowSystemEvent {
public:
+ enum {
+ Synthetic = 0x1,
+ NullWindow = 0x2
+ };
+
explicit WindowSystemEvent(EventType t)
- : type(t), synthetic(false) { }
+ : type(t), flags(0) { }
virtual ~WindowSystemEvent() { }
+
+ bool synthetic() const { return flags & Synthetic; }
+ bool nullWindow() const { return flags & NullWindow; }
+
EventType type;
- bool synthetic;
+ int flags;
};
class CloseEvent : public WindowSystemEvent {
@@ -188,9 +197,12 @@ public:
class UserEvent : public WindowSystemEvent {
public:
UserEvent(QWindow * w, ulong time, EventType t)
- : WindowSystemEvent(t), window(w), nullWindow(w == 0), timestamp(time) { }
+ : WindowSystemEvent(t), window(w), timestamp(time)
+ {
+ if (!w)
+ flags |= NullWindow;
+ }
QPointer<QWindow> window;
- bool nullWindow;
unsigned long timestamp;
};
diff --git a/src/gui/opengl/qopenglengineshadermanager.cpp b/src/gui/opengl/qopenglengineshadermanager.cpp
index 5bdb2f35ac..93425b0b3a 100644
--- a/src/gui/opengl/qopenglengineshadermanager.cpp
+++ b/src/gui/opengl/qopenglengineshadermanager.cpp
@@ -154,6 +154,8 @@ QOpenGLEngineSharedShaders::QOpenGLEngineSharedShaders(QOpenGLContext* context)
code[ImageSrcFragmentShader] = qopenglslImageSrcFragmentShader;
code[ImageSrcWithPatternFragmentShader] = qopenglslImageSrcWithPatternFragmentShader;
code[NonPremultipliedImageSrcFragmentShader] = qopenglslNonPremultipliedImageSrcFragmentShader;
+ code[GrayscaleImageSrcFragmentShader] = qopenglslGrayscaleImageSrcFragmentShader;
+ code[AlphaImageSrcFragmentShader] = qopenglslAlphaImageSrcFragmentShader;
code[CustomImageSrcFragmentShader] = qopenglslCustomSrcFragmentShader; // Calls "customShader", which must be appended
code[SolidBrushSrcFragmentShader] = qopenglslSolidBrushSrcFragmentShader;
if (context->isOpenGLES())
@@ -700,6 +702,16 @@ bool QOpenGLEngineShaderManager::useCorrectShaderProg()
requiredProgram.positionVertexShader = QOpenGLEngineSharedShaders::PositionOnlyVertexShader;
texCoords = true;
break;
+ case QOpenGLEngineShaderManager::GrayscaleImageSrc:
+ requiredProgram.srcPixelFragShader = QOpenGLEngineSharedShaders::GrayscaleImageSrcFragmentShader;
+ requiredProgram.positionVertexShader = QOpenGLEngineSharedShaders::PositionOnlyVertexShader;
+ texCoords = true;
+ break;
+ case QOpenGLEngineShaderManager::AlphaImageSrc:
+ requiredProgram.srcPixelFragShader = QOpenGLEngineSharedShaders::AlphaImageSrcFragmentShader;
+ requiredProgram.positionVertexShader = QOpenGLEngineSharedShaders::PositionOnlyVertexShader;
+ texCoords = true;
+ break;
case QOpenGLEngineShaderManager::PatternSrc:
requiredProgram.srcPixelFragShader = QOpenGLEngineSharedShaders::ImageSrcWithPatternFragmentShader;
requiredProgram.positionVertexShader = QOpenGLEngineSharedShaders::PositionOnlyVertexShader;
diff --git a/src/gui/opengl/qopenglengineshadermanager_p.h b/src/gui/opengl/qopenglengineshadermanager_p.h
index 2ae0ae0866..56aa18cb6b 100644
--- a/src/gui/opengl/qopenglengineshadermanager_p.h
+++ b/src/gui/opengl/qopenglengineshadermanager_p.h
@@ -288,6 +288,8 @@ public:
ImageSrcFragmentShader,
ImageSrcWithPatternFragmentShader,
NonPremultipliedImageSrcFragmentShader,
+ GrayscaleImageSrcFragmentShader,
+ AlphaImageSrcFragmentShader,
CustomImageSrcFragmentShader,
SolidBrushSrcFragmentShader,
TextureBrushSrcFragmentShader,
@@ -414,7 +416,9 @@ public:
ImageSrc = Qt::TexturePattern+1,
NonPremultipliedImageSrc = Qt::TexturePattern+2,
PatternSrc = Qt::TexturePattern+3,
- TextureSrcWithPattern = Qt::TexturePattern+4
+ TextureSrcWithPattern = Qt::TexturePattern+4,
+ GrayscaleImageSrc = Qt::TexturePattern+5,
+ AlphaImageSrc = Qt::TexturePattern+6,
};
enum Uniform {
diff --git a/src/gui/opengl/qopenglengineshadersource_p.h b/src/gui/opengl/qopenglengineshadersource_p.h
index bc81fe4c77..acda09a8ee 100644
--- a/src/gui/opengl/qopenglengineshadersource_p.h
+++ b/src/gui/opengl/qopenglengineshadersource_p.h
@@ -367,6 +367,22 @@ static const char* const qopenglslNonPremultipliedImageSrcFragmentShader = "\n\
return sample; \n\
}\n";
+static const char* const qopenglslGrayscaleImageSrcFragmentShader = "\n\
+ varying highp vec2 textureCoords; \n\
+ uniform sampler2D imageTexture; \n\
+ lowp vec4 srcPixel() \n\
+ { \n\
+ return texture2D(imageTexture, textureCoords).rrra; \n\
+ }\n";
+
+static const char* const qopenglslAlphaImageSrcFragmentShader = "\n\
+ varying highp vec2 textureCoords; \n\
+ uniform sampler2D imageTexture; \n\
+ lowp vec4 srcPixel() \n\
+ { \n\
+ return vec4(0, 0, 0, texture2D(imageTexture, textureCoords).r); \n\
+ }\n";
+
static const char* const qopenglslShockingPinkSrcFragmentShader = "\n\
lowp vec4 srcPixel() \n\
{ \n\
diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp
index 44b56699df..67b978a570 100644
--- a/src/gui/opengl/qopenglfunctions.cpp
+++ b/src/gui/opengl/qopenglfunctions.cpp
@@ -173,6 +173,7 @@ QT_BEGIN_NAMESPACE
\value NPOTTextures Non power of two textures are available.
\value NPOTTextureRepeat Non power of two textures can use GL_REPEAT as wrap parameter.
\value FixedFunctionPipeline The fixed function pipeline is available.
+ \value TextureRGFormats The GL_RED and GL_RG texture formats are available.
*/
// Hidden private fields for additional extension data.
@@ -284,10 +285,12 @@ static int qt_gl_resolve_features()
if (extensions.match("GL_OES_texture_npot"))
features |= QOpenGLFunctions::NPOTTextures |
QOpenGLFunctions::NPOTTextureRepeat;
+ if (ctx->format().majorVersion() >= 3 || extensions.match("GL_EXT_texture_rg"))
+ features |= QOpenGLFunctions::TextureRGFormats;
return features;
} else {
// OpenGL
- int features = 0;
+ int features = QOpenGLFunctions::TextureRGFormats;
QSurfaceFormat format = QOpenGLContext::currentContext()->format();
QOpenGLExtensionMatcher extensions;
diff --git a/src/gui/opengl/qopenglfunctions.h b/src/gui/opengl/qopenglfunctions.h
index 479a280abe..85d255fe61 100644
--- a/src/gui/opengl/qopenglfunctions.h
+++ b/src/gui/opengl/qopenglfunctions.h
@@ -240,7 +240,8 @@ public:
StencilSeparate = 0x0800,
NPOTTextures = 0x1000,
NPOTTextureRepeat = 0x2000,
- FixedFunctionPipeline = 0x4000
+ FixedFunctionPipeline = 0x4000,
+ TextureRGFormats = 0x8000
};
Q_DECLARE_FLAGS(OpenGLFeatures, OpenGLFeature)
diff --git a/src/gui/opengl/qopenglpaintengine.cpp b/src/gui/opengl/qopenglpaintengine.cpp
index c490726359..299d3da73d 100644
--- a/src/gui/opengl/qopenglpaintengine.cpp
+++ b/src/gui/opengl/qopenglpaintengine.cpp
@@ -1421,6 +1421,20 @@ void QOpenGL2PaintEngineEx::drawImage(const QRectF& dest, const QImage& image, c
d->shaderManager->setSrcPixelType(QOpenGLEngineShaderManager::NonPremultipliedImageSrc);
bindOption = 0;
break;
+ case QImage::Format_Alpha8:
+ if (ctx->functions()->hasOpenGLFeature(QOpenGLFunctions::TextureRGFormats)) {
+ d->shaderManager->setSrcPixelType(QOpenGLEngineShaderManager::AlphaImageSrc);
+ bindOption = QOpenGLTextureCache::UseRedFor8BitBindOption;
+ } else
+ d->shaderManager->setSrcPixelType(QOpenGLEngineShaderManager::ImageSrc);
+ break;
+ case QImage::Format_Grayscale8:
+ if (ctx->functions()->hasOpenGLFeature(QOpenGLFunctions::TextureRGFormats)) {
+ d->shaderManager->setSrcPixelType(QOpenGLEngineShaderManager::GrayscaleImageSrc);
+ bindOption = QOpenGLTextureCache::UseRedFor8BitBindOption;
+ } else
+ d->shaderManager->setSrcPixelType(QOpenGLEngineShaderManager::ImageSrc);
+ break;
default:
d->shaderManager->setSrcPixelType(QOpenGLEngineShaderManager::ImageSrc);
break;
diff --git a/src/gui/opengl/qopenglshaderprogram.cpp b/src/gui/opengl/qopenglshaderprogram.cpp
index 5ea7a10e0d..d64847510b 100644
--- a/src/gui/opengl/qopenglshaderprogram.cpp
+++ b/src/gui/opengl/qopenglshaderprogram.cpp
@@ -39,6 +39,7 @@
#include <QtCore/qfile.h>
#include <QtCore/qvarlengtharray.h>
#include <QtCore/qvector.h>
+#include <QtCore/qregularexpression.h>
#include <QtGui/qtransform.h>
#include <QtGui/QColor>
#include <QtGui/QSurfaceFormat>
@@ -47,6 +48,8 @@
#include <QtGui/qopenglfunctions_4_0_core.h>
#endif
+#include <algorithm>
+
QT_BEGIN_NAMESPACE
/*!
@@ -401,6 +404,95 @@ static const char redefineHighp[] =
"#endif\n";
#endif
+struct QVersionDirectivePosition
+{
+ Q_DECL_CONSTEXPR QVersionDirectivePosition(int position = 0, int line = -1)
+ : position(position)
+ , line(line)
+ {
+ }
+
+ Q_DECL_CONSTEXPR bool hasPosition() const
+ {
+ return position > 0;
+ }
+
+ const int position;
+ const int line;
+};
+
+static QVersionDirectivePosition findVersionDirectivePosition(const char *source)
+{
+ Q_ASSERT(source);
+
+ QString working = QString::fromUtf8(source);
+
+ // According to the GLSL spec the #version directive must not be
+ // preceded by anything but whitespace and comments.
+ // In order to not get confused by #version directives within a
+ // multiline comment, we need to run a minimal preprocessor first.
+ enum {
+ Normal,
+ CommentStarting,
+ MultiLineComment,
+ SingleLineComment,
+ CommentEnding
+ } state = Normal;
+
+ for (QChar *c = working.begin(); c != working.end(); ++c) {
+ switch (state) {
+ case Normal:
+ if (*c == QLatin1Char('/'))
+ state = CommentStarting;
+ break;
+ case CommentStarting:
+ if (*c == QLatin1Char('*'))
+ state = MultiLineComment;
+ else if (*c == QLatin1Char('/'))
+ state = SingleLineComment;
+ else
+ state = Normal;
+ break;
+ case MultiLineComment:
+ if (*c == QLatin1Char('*'))
+ state = CommentEnding;
+ else if (*c == QLatin1Char('#'))
+ *c = QLatin1Char('_');
+ break;
+ case SingleLineComment:
+ if (*c == QLatin1Char('\n'))
+ state = Normal;
+ else if (*c == QLatin1Char('#'))
+ *c = QLatin1Char('_');
+ break;
+ case CommentEnding:
+ if (*c == QLatin1Char('/')) {
+ state = Normal;
+ } else {
+ if (*c == QLatin1Char('#'))
+ *c = QLatin1Char('_');
+ state = MultiLineComment;
+ }
+ break;
+ }
+ }
+
+ // Search for #version directive
+ int splitPosition = 0;
+ int linePosition = 1;
+
+ static const QRegularExpression pattern(QStringLiteral("^#\\s*version.*(\\n)?"),
+ QRegularExpression::MultilineOption
+ | QRegularExpression::OptimizeOnFirstUsageOption);
+ QRegularExpressionMatch match = pattern.match(working);
+ if (match.hasMatch()) {
+ splitPosition = match.capturedEnd();
+ linePosition += int(std::count(working.begin(), working.begin() + splitPosition, QLatin1Char('\n')));
+ }
+
+ return QVersionDirectivePosition(splitPosition, linePosition);
+}
+
/*!
Sets the \a source code for this shader and compiles it.
Returns \c true if the source was successfully compiled, false otherwise.
@@ -410,26 +502,24 @@ static const char redefineHighp[] =
bool QOpenGLShader::compileSourceCode(const char *source)
{
Q_D(QOpenGLShader);
- if (d->shaderGuard && d->shaderGuard->id()) {
- QVarLengthArray<const char *, 4> src;
- QVarLengthArray<GLint, 4> srclen;
- int headerLen = 0;
- while (source && source[headerLen] == '#') {
- // Skip #version and #extension directives at the start of
- // the shader code. We need to insert the qualifierDefines
- // and redefineHighp just after them.
- if (qstrncmp(source + headerLen, "#version", 8) != 0 &&
- qstrncmp(source + headerLen, "#extension", 10) != 0) {
- break;
- }
- while (source[headerLen] != '\0' && source[headerLen] != '\n')
- ++headerLen;
- if (source[headerLen] == '\n')
- ++headerLen;
- }
- if (headerLen > 0) {
- src.append(source);
- srclen.append(GLint(headerLen));
+ // This method breaks the shader code into two parts:
+ // 1. Up to and including an optional #version directive.
+ // 2. The rest.
+ // If a #version directive exists, qualifierDefines and redefineHighp
+ // are inserted after. Otherwise they are inserted right at the start.
+ // In both cases a #line directive is appended in order to compensate
+ // for line number changes in case of compiler errors.
+
+ if (d->shaderGuard && d->shaderGuard->id() && source) {
+ const QVersionDirectivePosition versionDirectivePosition = findVersionDirectivePosition(source);
+
+ QVarLengthArray<const char *, 5> sourceChunks;
+ QVarLengthArray<GLint, 5> sourceChunkLengths;
+
+ if (versionDirectivePosition.hasPosition()) {
+ // Append source up to #version directive
+ sourceChunks.append(source);
+ sourceChunkLengths.append(GLint(versionDirectivePosition.position));
}
// The precision qualifiers are useful on OpenGL/ES systems,
@@ -442,20 +532,28 @@ bool QOpenGLShader::compileSourceCode(const char *source)
|| true
#endif
) {
- src.append(qualifierDefines);
- srclen.append(GLint(sizeof(qualifierDefines) - 1));
+ sourceChunks.append(qualifierDefines);
+ sourceChunkLengths.append(GLint(sizeof(qualifierDefines) - 1));
}
#ifdef QOpenGL_REDEFINE_HIGHP
if (d->shaderType == Fragment && !ctx_d->workaround_missingPrecisionQualifiers
&& QOpenGLContext::currentContext()->isOpenGLES()) {
- src.append(redefineHighp);
- srclen.append(GLint(sizeof(redefineHighp) - 1));
+ sourceChunks.append(redefineHighp);
+ sourceChunkLengths.append(GLint(sizeof(redefineHighp) - 1));
}
#endif
- src.append(source + headerLen);
- srclen.append(GLint(qstrlen(source + headerLen)));
- d->glfuncs->glShaderSource(d->shaderGuard->id(), src.size(), src.data(), srclen.data());
+
+ // Append #line directive in order to compensate for text insertion
+ QByteArray lineDirective = QStringLiteral("#line %1\n").arg(versionDirectivePosition.line).toUtf8();
+ sourceChunks.append(lineDirective.constData());
+ sourceChunkLengths.append(GLint(lineDirective.length()));
+
+ // Append rest of shader code
+ sourceChunks.append(source + versionDirectivePosition.position);
+ sourceChunkLengths.append(GLint(qstrlen(source + versionDirectivePosition.position)));
+
+ d->glfuncs->glShaderSource(d->shaderGuard->id(), sourceChunks.size(), sourceChunks.data(), sourceChunkLengths.data());
return d->compile(this);
} else {
return false;
diff --git a/src/gui/opengl/qopengltexture.cpp b/src/gui/opengl/qopengltexture.cpp
index b96bc6f346..30ca7fce66 100644
--- a/src/gui/opengl/qopengltexture.cpp
+++ b/src/gui/opengl/qopengltexture.cpp
@@ -294,16 +294,166 @@ int QOpenGLTexturePrivate::evaluateMipLevels() const
}
}
-void QOpenGLTexturePrivate::allocateStorage()
+static bool isSizedTextureFormat(QOpenGLTexture::TextureFormat internalFormat)
+{
+ switch (internalFormat) {
+ case QOpenGLTexture::NoFormat:
+ return false;
+
+ case QOpenGLTexture::R8_UNorm:
+ case QOpenGLTexture::RG8_UNorm:
+ case QOpenGLTexture::RGB8_UNorm:
+ case QOpenGLTexture::RGBA8_UNorm:
+ case QOpenGLTexture::R16_UNorm:
+ case QOpenGLTexture::RG16_UNorm:
+ case QOpenGLTexture::RGB16_UNorm:
+ case QOpenGLTexture::RGBA16_UNorm:
+ case QOpenGLTexture::R8_SNorm:
+ case QOpenGLTexture::RG8_SNorm:
+ case QOpenGLTexture::RGB8_SNorm:
+ case QOpenGLTexture::RGBA8_SNorm:
+ case QOpenGLTexture::R16_SNorm:
+ case QOpenGLTexture::RG16_SNorm:
+ case QOpenGLTexture::RGB16_SNorm:
+ case QOpenGLTexture::RGBA16_SNorm:
+ case QOpenGLTexture::R8U:
+ case QOpenGLTexture::RG8U:
+ case QOpenGLTexture::RGB8U:
+ case QOpenGLTexture::RGBA8U:
+ case QOpenGLTexture::R16U:
+ case QOpenGLTexture::RG16U:
+ case QOpenGLTexture::RGB16U:
+ case QOpenGLTexture::RGBA16U:
+ case QOpenGLTexture::R32U:
+ case QOpenGLTexture::RG32U:
+ case QOpenGLTexture::RGB32U:
+ case QOpenGLTexture::RGBA32U:
+ case QOpenGLTexture::R8I:
+ case QOpenGLTexture::RG8I:
+ case QOpenGLTexture::RGB8I:
+ case QOpenGLTexture::RGBA8I:
+ case QOpenGLTexture::R16I:
+ case QOpenGLTexture::RG16I:
+ case QOpenGLTexture::RGB16I:
+ case QOpenGLTexture::RGBA16I:
+ case QOpenGLTexture::R32I:
+ case QOpenGLTexture::RG32I:
+ case QOpenGLTexture::RGB32I:
+ case QOpenGLTexture::RGBA32I:
+ case QOpenGLTexture::R16F:
+ case QOpenGLTexture::RG16F:
+ case QOpenGLTexture::RGB16F:
+ case QOpenGLTexture::RGBA16F:
+ case QOpenGLTexture::R32F:
+ case QOpenGLTexture::RG32F:
+ case QOpenGLTexture::RGB32F:
+ case QOpenGLTexture::RGBA32F:
+ case QOpenGLTexture::RGB9E5:
+ case QOpenGLTexture::RG11B10F:
+ case QOpenGLTexture::RG3B2:
+ case QOpenGLTexture::R5G6B5:
+ case QOpenGLTexture::RGB5A1:
+ case QOpenGLTexture::RGBA4:
+ case QOpenGLTexture::RGB10A2:
+
+ case QOpenGLTexture::D16:
+ case QOpenGLTexture::D24:
+ case QOpenGLTexture::D32:
+ case QOpenGLTexture::D32F:
+
+ case QOpenGLTexture::D24S8:
+ case QOpenGLTexture::D32FS8X24:
+
+ case QOpenGLTexture::S8:
+
+ case QOpenGLTexture::RGB_DXT1:
+ case QOpenGLTexture::RGBA_DXT1:
+ case QOpenGLTexture::RGBA_DXT3:
+ case QOpenGLTexture::RGBA_DXT5:
+ case QOpenGLTexture::R_ATI1N_UNorm:
+ case QOpenGLTexture::R_ATI1N_SNorm:
+ case QOpenGLTexture::RG_ATI2N_UNorm:
+ case QOpenGLTexture::RG_ATI2N_SNorm:
+ case QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT:
+ case QOpenGLTexture::RGB_BP_SIGNED_FLOAT:
+ case QOpenGLTexture::RGB_BP_UNorm:
+ case QOpenGLTexture::SRGB8:
+ case QOpenGLTexture::SRGB8_Alpha8:
+ case QOpenGLTexture::SRGB_DXT1:
+ case QOpenGLTexture::SRGB_Alpha_DXT1:
+ case QOpenGLTexture::SRGB_Alpha_DXT3:
+ case QOpenGLTexture::SRGB_Alpha_DXT5:
+ case QOpenGLTexture::SRGB_BP_UNorm:
+ case QOpenGLTexture::R11_EAC_UNorm:
+ case QOpenGLTexture::R11_EAC_SNorm:
+ case QOpenGLTexture::RG11_EAC_UNorm:
+ case QOpenGLTexture::RG11_EAC_SNorm:
+ case QOpenGLTexture::RGB8_ETC2:
+ case QOpenGLTexture::SRGB8_ETC2:
+ case QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2:
+ case QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2:
+ case QOpenGLTexture::RGBA8_ETC2_EAC:
+ case QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC:
+ return true;
+
+ case QOpenGLTexture::DepthFormat:
+ case QOpenGLTexture::AlphaFormat:
+
+ case QOpenGLTexture::RGBFormat:
+ case QOpenGLTexture::RGBAFormat:
+
+ case QOpenGLTexture::LuminanceFormat:
+
+ case QOpenGLTexture::LuminanceAlphaFormat:
+ return false;
+ }
+
+ Q_UNREACHABLE();
+ return false;
+}
+
+static bool isTextureTargetMultisample(QOpenGLTexture::Target target)
+{
+ switch (target) {
+ case QOpenGLTexture::Target1D:
+ case QOpenGLTexture::Target1DArray:
+ case QOpenGLTexture::Target2D:
+ case QOpenGLTexture::Target2DArray:
+ case QOpenGLTexture::Target3D:
+ case QOpenGLTexture::TargetCubeMap:
+ case QOpenGLTexture::TargetCubeMapArray:
+ return false;
+
+ case QOpenGLTexture::Target2DMultisample:
+ case QOpenGLTexture::Target2DMultisampleArray:
+ return true;
+
+ case QOpenGLTexture::TargetRectangle:
+ case QOpenGLTexture::TargetBuffer:
+ return false;
+ }
+
+ Q_UNREACHABLE();
+ return false;
+}
+
+void QOpenGLTexturePrivate::allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)
{
// Resolve the actual number of mipmap levels we can use
mipLevels = evaluateMipLevels();
- // Use immutable storage whenever possible, falling back to mutable when not available
- if (features.testFlag(QOpenGLTexture::ImmutableStorage))
+ // Use immutable storage whenever possible, falling back to mutable
+ // Note that if multisample textures are not supported at all, we'll still fail into
+ // the mutable storage allocation
+ const bool useImmutableStorage = isSizedTextureFormat(format)
+ && (isTextureTargetMultisample(target)
+ ? features.testFlag(QOpenGLTexture::ImmutableMultisampleStorage)
+ : features.testFlag(QOpenGLTexture::ImmutableStorage));
+
+ if (useImmutableStorage)
allocateImmutableStorage();
else
- allocateMutableStorage();
+ allocateMutableStorage(pixelFormat, pixelType);
}
static QOpenGLTexture::PixelFormat pixelFormatCompatibleWithInternalFormat(QOpenGLTexture::TextureFormat internalFormat)
@@ -313,59 +463,167 @@ static QOpenGLTexture::PixelFormat pixelFormatCompatibleWithInternalFormat(QOpen
return QOpenGLTexture::NoSourceFormat;
case QOpenGLTexture::R8_UNorm:
+ return QOpenGLTexture::Red;
+
case QOpenGLTexture::RG8_UNorm:
+ return QOpenGLTexture::RG;
+
case QOpenGLTexture::RGB8_UNorm:
+ return QOpenGLTexture::RGB;
+
case QOpenGLTexture::RGBA8_UNorm:
+ return QOpenGLTexture::RGBA;
+
case QOpenGLTexture::R16_UNorm:
+ return QOpenGLTexture::Red;
+
case QOpenGLTexture::RG16_UNorm:
+ return QOpenGLTexture::RG;
+
case QOpenGLTexture::RGB16_UNorm:
+ return QOpenGLTexture::RGB;
+
case QOpenGLTexture::RGBA16_UNorm:
+ return QOpenGLTexture::RGBA;
+
case QOpenGLTexture::R8_SNorm:
+ return QOpenGLTexture::Red;
+
case QOpenGLTexture::RG8_SNorm:
+ return QOpenGLTexture::RG;
+
case QOpenGLTexture::RGB8_SNorm:
+ return QOpenGLTexture::RGB;
+
case QOpenGLTexture::RGBA8_SNorm:
+ return QOpenGLTexture::RGBA;
+
case QOpenGLTexture::R16_SNorm:
+ return QOpenGLTexture::Red;
+
case QOpenGLTexture::RG16_SNorm:
+ return QOpenGLTexture::RG;
+
case QOpenGLTexture::RGB16_SNorm:
+ return QOpenGLTexture::RGB;
+
case QOpenGLTexture::RGBA16_SNorm:
+ return QOpenGLTexture::RGBA;
+
case QOpenGLTexture::R8U:
+ return QOpenGLTexture::Red_Integer;
+
case QOpenGLTexture::RG8U:
+ return QOpenGLTexture::RG_Integer;
+
case QOpenGLTexture::RGB8U:
+ return QOpenGLTexture::RGB_Integer;
+
case QOpenGLTexture::RGBA8U:
+ return QOpenGLTexture::RGBA_Integer;
+
case QOpenGLTexture::R16U:
+ return QOpenGLTexture::Red_Integer;
+
case QOpenGLTexture::RG16U:
+ return QOpenGLTexture::RG_Integer;
+
case QOpenGLTexture::RGB16U:
+ return QOpenGLTexture::RGB_Integer;
+
case QOpenGLTexture::RGBA16U:
+ return QOpenGLTexture::RGBA_Integer;
+
case QOpenGLTexture::R32U:
+ return QOpenGLTexture::Red_Integer;
+
case QOpenGLTexture::RG32U:
+ return QOpenGLTexture::RG_Integer;
+
case QOpenGLTexture::RGB32U:
+ return QOpenGLTexture::RGB_Integer;
+
case QOpenGLTexture::RGBA32U:
+ return QOpenGLTexture::RGBA_Integer;
+
case QOpenGLTexture::R8I:
+ return QOpenGLTexture::Red_Integer;
+
case QOpenGLTexture::RG8I:
+ return QOpenGLTexture::RG_Integer;
+
case QOpenGLTexture::RGB8I:
+ return QOpenGLTexture::RGB_Integer;
+
case QOpenGLTexture::RGBA8I:
+ return QOpenGLTexture::RGBA_Integer;
+
case QOpenGLTexture::R16I:
+ return QOpenGLTexture::Red_Integer;
+
case QOpenGLTexture::RG16I:
+ return QOpenGLTexture::RG_Integer;
+
case QOpenGLTexture::RGB16I:
+ return QOpenGLTexture::RGB_Integer;
+
case QOpenGLTexture::RGBA16I:
+ return QOpenGLTexture::RGBA_Integer;
+
case QOpenGLTexture::R32I:
+ return QOpenGLTexture::Red_Integer;
+
case QOpenGLTexture::RG32I:
+ return QOpenGLTexture::RG_Integer;
+
case QOpenGLTexture::RGB32I:
+ return QOpenGLTexture::RGB_Integer;
+
case QOpenGLTexture::RGBA32I:
+ return QOpenGLTexture::RGBA_Integer;
+
case QOpenGLTexture::R16F:
+ return QOpenGLTexture::Red;
+
case QOpenGLTexture::RG16F:
+ return QOpenGLTexture::RG;
+
case QOpenGLTexture::RGB16F:
+ return QOpenGLTexture::RGB;
+
case QOpenGLTexture::RGBA16F:
+ return QOpenGLTexture::RGBA;
+
case QOpenGLTexture::R32F:
+ return QOpenGLTexture::Red;
+
case QOpenGLTexture::RG32F:
+ return QOpenGLTexture::RG;
+
case QOpenGLTexture::RGB32F:
+ return QOpenGLTexture::RGB;
+
case QOpenGLTexture::RGBA32F:
+ return QOpenGLTexture::RGBA;
+
case QOpenGLTexture::RGB9E5:
+ return QOpenGLTexture::RGB;
+
case QOpenGLTexture::RG11B10F:
+ return QOpenGLTexture::RGB;
+
case QOpenGLTexture::RG3B2:
+ return QOpenGLTexture::RGB;
+
case QOpenGLTexture::R5G6B5:
+ return QOpenGLTexture::RGB;
+
case QOpenGLTexture::RGB5A1:
+ return QOpenGLTexture::RGBA;
+
case QOpenGLTexture::RGBA4:
+ return QOpenGLTexture::RGBA;
+
case QOpenGLTexture::RGB10A2:
return QOpenGLTexture::RGBA;
@@ -402,6 +660,26 @@ static QOpenGLTexture::PixelFormat pixelFormatCompatibleWithInternalFormat(QOpen
case QOpenGLTexture::SRGB_BP_UNorm:
return QOpenGLTexture::RGBA;
+ case QOpenGLTexture::R11_EAC_UNorm:
+ case QOpenGLTexture::R11_EAC_SNorm:
+ return QOpenGLTexture::Red;
+
+ case QOpenGLTexture::RG11_EAC_UNorm:
+ case QOpenGLTexture::RG11_EAC_SNorm:
+ return QOpenGLTexture::RG;
+
+ case QOpenGLTexture::RGB8_ETC2:
+ case QOpenGLTexture::SRGB8_ETC2:
+ return QOpenGLTexture::RGB;
+
+ case QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2:
+ case QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2:
+ return QOpenGLTexture::RGBA;
+
+ case QOpenGLTexture::RGBA8_ETC2_EAC:
+ case QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC:
+ return QOpenGLTexture::RGBA;
+
case QOpenGLTexture::DepthFormat:
return QOpenGLTexture::Depth;
@@ -437,6 +715,8 @@ static QOpenGLTexture::PixelType pixelTypeCompatibleWithInternalFormat(QOpenGLTe
case QOpenGLTexture::RG16_UNorm:
case QOpenGLTexture::RGB16_UNorm:
case QOpenGLTexture::RGBA16_UNorm:
+ return QOpenGLTexture::UInt8;
+
case QOpenGLTexture::R8_SNorm:
case QOpenGLTexture::RG8_SNorm:
case QOpenGLTexture::RGB8_SNorm:
@@ -445,6 +725,8 @@ static QOpenGLTexture::PixelType pixelTypeCompatibleWithInternalFormat(QOpenGLTe
case QOpenGLTexture::RG16_SNorm:
case QOpenGLTexture::RGB16_SNorm:
case QOpenGLTexture::RGBA16_SNorm:
+ return QOpenGLTexture::Int8;
+
case QOpenGLTexture::R8U:
case QOpenGLTexture::RG8U:
case QOpenGLTexture::RGB8U:
@@ -457,6 +739,8 @@ static QOpenGLTexture::PixelType pixelTypeCompatibleWithInternalFormat(QOpenGLTe
case QOpenGLTexture::RG32U:
case QOpenGLTexture::RGB32U:
case QOpenGLTexture::RGBA32U:
+ return QOpenGLTexture::UInt8;
+
case QOpenGLTexture::R8I:
case QOpenGLTexture::RG8I:
case QOpenGLTexture::RGB8I:
@@ -469,28 +753,50 @@ static QOpenGLTexture::PixelType pixelTypeCompatibleWithInternalFormat(QOpenGLTe
case QOpenGLTexture::RG32I:
case QOpenGLTexture::RGB32I:
case QOpenGLTexture::RGBA32I:
+ return QOpenGLTexture::Int8;
+
case QOpenGLTexture::R16F:
case QOpenGLTexture::RG16F:
case QOpenGLTexture::RGB16F:
case QOpenGLTexture::RGBA16F:
+ return QOpenGLTexture::Float16;
+
case QOpenGLTexture::R32F:
case QOpenGLTexture::RG32F:
case QOpenGLTexture::RGB32F:
case QOpenGLTexture::RGBA32F:
+ return QOpenGLTexture::Float32;
+
case QOpenGLTexture::RGB9E5:
+ return QOpenGLTexture::UInt16_RGB5A1_Rev;
+
case QOpenGLTexture::RG11B10F:
+ return QOpenGLTexture::UInt32_RG11B10F;
+
case QOpenGLTexture::RG3B2:
+ return QOpenGLTexture::UInt8_RG3B2;
+
case QOpenGLTexture::R5G6B5:
+ return QOpenGLTexture::UInt16_R5G6B5;
+
case QOpenGLTexture::RGB5A1:
+ return QOpenGLTexture::UInt16_RGB5A1;
+
case QOpenGLTexture::RGBA4:
+ return QOpenGLTexture::UInt16_RGBA4;
+
case QOpenGLTexture::RGB10A2:
- return QOpenGLTexture::UInt8;
+ return QOpenGLTexture::UInt32_RGB10A2;
case QOpenGLTexture::D16:
+ return QOpenGLTexture::UInt16;
+
case QOpenGLTexture::D24:
case QOpenGLTexture::D32:
+ return QOpenGLTexture::UInt32;
+
case QOpenGLTexture::D32F:
- return QOpenGLTexture::UInt8;
+ return QOpenGLTexture::Float32;
case QOpenGLTexture::D24S8:
return QOpenGLTexture::UInt32_D24S8;
@@ -519,6 +825,16 @@ static QOpenGLTexture::PixelType pixelTypeCompatibleWithInternalFormat(QOpenGLTe
case QOpenGLTexture::SRGB_Alpha_DXT3:
case QOpenGLTexture::SRGB_Alpha_DXT5:
case QOpenGLTexture::SRGB_BP_UNorm:
+ case QOpenGLTexture::R11_EAC_UNorm:
+ case QOpenGLTexture::R11_EAC_SNorm:
+ case QOpenGLTexture::RG11_EAC_UNorm:
+ case QOpenGLTexture::RG11_EAC_SNorm:
+ case QOpenGLTexture::RGB8_ETC2:
+ case QOpenGLTexture::SRGB8_ETC2:
+ case QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2:
+ case QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2:
+ case QOpenGLTexture::RGBA8_ETC2_EAC:
+ case QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC:
return QOpenGLTexture::UInt8;
case QOpenGLTexture::DepthFormat:
@@ -534,11 +850,8 @@ static QOpenGLTexture::PixelType pixelTypeCompatibleWithInternalFormat(QOpenGLTe
return QOpenGLTexture::NoPixelType;
}
-void QOpenGLTexturePrivate::allocateMutableStorage()
+void QOpenGLTexturePrivate::allocateMutableStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)
{
- const QOpenGLTexture::PixelFormat pixelFormat = pixelFormatCompatibleWithInternalFormat(format);
- const QOpenGLTexture::PixelType pixelType = pixelTypeCompatibleWithInternalFormat(format);
-
switch (target) {
case QOpenGLTexture::TargetBuffer:
// Buffer textures get their storage from an external OpenGL buffer
@@ -747,7 +1060,7 @@ void QOpenGLTexturePrivate::allocateImmutableStorage()
break;
case QOpenGLTexture::Target2DMultisample:
- if (features.testFlag(QOpenGLTexture::TextureMultisample)) {
+ if (features.testFlag(QOpenGLTexture::ImmutableMultisampleStorage)) {
texFuncs->glTextureStorage2DMultisample(textureId, target, bindingTarget, samples, format,
dimensions[0], dimensions[1],
fixedSamplePositions);
@@ -758,7 +1071,7 @@ void QOpenGLTexturePrivate::allocateImmutableStorage()
break;
case QOpenGLTexture::Target2DMultisampleArray:
- if (features.testFlag(QOpenGLTexture::TextureMultisample)
+ if (features.testFlag(QOpenGLTexture::ImmutableMultisampleStorage)
&& features.testFlag(QOpenGLTexture::TextureArrays)) {
texFuncs->glTextureStorage3DMultisample(textureId, target, bindingTarget, samples, format,
dimensions[0], dimensions[1], layers,
@@ -1525,6 +1838,16 @@ QOpenGLTexture *QOpenGLTexturePrivate::createTextureView(QOpenGLTexture::Target
\value RGB_BP_UNSIGNED_FLOAT Equivalent to GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB
\value RGB_BP_SIGNED_FLOAT Equivalent to GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB
\value RGB_BP_UNorm Equivalent to GL_COMPRESSED_RGBA_BPTC_UNORM_ARB
+ \value R11_EAC_UNorm Equivalent to GL_COMPRESSED_R11_EAC
+ \value R11_EAC_SNorm Equivalent to GL_COMPRESSED_SIGNED_R11_EAC
+ \value RG11_EAC_UNorm Equivalent to GL_COMPRESSED_RG11_EAC
+ \value RG11_EAC_SNorm Equivalent to GL_COMPRESSED_SIGNED_RG11_EAC
+ \value RGB8_ETC2 Equivalent to GL_COMPRESSED_RGB8_ETC2
+ \value SRGB8_ETC2 Equivalent to GL_COMPRESSED_SRGB8_ETC2
+ \value RGB8_PunchThrough_Alpha1_ETC2 Equivalent to GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
+ \value SRGB8_PunchThrough_Alpha1_ETC2 Equivalent to GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
+ \value RGBA8_ETC2_EAC Equivalent to GL_COMPRESSED_RGBA8_ETC2_EAC
+ \value SRGB8_Alpha8_ETC2_EAC Equivalent to GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
\value SRGB8 Equivalent to GL_SRGB8
\value SRGB8_Alpha8 Equivalent to GL_SRGB8_ALPHA8
@@ -2050,6 +2373,16 @@ void QOpenGLTexture::setFormat(TextureFormat format)
d->formatClass = FormatClass_S3TC_DXT5_RGBA;
break;
+ case QOpenGLTexture::R11_EAC_UNorm:
+ case QOpenGLTexture::R11_EAC_SNorm:
+ case QOpenGLTexture::RG11_EAC_UNorm:
+ case QOpenGLTexture::RG11_EAC_SNorm:
+ case QOpenGLTexture::RGB8_ETC2:
+ case QOpenGLTexture::SRGB8_ETC2:
+ case QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2:
+ case QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2:
+ case QOpenGLTexture::RGBA8_ETC2_EAC:
+ case QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC:
case RG3B2:
case R5G6B5:
case RGB5A1:
@@ -2436,17 +2769,58 @@ bool QOpenGLTexture::isFixedSamplePositions() const
Once storage has been allocated for the texture then pixel data
can be uploaded via one of the setData() overloads.
+ \note If immutable texture storage is not available,
+ then a default pixel format and pixel type will be used to
+ create the mutable storage. You can use the other
+ allocateStorage() overload to specify exactly the pixel format
+ and the pixel type to use when allocating mutable storage;
+ this is particulary useful under certain OpenGL ES implementations
+ (notably, OpenGL ES 2), where the pixel format and the pixel type
+ used at allocation time must perfectly match the format
+ and the type passed to any subsequent setData() call.
+
\sa isStorageAllocated(), setData()
*/
void QOpenGLTexture::allocateStorage()
{
Q_D(QOpenGLTexture);
if (d->create()) {
- d->allocateStorage();
+ const QOpenGLTexture::PixelFormat pixelFormat = pixelFormatCompatibleWithInternalFormat(d->format);
+ const QOpenGLTexture::PixelType pixelType = pixelTypeCompatibleWithInternalFormat(d->format);
+ d->allocateStorage(pixelFormat, pixelType);
}
}
/*!
+ \since 5.5
+
+ Allocates server-side storage for this texture object taking
+ into account, the format, dimensions, mipmap levels, array
+ layers and cubemap faces.
+
+ Once storage has been allocated it is no longer possible to change
+ these properties.
+
+ If supported QOpenGLTexture makes use of immutable texture
+ storage. However, if immutable texture storage is not available,
+ then the specified \a pixelFormat and \a pixelType will be used
+ to allocate mutable storage; note that in certain OpenGL implementations
+ (notably, OpenGL ES 2) they must perfectly match the format
+ and the type passed to any subsequent setData() call.
+
+ Once storage has been allocated for the texture then pixel data
+ can be uploaded via one of the setData() overloads.
+
+ \sa isStorageAllocated(), setData()
+*/
+void QOpenGLTexture::allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)
+{
+ Q_D(QOpenGLTexture);
+ if (d->create())
+ d->allocateStorage(pixelFormat, pixelType);
+}
+
+/*!
Returns \c true if server-side storage for this texture as been
allocated.
@@ -2547,7 +2921,7 @@ void QOpenGLTexture::setData(int mipLevel, int layer, CubeMapFace cubeFace,
Q_ASSERT(d->textureId);
if (!isStorageAllocated()) {
qWarning("Cannot set data on a texture that does not have storage allocated.\n"
- "To do so call allocate() before this function");
+ "To do so call allocateStorage() before this function");
return;
}
d->setData(mipLevel, layer, cubeFace, sourceFormat, sourceType, data, options);
@@ -2606,7 +2980,7 @@ void QOpenGLTexture::setData(int mipLevel, int layer, CubeMapFace cubeFace,
Q_ASSERT(d->textureId);
if (!isStorageAllocated()) {
qWarning("Cannot set data on a texture that does not have storage allocated.\n"
- "To do so call allocate() before this function");
+ "To do so call allocateStorage() before this function");
return;
}
d->setData(mipLevel, layer, cubeFace, sourceFormat, sourceType, data, options);
@@ -2672,7 +3046,7 @@ void QOpenGLTexture::setData(const QImage& image, MipMapGeneration genMipMaps)
setSize(image.width(), image.height());
setMipLevels(genMipMaps == GenerateMipMaps ? maximumMipLevels() : 1);
- allocateStorage();
+ allocateStorage(QOpenGLTexture::RGBA, QOpenGLTexture::UInt8);
// Upload pixel data and generate mipmaps
QImage glImage = image.convertToFormat(QImage::Format_RGBA8888);
@@ -2699,7 +3073,7 @@ void QOpenGLTexture::setCompressedData(int mipLevel, int layer, CubeMapFace cube
Q_ASSERT(d->textureId);
if (!isStorageAllocated()) {
qWarning("Cannot set data on a texture that does not have storage allocated.\n"
- "To do so call allocate() before this function");
+ "To do so call allocateStorage() before this function");
return;
}
d->setCompressedData(mipLevel, layer, cubeFace, dataSize, data, options);
@@ -2751,7 +3125,7 @@ void QOpenGLTexture::setCompressedData(int mipLevel, int layer, CubeMapFace cube
Q_ASSERT(d->textureId);
if (!isStorageAllocated()) {
qWarning("Cannot set data on a texture that does not have storage allocated.\n"
- "To do so call allocate() before this function");
+ "To do so call allocateStorage() before this function");
return;
}
d->setCompressedData(mipLevel, layer, cubeFace, dataSize, data, options);
@@ -2830,7 +3204,8 @@ bool QOpenGLTexture::hasFeature(Feature feature)
case ImmutableStorage:
supported = f.version() >= qMakePair(4, 2)
- || ctx->hasExtension(QByteArrayLiteral("GL_ARB_texture_storage"));
+ || ctx->hasExtension(QByteArrayLiteral("GL_ARB_texture_storage"))
+ || ctx->hasExtension(QByteArrayLiteral("GL_EXT_texture_storage"));
break;
case TextureCubeMapArrays:
@@ -2877,9 +3252,6 @@ bool QOpenGLTexture::hasFeature(Feature feature)
case MaxFeatureFlag:
break;
-
- default:
- break;
}
}
@@ -2887,21 +3259,59 @@ bool QOpenGLTexture::hasFeature(Feature feature)
#endif
{
switch (feature) {
+ case ImmutableStorage:
+ supported = f.version() >= qMakePair(3, 0)
+ || ctx->hasExtension(QByteArrayLiteral("EXT_texture_storage"));
+ break;
+
+ case ImmutableMultisampleStorage:
+ supported = f.version() >= qMakePair(3, 1);
+ break;
+
+ case TextureRectangle:
+ break;
+
+ case TextureArrays:
+ supported = f.version() >= qMakePair(3, 0);
+ break;
+
case Texture3D:
- supported = ctx->hasExtension(QByteArrayLiteral("GL_OES_texture_3D"));
+ supported = f.version() >= qMakePair(3, 0)
+ || ctx->hasExtension(QByteArrayLiteral("GL_OES_texture_3D"));
+ break;
+
+ case TextureMultisample:
+ supported = f.version() >= qMakePair(3, 1);
break;
+
+ case TextureBuffer:
+ break;
+
+ case TextureCubeMapArrays:
+ break;
+
+ case Swizzle:
+ supported = f.version() >= qMakePair(3, 0);
+ break;
+
+ case StencilTexturing:
+ break;
+
case AnisotropicFiltering:
supported = ctx->hasExtension(QByteArrayLiteral("GL_EXT_texture_filter_anisotropic"));
break;
+
case NPOTTextures:
case NPOTTextureRepeat:
- supported = f.version() >= qMakePair(3,0);
- if (!supported) {
- supported = ctx->hasExtension(QByteArrayLiteral("GL_OES_texture_npot"));
- if (!supported)
- supported = ctx->hasExtension(QByteArrayLiteral("GL_ARB_texture_non_power_of_two"));
- }
- default:
+ supported = f.version() >= qMakePair(3,0)
+ || ctx->hasExtension(QByteArrayLiteral("GL_OES_texture_npot"))
+ || ctx->hasExtension(QByteArrayLiteral("GL_ARB_texture_non_power_of_two"));
+ break;
+
+ case Texture1D:
+ break;
+
+ case MaxFeatureFlag:
break;
}
}
diff --git a/src/gui/opengl/qopengltexture.h b/src/gui/opengl/qopengltexture.h
index a0b23c211c..1cf5fdc12a 100644
--- a/src/gui/opengl/qopengltexture.h
+++ b/src/gui/opengl/qopengltexture.h
@@ -88,29 +88,6 @@ public:
DontResetTextureUnit
};
- explicit QOpenGLTexture(Target target);
- explicit QOpenGLTexture(const QImage& image, MipMapGeneration genMipMaps = GenerateMipMaps);
- ~QOpenGLTexture();
-
- Target target() const;
-
- // Creation and destruction
- bool create();
- void destroy();
- bool isCreated() const;
- GLuint textureId() const;
-
- // Binding and releasing
- void bind();
- void bind(uint unit, TextureUnitReset reset = DontResetTextureUnit);
- void release();
- void release(uint unit, TextureUnitReset reset = DontResetTextureUnit);
-
- bool isBound() const;
- bool isBound(uint unit);
- static GLuint boundTextureId(BindingTarget target);
- static GLuint boundTextureId(uint unit, BindingTarget target);
-
enum TextureFormat {
NoFormat = 0, // GL_NONE
@@ -209,6 +186,16 @@ public:
RGB_BP_UNSIGNED_FLOAT = 0x8E8F, // GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB
RGB_BP_SIGNED_FLOAT = 0x8E8E, // GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB
RGB_BP_UNorm = 0x8E8C, // GL_COMPRESSED_RGBA_BPTC_UNORM_ARB
+ R11_EAC_UNorm = 0x9270, // GL_COMPRESSED_R11_EAC
+ R11_EAC_SNorm = 0x9271, // GL_COMPRESSED_SIGNED_R11_EAC
+ RG11_EAC_UNorm = 0x9272, // GL_COMPRESSED_RG11_EAC
+ RG11_EAC_SNorm = 0x9273, // GL_COMPRESSED_SIGNED_RG11_EAC
+ RGB8_ETC2 = 0x9274, // GL_COMPRESSED_RGB8_ETC2
+ SRGB8_ETC2 = 0x9275, // GL_COMPRESSED_SRGB8_ETC2
+ RGB8_PunchThrough_Alpha1_ETC2 = 0x9276, // GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
+ SRGB8_PunchThrough_Alpha1_ETC2 = 0x9277, // GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
+ RGBA8_ETC2_EAC = 0x9278, // GL_COMPRESSED_RGBA8_ETC2_EAC
+ SRGB8_Alpha8_ETC2_EAC = 0x9279, // GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
// sRGB formats
SRGB8 = 0x8C41, // GL_SRGB8
@@ -254,32 +241,6 @@ public:
};
#endif
- // Storage allocation
- void setFormat(TextureFormat format);
- TextureFormat format() const;
- void setSize(int width, int height = 1, int depth = 1);
- int width() const;
- int height() const;
- int depth() const;
- void setMipLevels(int levels);
- int mipLevels() const;
- int maximumMipLevels() const;
- void setLayers(int layers);
- int layers() const;
- int faces() const;
- void setSamples(int samples);
- int samples() const;
- void setFixedSamplePositions(bool fixed);
- bool isFixedSamplePositions() const;
- void allocateStorage();
- bool isStorageAllocated() const;
-
- QOpenGLTexture *createTextureView(Target target,
- TextureFormat viewFormat,
- int minimumMipmapLevel, int maximumMipmapLevel,
- int minimumLayer, int maximumLayer) const;
- bool isTextureView() const;
-
enum CubeMapFace {
CubeMapPositiveX = 0x8515, // GL_TEXTURE_CUBE_MAP_POSITIVE_X
CubeMapNegativeX = 0x8516, // GL_TEXTURE_CUBE_MAP_NEGATIVE_X
@@ -340,6 +301,107 @@ public:
Float32_D32_UInt32_S8_X24 = 0x8DAD // GL_FLOAT_32_UNSIGNED_INT_24_8_REV
};
+ enum SwizzleComponent {
+ SwizzleRed = 0x8E42, // GL_TEXTURE_SWIZZLE_R
+ SwizzleGreen = 0x8E43, // GL_TEXTURE_SWIZZLE_G
+ SwizzleBlue = 0x8E44, // GL_TEXTURE_SWIZZLE_B
+ SwizzleAlpha = 0x8E45 // GL_TEXTURE_SWIZZLE_A
+ };
+
+ enum SwizzleValue {
+ RedValue = 0x1903, // GL_RED
+ GreenValue = 0x1904, // GL_GREEN
+ BlueValue = 0x1905, // GL_BLUE
+ AlphaValue = 0x1906, // GL_ALPHA
+ ZeroValue = 0, // GL_ZERO
+ OneValue = 1 // GL_ONE
+ };
+
+ enum WrapMode {
+ Repeat = 0x2901, // GL_REPEAT
+ MirroredRepeat = 0x8370, // GL_MIRRORED_REPEAT
+ ClampToEdge = 0x812F, // GL_CLAMP_TO_EDGE
+ ClampToBorder = 0x812D // GL_CLAMP_TO_BORDER
+ };
+
+ enum CoordinateDirection {
+ DirectionS = 0x2802, // GL_TEXTURE_WRAP_S
+ DirectionT = 0x2803, // GL_TEXTURE_WRAP_T
+ DirectionR = 0x8072 // GL_TEXTURE_WRAP_R
+ };
+
+ // Features
+ enum Feature {
+ ImmutableStorage = 0x00000001,
+ ImmutableMultisampleStorage = 0x00000002,
+ TextureRectangle = 0x00000004,
+ TextureArrays = 0x00000008,
+ Texture3D = 0x00000010,
+ TextureMultisample = 0x00000020,
+ TextureBuffer = 0x00000040,
+ TextureCubeMapArrays = 0x00000080,
+ Swizzle = 0x00000100,
+ StencilTexturing = 0x00000200,
+ AnisotropicFiltering = 0x00000400,
+ NPOTTextures = 0x00000800,
+ NPOTTextureRepeat = 0x00001000,
+ Texture1D = 0x00002000,
+#ifndef Q_QDOC
+ MaxFeatureFlag = 0x00004000
+#endif
+ };
+ Q_DECLARE_FLAGS(Features, Feature)
+
+ explicit QOpenGLTexture(Target target);
+ explicit QOpenGLTexture(const QImage& image, MipMapGeneration genMipMaps = GenerateMipMaps);
+ ~QOpenGLTexture();
+
+ Target target() const;
+
+ // Creation and destruction
+ bool create();
+ void destroy();
+ bool isCreated() const;
+ GLuint textureId() const;
+
+ // Binding and releasing
+ void bind();
+ void bind(uint unit, TextureUnitReset reset = DontResetTextureUnit);
+ void release();
+ void release(uint unit, TextureUnitReset reset = DontResetTextureUnit);
+
+ bool isBound() const;
+ bool isBound(uint unit);
+ static GLuint boundTextureId(BindingTarget target);
+ static GLuint boundTextureId(uint unit, BindingTarget target);
+
+ // Storage allocation
+ void setFormat(TextureFormat format);
+ TextureFormat format() const;
+ void setSize(int width, int height = 1, int depth = 1);
+ int width() const;
+ int height() const;
+ int depth() const;
+ void setMipLevels(int levels);
+ int mipLevels() const;
+ int maximumMipLevels() const;
+ void setLayers(int layers);
+ int layers() const;
+ int faces() const;
+ void setSamples(int samples);
+ int samples() const;
+ void setFixedSamplePositions(bool fixed);
+ bool isFixedSamplePositions() const;
+ void allocateStorage();
+ void allocateStorage(PixelFormat pixelFormat, PixelType pixelType);
+ bool isStorageAllocated() const;
+
+ QOpenGLTexture *createTextureView(Target target,
+ TextureFormat viewFormat,
+ int minimumMipmapLevel, int maximumMipmapLevel,
+ int minimumLayer, int maximumLayer) const;
+ bool isTextureView() const;
+
// Pixel transfer
// ### Qt 6: remove the non-const void * overloads
#if QT_DEPRECATED_SINCE(5, 3)
@@ -397,28 +459,6 @@ public:
// Helpful overloads for setData
void setData(const QImage& image, MipMapGeneration genMipMaps = GenerateMipMaps);
- // Features
- enum Feature {
- ImmutableStorage = 0x00000001,
- ImmutableMultisampleStorage = 0x00000002,
- TextureRectangle = 0x00000004,
- TextureArrays = 0x00000008,
- Texture3D = 0x00000010,
- TextureMultisample = 0x00000020,
- TextureBuffer = 0x00000040,
- TextureCubeMapArrays = 0x00000080,
- Swizzle = 0x00000100,
- StencilTexturing = 0x00000200,
- AnisotropicFiltering = 0x00000400,
- NPOTTextures = 0x00000800,
- NPOTTextureRepeat = 0x00001000,
- Texture1D = 0x00002000,
-#ifndef Q_QDOC
- MaxFeatureFlag = 0x00004000
-#endif
- };
- Q_DECLARE_FLAGS(Features, Feature)
-
static bool hasFeature(Feature feature);
// Texture Parameters
@@ -435,22 +475,6 @@ public:
void generateMipMaps();
void generateMipMaps(int baseLevel, bool resetBaseLevel = true);
- enum SwizzleComponent {
- SwizzleRed = 0x8E42, // GL_TEXTURE_SWIZZLE_R
- SwizzleGreen = 0x8E43, // GL_TEXTURE_SWIZZLE_G
- SwizzleBlue = 0x8E44, // GL_TEXTURE_SWIZZLE_B
- SwizzleAlpha = 0x8E45 // GL_TEXTURE_SWIZZLE_A
- };
-
- enum SwizzleValue {
- RedValue = 0x1903, // GL_RED
- GreenValue = 0x1904, // GL_GREEN
- BlueValue = 0x1905, // GL_BLUE
- AlphaValue = 0x1906, // GL_ALPHA
- ZeroValue = 0, // GL_ZERO
- OneValue = 1 // GL_ONE
- };
-
void setSwizzleMask(SwizzleComponent component, SwizzleValue value);
void setSwizzleMask(SwizzleValue r, SwizzleValue g,
SwizzleValue b, SwizzleValue a);
@@ -484,19 +508,6 @@ public:
void setMaximumAnisotropy(float anisotropy);
float maximumAnisotropy() const;
- enum WrapMode {
- Repeat = 0x2901, // GL_REPEAT
- MirroredRepeat = 0x8370, // GL_MIRRORED_REPEAT
- ClampToEdge = 0x812F, // GL_CLAMP_TO_EDGE
- ClampToBorder = 0x812D // GL_CLAMP_TO_BORDER
- };
-
- enum CoordinateDirection {
- DirectionS = 0x2802, // GL_TEXTURE_WRAP_S
- DirectionT = 0x2803, // GL_TEXTURE_WRAP_T
- DirectionR = 0x8072 // GL_TEXTURE_WRAP_R
- };
-
void setWrapMode(WrapMode mode);
void setWrapMode(CoordinateDirection direction, WrapMode mode);
WrapMode wrapMode(CoordinateDirection direction) const;
diff --git a/src/gui/opengl/qopengltexture_p.h b/src/gui/opengl/qopengltexture_p.h
index b584d3ec8f..3b70010231 100644
--- a/src/gui/opengl/qopengltexture_p.h
+++ b/src/gui/opengl/qopengltexture_p.h
@@ -87,8 +87,8 @@ public:
bool isBound() const;
bool isBound(uint unit) const;
- void allocateStorage();
- void allocateMutableStorage();
+ void allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType);
+ void allocateMutableStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType);
void allocateImmutableStorage();
void setData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace,
QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType,
diff --git a/src/gui/opengl/qopengltexturecache.cpp b/src/gui/opengl/qopengltexturecache.cpp
index 3b24e1f576..f85a26cd6e 100644
--- a/src/gui/opengl/qopengltexturecache.cpp
+++ b/src/gui/opengl/qopengltexturecache.cpp
@@ -41,6 +41,10 @@
QT_BEGIN_NAMESPACE
+#ifndef GL_RED
+#define GL_RED 0x1903
+#endif
+
#ifndef GL_RGB10_A2
#define GL_RGB10_A2 0x8059
#endif
@@ -273,6 +277,35 @@ GLuint QOpenGLTextureCache::bindTexture(QOpenGLContext *context, qint64 key, con
pixelType = GL_UNSIGNED_BYTE;
targetFormat = image.format();
break;
+ case QImage::Format_Indexed8:
+ if (options & UseRedFor8BitBindOption) {
+ externalFormat = internalFormat = GL_RED;
+ pixelType = GL_UNSIGNED_BYTE;
+ targetFormat = image.format();
+ }
+ break;
+ case QImage::Format_Alpha8:
+ if (options & UseRedFor8BitBindOption) {
+ externalFormat = internalFormat = GL_RED;
+ pixelType = GL_UNSIGNED_BYTE;
+ targetFormat = image.format();
+ } else if (context->isOpenGLES() || context->format().profile() != QSurfaceFormat::CoreProfile) {
+ externalFormat = internalFormat = GL_ALPHA;
+ pixelType = GL_UNSIGNED_BYTE;
+ targetFormat = image.format();
+ }
+ break;
+ case QImage::Format_Grayscale8:
+ if (options & UseRedFor8BitBindOption) {
+ externalFormat = internalFormat = GL_RED;
+ pixelType = GL_UNSIGNED_BYTE;
+ targetFormat = image.format();
+ } else if (context->isOpenGLES() || context->format().profile() != QSurfaceFormat::CoreProfile) {
+ externalFormat = internalFormat = GL_LUMINANCE;
+ pixelType = GL_UNSIGNED_BYTE;
+ targetFormat = image.format();
+ }
+ break;
default:
break;
}
diff --git a/src/gui/opengl/qopengltexturecache_p.h b/src/gui/opengl/qopengltexturecache_p.h
index f856054a85..45dc20e146 100644
--- a/src/gui/opengl/qopengltexturecache_p.h
+++ b/src/gui/opengl/qopengltexturecache_p.h
@@ -78,6 +78,7 @@ public:
enum BindOption {
NoBindOption = 0x0000,
PremultipliedAlphaBindOption = 0x0001,
+ UseRedFor8BitBindOption = 0x0002,
};
Q_DECLARE_FLAGS(BindOptions, BindOption)
diff --git a/src/gui/opengl/qopengltexturehelper.cpp b/src/gui/opengl/qopengltexturehelper.cpp
index 29cecf0ea8..1eeab64911 100644
--- a/src/gui/opengl/qopengltexturehelper.cpp
+++ b/src/gui/opengl/qopengltexturehelper.cpp
@@ -200,8 +200,13 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context)
TexImage2DMultisample = 0;
// OpenGL 4.2
+#ifdef QT_OPENGL_ES_3
+ TexStorage3D = ::glTexStorage3D;
+ TexStorage2D = ::glTexStorage2D;
+#else
TexStorage3D = 0;
TexStorage2D = 0;
+#endif
TexStorage1D = 0;
// OpenGL 4.3
diff --git a/src/gui/opengl/qopenglvertexarrayobject.cpp b/src/gui/opengl/qopenglvertexarrayobject.cpp
index 5520dfed08..d8979fd98f 100644
--- a/src/gui/opengl/qopenglvertexarrayobject.cpp
+++ b/src/gui/opengl/qopenglvertexarrayobject.cpp
@@ -146,6 +146,11 @@ bool QOpenGLVertexArrayObjectPrivate::create()
qWarning("QOpenGLVertexArrayObject::create() requires a valid current OpenGL context");
return false;
}
+
+ //Fail early, if context is the same as ctx, it means we have tried to initialize for this context and failed
+ if (ctx == context)
+ return false;
+
context = ctx;
QObject::connect(context, SIGNAL(aboutToBeDestroyed()), q, SLOT(_q_contextAboutToBeDestroyed()));
diff --git a/src/gui/opengl/qtriangulator.cpp b/src/gui/opengl/qtriangulator.cpp
index f44c8adcf5..74b8f01985 100644
--- a/src/gui/opengl/qtriangulator.cpp
+++ b/src/gui/opengl/qtriangulator.cpp
@@ -441,8 +441,8 @@ T QMaxHeap<T>::pop()
// Copied from qhash.cpp
static const uchar prime_deltas[] = {
- 0, 0, 1, 3, 1, 5, 3, 3, 1, 9, 7, 5, 3, 9, 25, 3,
- 1, 21, 3, 21, 7, 15, 9, 5, 3, 29, 15, 0, 0, 0, 0, 0
+ 0, 0, 1, 3, 1, 5, 3, 3, 1, 9, 7, 5, 3, 17, 27, 3,
+ 1, 29, 3, 21, 7, 17, 15, 9, 43, 35, 15, 0, 0, 0, 0, 0
};
// Copied from qhash.cpp
@@ -457,7 +457,7 @@ static inline int primeForCount(int count)
int high = 32;
for (int i = 0; i < 5; ++i) {
int mid = (high + low) / 2;
- if (count >= 1 << mid)
+ if (uint(count) >= (1u << mid))
low = mid;
else
high = mid;
diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
index a5a395cce2..588a2f0a88 100644
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
@@ -41,6 +41,7 @@ HEADERS += \
painting/qrasterdefs_p.h \
painting/qrasterizer_p.h \
painting/qregion.h \
+ painting/qrgb.h \
painting/qstroker_p.h \
painting/qtextureglyphcache_p.h \
painting/qtransform.h \
diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
index 2da5dbb356..e174d1f1cd 100644
--- a/src/gui/painting/qblendfunctions.cpp
+++ b/src/gui/painting/qblendfunctions.cpp
@@ -764,7 +764,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGRs30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_Mono
0, // Format_Invalid,
@@ -789,7 +791,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_MonoLSB
0, // Format_Invalid,
@@ -814,7 +818,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_Indexed8
0, // Format_Invalid,
@@ -839,7 +845,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB32
0, // Format_Invalid,
@@ -864,7 +872,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB32
0, // Format_Invalid,
@@ -889,7 +899,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB32_Premultiplied
0, // Format_Invalid,
@@ -914,7 +926,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB16
0, // Format_Invalid,
@@ -939,7 +953,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB8565_Premultiplied
0, // Format_Invalid,
@@ -964,7 +980,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB666
0, // Format_Invalid,
@@ -989,7 +1007,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB6666_Premultiplied
0, // Format_Invalid,
@@ -1014,7 +1034,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB555
0, // Format_Invalid,
@@ -1039,7 +1061,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB8555_Premultiplied
0, // Format_Invalid,
@@ -1064,7 +1088,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB888
0, // Format_Invalid,
@@ -1089,7 +1115,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB444
0, // Format_Invalid,
@@ -1114,7 +1142,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB4444_Premultiplied
0, // Format_Invalid,
@@ -1139,7 +1169,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGBX8888
0, // Format_Invalid,
@@ -1170,7 +1202,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGBA8888
0, // Format_Invalid,
@@ -1195,7 +1229,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGBA8888_Premultiplied
0, // Format_Invalid,
@@ -1226,7 +1262,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_BGR30
0, // Format_Invalid,
@@ -1251,7 +1289,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_A2BGR30_Premultiplied
0, // Format_Invalid,
@@ -1276,7 +1316,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB30
0, // Format_Invalid,
@@ -1301,7 +1343,9 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_A2RGB30_Premultiplied
0, // Format_Invalid,
@@ -1326,8 +1370,64 @@ SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
+ },
+ { // Format_Alpha8
+ 0, // Format_Invalid,
+ 0, // Format_Mono,
+ 0, // Format_MonoLSB,
+ 0, // Format_Indexed8,
+ 0, // Format_RGB32,
+ 0, // Format_ARGB32,
+ 0, // Format_ARGB32_Premultiplied,
+ 0, // Format_RGB16,
+ 0, // Format_ARGB8565_Premultiplied,
+ 0, // Format_RGB666,
+ 0, // Format_ARGB6666_Premultiplied,
+ 0, // Format_RGB555,
+ 0, // Format_ARGB8555_Premultiplied,
+ 0, // Format_RGB888,
+ 0, // Format_RGB444,
+ 0, // Format_ARGB4444_Premultiplied,
+ 0, // Format_RGBX8888,
+ 0, // Format_RGBA8888,
+ 0, // Format_RGBA8888_Premultiplied,
+ 0, // Format_BGR30,
+ 0, // Format_A2BGR30_Premultiplied,
+ 0, // Format_RGB30,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
+ { // Format_Grayscale8
+ 0, // Format_Invalid,
+ 0, // Format_Mono,
+ 0, // Format_MonoLSB,
+ 0, // Format_Indexed8,
+ 0, // Format_RGB32,
+ 0, // Format_ARGB32,
+ 0, // Format_ARGB32_Premultiplied,
+ 0, // Format_RGB16,
+ 0, // Format_ARGB8565_Premultiplied,
+ 0, // Format_RGB666,
+ 0, // Format_ARGB6666_Premultiplied,
+ 0, // Format_RGB555,
+ 0, // Format_ARGB8555_Premultiplied,
+ 0, // Format_RGB888,
+ 0, // Format_RGB444,
+ 0, // Format_ARGB4444_Premultiplied,
+ 0, // Format_RGBX8888,
+ 0, // Format_RGBA8888,
+ 0, // Format_RGBA8888_Premultiplied,
+ 0, // Format_BGR30,
+ 0, // Format_A2BGR30_Premultiplied,
+ 0, // Format_RGB30,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
+ }
};
@@ -1355,7 +1455,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_Mono
0, // Format_Invalid,
@@ -1380,7 +1482,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_MonoLSB
0, // Format_Invalid,
@@ -1405,7 +1509,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_Indexed8
0, // Format_Invalid,
@@ -1430,7 +1536,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB32
0, // Format_Invalid,
@@ -1455,7 +1563,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB32
0, // Format_Invalid,
@@ -1480,7 +1590,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB32_Premultiplied
0, // Format_Invalid,
@@ -1505,7 +1617,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB16
0, // Format_Invalid,
@@ -1530,7 +1644,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB8565_Premultiplied
0, // Format_Invalid,
@@ -1555,7 +1671,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB666
0, // Format_Invalid,
@@ -1580,7 +1698,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB6666_Premultiplied
0, // Format_Invalid,
@@ -1605,7 +1725,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB555
0, // Format_Invalid,
@@ -1630,7 +1752,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB8555_Premultiplied
0, // Format_Invalid,
@@ -1655,7 +1779,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB888
0, // Format_Invalid,
@@ -1680,7 +1806,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB444
0, // Format_Invalid,
@@ -1705,7 +1833,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB4444_Premultiplied
0, // Format_Invalid,
@@ -1730,7 +1860,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGBX8888
0, // Format_Invalid,
@@ -1761,7 +1893,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGBA8888
0, // Format_Invalid,
@@ -1786,7 +1920,9 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGBA8888_Premultiplied
0, // Format_Invalid,
@@ -1818,6 +1954,8 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_BGR30
0, // Format_Invalid,
@@ -1843,6 +1981,7 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
qt_blend_a2rgb30pm_on_a2rgb30pm, // Format_A2RGB30_Premultiplied,
qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_RGB30,
qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_A2RGB30_Premultiplied,
+ 0, 0,
},
{ // Format_A2BGR30_Premultiplied
0, // Format_Invalid,
@@ -1868,6 +2007,7 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
qt_blend_a2rgb30pm_on_a2rgb30pm, // Format_A2BGR30_Premultiplied,
qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_RGB30,
qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_A2RGB30_Premultiplied,
+ 0, 0,
},
{ // Format_RGB30
0, // Format_Invalid,
@@ -1893,6 +2033,7 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_A2BGR30_Premultiplied,
qt_blend_rgb30_on_rgb30, // Format_RGB30,
qt_blend_a2rgb30pm_on_a2rgb30pm, // Format_A2RGB30_Premultiplied,
+ 0, 0,
},
{ // Format_A2RGB30_Premultiplied
0, // Format_Invalid,
@@ -1917,8 +2058,63 @@ SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] =
qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_BGR30,
qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_A2BGR30_Premultiplied,
qt_blend_rgb30_on_rgb30, // Format_RGB30,
- qt_blend_a2rgb30pm_on_a2rgb30pm // Format_A2RGB30_Premultiplied,
+ qt_blend_a2rgb30pm_on_a2rgb30pm, // Format_A2RGB30_Premultiplied,
+ 0, 0,
+ },
+ { // Format_Alpha8
+ 0, // Format_Invalid,
+ 0, // Format_Mono,
+ 0, // Format_MonoLSB,
+ 0, // Format_Indexed8,
+ 0, // Format_RGB32,
+ 0, // Format_ARGB32,
+ 0, // Format_ARGB32_Premultiplied,
+ 0, // Format_RGB16,
+ 0, // Format_ARGB8565_Premultiplied,
+ 0, // Format_RGB666,
+ 0, // Format_ARGB6666_Premultiplied,
+ 0, // Format_RGB555,
+ 0, // Format_ARGB8555_Premultiplied,
+ 0, // Format_RGB888,
+ 0, // Format_RGB444,
+ 0, // Format_ARGB4444_Premultiplied,
+ 0, // Format_RGBX8888,
+ 0, // Format_RGBA8888,
+ 0, // Format_RGBA8888_Premultiplied,
+ 0, // Format_BGR30,
+ 0, // Format_A2BGR30_Premultiplied,
+ 0, // Format_RGB30,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
+ { // Format_Grayscale8
+ 0, // Format_Invalid,
+ 0, // Format_Mono,
+ 0, // Format_MonoLSB,
+ 0, // Format_Indexed8,
+ 0, // Format_RGB32,
+ 0, // Format_ARGB32,
+ 0, // Format_ARGB32_Premultiplied,
+ 0, // Format_RGB16,
+ 0, // Format_ARGB8565_Premultiplied,
+ 0, // Format_RGB666,
+ 0, // Format_ARGB6666_Premultiplied,
+ 0, // Format_RGB555,
+ 0, // Format_ARGB8555_Premultiplied,
+ 0, // Format_RGB888,
+ 0, // Format_RGB444,
+ 0, // Format_ARGB4444_Premultiplied,
+ 0, // Format_RGBX8888,
+ 0, // Format_RGBA8888,
+ 0, // Format_RGBA8888_Premultiplied,
+ 0, // Format_BGR30,
+ 0, // Format_A2BGR30_Premultiplied,
+ 0, // Format_RGB30,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
+ }
};
SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFormats] = {
@@ -1945,7 +2141,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_Mono
0, // Format_Invalid,
@@ -1970,7 +2168,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_MonoLSB
0, // Format_Invalid,
@@ -1995,7 +2195,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_Indexed8
0, // Format_Invalid,
@@ -2020,7 +2222,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB32
0, // Format_Invalid,
@@ -2045,7 +2249,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB32
0, // Format_Invalid,
@@ -2070,7 +2276,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB32_Premultiplied
0, // Format_Invalid,
@@ -2095,7 +2303,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB16
0, // Format_Invalid,
@@ -2120,7 +2330,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB8565_Premultiplied
0, // Format_Invalid,
@@ -2145,7 +2357,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB666
0, // Format_Invalid,
@@ -2170,7 +2384,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB6666_Premultiplied
0, // Format_Invalid,
@@ -2195,7 +2411,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB555
0, // Format_Invalid,
@@ -2220,7 +2438,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB8555_Premultiplied
0, // Format_Invalid,
@@ -2245,7 +2465,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB888
0, // Format_Invalid,
@@ -2270,7 +2492,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB444
0, // Format_Invalid,
@@ -2295,7 +2519,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_ARGB4444_Premultiplied
0, // Format_Invalid,
@@ -2320,7 +2546,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGBX8888
0, // Format_Invalid,
@@ -2351,7 +2579,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGBA8888
0, // Format_Invalid,
@@ -2376,7 +2606,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGBA8888_Premultiplied
0, // Format_Invalid,
@@ -2407,7 +2639,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_BGR30
0, // Format_Invalid,
@@ -2432,7 +2666,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_A2BGR30_Premultiplied
0, // Format_Invalid,
@@ -2457,7 +2693,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_RGB30
0, // Format_Invalid,
@@ -2482,7 +2720,9 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
{ // Format_A2RGB30_Premultiplied
0, // Format_Invalid,
@@ -2507,7 +2747,63 @@ SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFo
0, // Format_BGR30,
0, // Format_A2BGR30_Premultiplied,
0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
+ },
+ { // Format_Alpha8
+ 0, // Format_Invalid,
+ 0, // Format_Mono,
+ 0, // Format_MonoLSB,
+ 0, // Format_Indexed8,
+ 0, // Format_RGB32,
+ 0, // Format_ARGB32,
+ 0, // Format_ARGB32_Premultiplied,
+ 0, // Format_RGB16,
+ 0, // Format_ARGB8565_Premultiplied,
+ 0, // Format_RGB666,
+ 0, // Format_ARGB6666_Premultiplied,
+ 0, // Format_RGB555,
+ 0, // Format_ARGB8555_Premultiplied,
+ 0, // Format_RGB888,
+ 0, // Format_RGB444,
+ 0, // Format_ARGB4444_Premultiplied,
+ 0, // Format_RGBX8888,
+ 0, // Format_RGBA8888,
+ 0, // Format_RGBA8888_Premultiplied,
+ 0, // Format_BGR30,
+ 0, // Format_A2BGR30_Premultiplied,
+ 0, // Format_RGB30,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
+ },
+ { // Format_Grayscale8
+ 0, // Format_Invalid,
+ 0, // Format_Mono,
+ 0, // Format_MonoLSB,
+ 0, // Format_Indexed8,
+ 0, // Format_RGB32,
+ 0, // Format_ARGB32,
+ 0, // Format_ARGB32_Premultiplied,
+ 0, // Format_RGB16,
+ 0, // Format_ARGB8565_Premultiplied,
+ 0, // Format_RGB666,
+ 0, // Format_ARGB6666_Premultiplied,
+ 0, // Format_RGB555,
+ 0, // Format_ARGB8555_Premultiplied,
+ 0, // Format_RGB888,
+ 0, // Format_RGB444,
+ 0, // Format_ARGB4444_Premultiplied,
+ 0, // Format_RGBX8888,
+ 0, // Format_RGBA8888,
+ 0, // Format_RGBA8888_Premultiplied,
+ 0, // Format_BGR30,
+ 0, // Format_A2BGR30_Premultiplied,
+ 0, // Format_RGB30,
+ 0, // Format_A2RGB30_Premultiplied,
+ 0, // Format_Alpha8
+ 0, // Format_Grayscale8
},
};
diff --git a/src/gui/painting/qbrush.h b/src/gui/painting/qbrush.h
index ff652fe288..3dc2230afc 100644
--- a/src/gui/painting/qbrush.h
+++ b/src/gui/painting/qbrush.h
@@ -235,7 +235,7 @@ private:
qreal cx, cy, angle;
} conical;
} m_data;
- void *dummy;
+ void *dummy; // ### Qt 6: replace with actual content (CoordinateMode, InterpolationMode, ...)
};
inline void QGradient::setSpread(Spread aspread)
diff --git a/src/gui/painting/qcolor.h b/src/gui/painting/qcolor.h
index b68504c865..926d05707e 100644
--- a/src/gui/painting/qcolor.h
+++ b/src/gui/painting/qcolor.h
@@ -65,7 +65,7 @@ public:
QColor(QRgb rgb);
QColor(const QString& name);
QColor(const char *name);
- QColor(const QColor &color);
+ QColor(const QColor &color); // ### Qt 6: remove, the trivial one is fine.
QColor(Spec spec);
bool isValid() const;
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index 6482cc50f7..a991b89f48 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -527,6 +527,22 @@ static const uint *QT_FASTCALL convertRGBA8888ToARGB32PM(uint *buffer, const uin
return buffer;
}
+static const uint *QT_FASTCALL convertAlpha8ToRGB32(uint *buffer, const uint *src, int count,
+ const QPixelLayout *, const QRgb *)
+{
+ for (int i = 0; i < count; ++i)
+ buffer[i] = qRgba(0, 0, 0, src[i]);
+ return buffer;
+}
+
+static const uint *QT_FASTCALL convertGrayscale8ToRGB32(uint *buffer, const uint *src, int count,
+ const QPixelLayout *, const QRgb *)
+{
+ for (int i = 0; i < count; ++i)
+ buffer[i] = qRgb(src[i], src[i], src[i]);
+ return buffer;
+}
+
static const uint *QT_FASTCALL convertARGB32FromARGB32PM(uint *buffer, const uint *src, int count,
const QPixelLayout *, const QRgb *)
{
@@ -603,6 +619,30 @@ static const uint *QT_FASTCALL convertRGB30FromARGB32PM(uint *buffer, const uint
return buffer;
}
+static const uint *QT_FASTCALL convertAlpha8FromARGB32PM(uint *buffer, const uint *src, int count,
+ const QPixelLayout *, const QRgb *)
+{
+ for (int i = 0; i < count; ++i)
+ buffer[i] = qAlpha(src[i]);
+ return buffer;
+}
+
+static const uint *QT_FASTCALL convertGrayscale8FromRGB32(uint *buffer, const uint *src, int count,
+ const QPixelLayout *, const QRgb *)
+{
+ for (int i = 0; i < count; ++i)
+ buffer[i] = qGray(src[i]);
+ return buffer;
+}
+
+static const uint *QT_FASTCALL convertGrayscale8FromARGB32PM(uint *buffer, const uint *src, int count,
+ const QPixelLayout *, const QRgb *)
+{
+ for (int i = 0; i < count; ++i)
+ buffer[i] = qGray(qUnpremultiply(src[i]));
+ return buffer;
+}
+
template <QPixelLayout::BPP bpp> static
uint QT_FASTCALL fetchPixel(const uchar *src, int index);
@@ -756,6 +796,8 @@ QPixelLayout qPixelLayouts[QImage::NImageFormats] = {
{ 10, 20, 10, 10, 10, 0, 2, 30, true, QPixelLayout::BPP32, convertA2RGB30PMToARGB32PM<PixelOrderBGR>, convertA2RGB30PMFromARGB32PM<PixelOrderBGR>, 0 }, // Format_A2BGR30_Premultiplied
{ 10, 0, 10, 10, 10, 20, 0, 30, false, QPixelLayout::BPP32, convertA2RGB30PMToARGB32PM<PixelOrderRGB>, convertRGB30FromARGB32PM<PixelOrderRGB>, convertRGB30FromRGB32<PixelOrderRGB> }, // Format_RGB30
{ 10, 0, 10, 10, 10, 20, 2, 30, true, QPixelLayout::BPP32, convertA2RGB30PMToARGB32PM<PixelOrderRGB>, convertA2RGB30PMFromARGB32PM<PixelOrderRGB>, 0 }, // Format_A2RGB30_Premultiplied
+ { 0, 0, 0, 0, 0, 0, 8, 0, false, QPixelLayout::BPP8, convertAlpha8ToRGB32, convertAlpha8FromARGB32PM, 0 }, // Format_Alpha8
+ { 0, 0, 0, 0, 0, 0, 0, 0, false, QPixelLayout::BPP8, convertGrayscale8ToRGB32, convertGrayscale8FromARGB32PM, convertGrayscale8FromRGB32 } // Format_Grayscale8
};
FetchPixelsFunc qFetchPixels[QPixelLayout::BPPCount] = {
@@ -867,6 +909,8 @@ static DestFetchProc destFetchProc[QImage::NImageFormats] =
destFetch, // Format_A2BGR30_Premultiplied
destFetch, // Format_RGB30
destFetch, // Format_A2RGB30_Premultiplied
+ destFetch, // Format_Alpha8
+ destFetch, // Format_Grayscale8
};
/*
@@ -1011,6 +1055,8 @@ static DestStoreProc destStoreProc[QImage::NImageFormats] =
destStore, // Format_A2BGR30_Premultiplied
destStore, // Format_RGB30
destStore, // Format_A2RGB30_Premultiplied
+ destStore, // Format_Alpha8
+ destStore, // Format_Grayscale8
};
/*
@@ -2266,6 +2312,8 @@ static SourceFetchProc sourceFetch[NBlendTypes][QImage::NImageFormats] = {
fetchUntransformed, // Format_A2BGR30_Premultiplied
fetchUntransformed, // Format_RGB30
fetchUntransformed, // Format_A2RGB30_Premultiplied
+ fetchUntransformed, // Alpha8
+ fetchUntransformed, // Grayscale8
},
// Tiled
{
@@ -2291,7 +2339,9 @@ static SourceFetchProc sourceFetch[NBlendTypes][QImage::NImageFormats] = {
fetchUntransformed, // BGR30
fetchUntransformed, // A2BGR30_Premultiplied
fetchUntransformed, // RGB30
- fetchUntransformed // A2RGB30_Premultiplied
+ fetchUntransformed, // A2RGB30_Premultiplied
+ fetchUntransformed, // Alpha8
+ fetchUntransformed, // Grayscale8
},
// Transformed
{
@@ -2318,6 +2368,8 @@ static SourceFetchProc sourceFetch[NBlendTypes][QImage::NImageFormats] = {
fetchTransformed<BlendTransformed>, // A2BGR30_Premultiplied
fetchTransformed<BlendTransformed>, // RGB30
fetchTransformed<BlendTransformed>, // A2RGB30_Premultiplied
+ fetchTransformed<BlendTransformed>, // Alpah8
+ fetchTransformed<BlendTransformed>, // Grayscale8
},
{
0, // TransformedTiled
@@ -2343,6 +2395,8 @@ static SourceFetchProc sourceFetch[NBlendTypes][QImage::NImageFormats] = {
fetchTransformed<BlendTransformedTiled>, // A2BGR30_Premultiplied
fetchTransformed<BlendTransformedTiled>, // RGB30
fetchTransformed<BlendTransformedTiled>, // A2RGB30_Premultiplied
+ fetchTransformed<BlendTransformedTiled>, // Alpha8
+ fetchTransformed<BlendTransformedTiled>, // Grayscale8
},
{
0, // Bilinear
@@ -2368,6 +2422,8 @@ static SourceFetchProc sourceFetch[NBlendTypes][QImage::NImageFormats] = {
fetchTransformedBilinear<BlendTransformedBilinear>, // A2BGR30_Premultiplied
fetchTransformedBilinear<BlendTransformedBilinear>, // RGB30
fetchTransformedBilinear<BlendTransformedBilinear>, // A2RGB30_Premultiplied
+ fetchTransformedBilinear<BlendTransformedBilinear>, // Alpha8
+ fetchTransformedBilinear<BlendTransformedBilinear>, // Grayscale8
},
{
0, // BilinearTiled
@@ -2392,7 +2448,9 @@ static SourceFetchProc sourceFetch[NBlendTypes][QImage::NImageFormats] = {
fetchTransformedBilinear<BlendTransformedBilinearTiled>, // BGR30
fetchTransformedBilinear<BlendTransformedBilinearTiled>, // A2BGR30_Premultiplied
fetchTransformedBilinear<BlendTransformedBilinearTiled>, // RGB30
- fetchTransformedBilinear<BlendTransformedBilinearTiled> // A2RGB30_Premultiplied
+ fetchTransformedBilinear<BlendTransformedBilinearTiled>, // A2RGB30_Premultiplied
+ fetchTransformedBilinear<BlendTransformedBilinearTiled>, // Alpha8
+ fetchTransformedBilinear<BlendTransformedBilinearTiled>, // Grayscale8
},
};
@@ -5815,6 +5873,8 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
blend_untransformed_generic,
blend_untransformed_generic,
blend_untransformed_generic,
+ blend_untransformed_generic,
+ blend_untransformed_generic,
},
// Tiled
{
@@ -5841,6 +5901,8 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
blend_tiled_generic,
blend_tiled_generic,
blend_tiled_generic,
+ blend_tiled_generic,
+ blend_tiled_generic,
},
// Transformed
{
@@ -5867,6 +5929,8 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
blend_src_generic,
blend_src_generic,
blend_src_generic,
+ blend_src_generic,
+ blend_src_generic,
},
// TransformedTiled
{
@@ -5892,6 +5956,7 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
blend_src_generic,
blend_src_generic,
blend_src_generic,
+ blend_src_generic,
blend_src_generic
},
// Bilinear
@@ -5919,6 +5984,8 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
blend_src_generic,
blend_src_generic,
blend_src_generic,
+ blend_src_generic,
+ blend_src_generic,
},
// BilinearTiled
{
@@ -5945,6 +6012,8 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
blend_src_generic, // A2BGR30_Premultiplied
blend_src_generic, // RGB30
blend_src_generic, // A2RGB30_Premultiplied
+ blend_src_generic, // Alpha8
+ blend_src_generic, // Grayscale8
}
};
@@ -6465,6 +6534,22 @@ static void qt_rectfill_nonpremul_rgba(QRasterBuffer *rasterBuffer,
ARGB2RGBA(qUnpremultiply(color)), x, y, width, height, rasterBuffer->bytesPerLine());
}
+static void qt_rectfill_alpha(QRasterBuffer *rasterBuffer,
+ int x, int y, int width, int height,
+ quint32 color)
+{
+ qt_rectfill<quint8>(reinterpret_cast<quint8 *>(rasterBuffer->buffer()),
+ qAlpha(color), x, y, width, height, rasterBuffer->bytesPerLine());
+}
+
+static void qt_rectfill_gray(QRasterBuffer *rasterBuffer,
+ int x, int y, int width, int height,
+ quint32 color)
+{
+ qt_rectfill<quint8>(reinterpret_cast<quint8 *>(rasterBuffer->buffer()),
+ qGray(color), x, y, width, height, rasterBuffer->bytesPerLine());
+}
+
// Map table for destination image format. Contains function pointers
// for blends of various types unto the destination
@@ -6649,6 +6734,20 @@ DrawHelper qDrawHelper[QImage::NImageFormats] =
0,
0
},
+ // Format_Alpha8
+ {
+ blend_color_generic,
+ blend_src_generic,
+ 0, 0, 0,
+ qt_rectfill_alpha
+ },
+ // Format_Grayscale8
+ {
+ blend_color_generic,
+ blend_src_generic,
+ 0, 0, 0,
+ qt_rectfill_gray
+ },
};
#if defined(Q_CC_MSVC) && !defined(_MIPS_)
diff --git a/src/gui/painting/qmemrotate.cpp b/src/gui/painting/qmemrotate.cpp
index b55f3b0dcc..442eda14ad 100644
--- a/src/gui/painting/qmemrotate.cpp
+++ b/src/gui/painting/qmemrotate.cpp
@@ -473,6 +473,21 @@ QT_IMPL_MEMROTATE(quint16)
QT_IMPL_MEMROTATE(quint24)
QT_IMPL_MEMROTATE(quint8)
+void qt_memrotate90_8(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
+{
+ qt_memrotate90(srcPixels, w, h, sbpl, destPixels, dbpl);
+}
+
+void qt_memrotate180_8(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
+{
+ qt_memrotate180(srcPixels, w, h, sbpl, destPixels, dbpl);
+}
+
+void qt_memrotate270_8(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
+{
+ qt_memrotate270(srcPixels, w, h, sbpl, destPixels, dbpl);
+}
+
void qt_memrotate90_16(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
{
qt_memrotate90((const ushort *)srcPixels, w, h, sbpl, (ushort *)destPixels, dbpl);
@@ -529,6 +544,8 @@ MemRotateFunc qMemRotateFunctions[QImage::NImageFormats][3] =
{ qt_memrotate90_32, qt_memrotate180_32, qt_memrotate270_32 }, // Format_A2BGR30_Premultiplied,
{ qt_memrotate90_32, qt_memrotate180_32, qt_memrotate270_32 }, // Format_RGB30,
{ qt_memrotate90_32, qt_memrotate180_32, qt_memrotate270_32 }, // Format_A2RGB30_Premultiplied,
+ { qt_memrotate90_8, qt_memrotate180_8, qt_memrotate270_8 }, // Format_Alpha8,
+ { qt_memrotate90_8, qt_memrotate180_8, qt_memrotate270_8 }, // Format_Grayscale8,
};
QT_END_NAMESPACE
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index d40a2b9456..b99a32df27 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -200,11 +200,8 @@ void QPainterPrivate::checkEmulation()
QPainterPrivate::~QPainterPrivate()
{
delete emulationEngine;
- for (int i=0; i<states.size(); ++i)
- delete states.at(i);
-
- if (dummyState)
- delete dummyState;
+ qDeleteAll(states);
+ delete dummyState;
}
@@ -456,7 +453,7 @@ void QPainterPrivate::draw_helper(const QPainterPath &originalPath, DrawOperatio
p.drawPath(originalPath);
#ifndef QT_NO_DEBUG
- static bool do_fallback_overlay = qgetenv("QT_PAINT_FALLBACK_OVERLAY").size() > 0;
+ static bool do_fallback_overlay = !qEnvironmentVariableIsEmpty("QT_PAINT_FALLBACK_OVERLAY");
if (do_fallback_overlay) {
QImage block(8, 8, QImage::Format_ARGB32_Premultiplied);
QPainter pt(&block);
@@ -3432,8 +3429,7 @@ void QPainter::drawPath(const QPainterPath &path)
\fn void QPainter::drawLine(int x1, int y1, int x2, int y2)
\overload
- Draws a line from (\a x1, \a y1) to (\a x2, \a y2) and sets the
- current pen position to (\a x2, \a y2).
+ Draws a line from (\a x1, \a y1) to (\a x2, \a y2).
*/
/*!
@@ -7027,7 +7023,7 @@ void QPainter::setRenderHint(RenderHint hint, bool on)
#endif
#ifndef QT_NO_DEBUG
- static const bool antialiasingDisabled = qgetenv("QT_NO_ANTIALIASING").toInt();
+ static const bool antialiasingDisabled = qEnvironmentVariableIntValue("QT_NO_ANTIALIASING");
if (hint == QPainter::Antialiasing && antialiasingDisabled)
return;
#endif
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp
index 46d016de6b..8cf45863b8 100644
--- a/src/gui/painting/qpdf.cpp
+++ b/src/gui/painting/qpdf.cpp
@@ -2319,6 +2319,14 @@ int QPdfEnginePrivate::addBrushPattern(const QTransform &m, bool *specifyColor,
return patternObj;
}
+static inline bool is_monochrome(const QVector<QRgb> &colorTable)
+{
+ return colorTable.size() == 2
+ && colorTable.at(0) == QColor(Qt::black).rgba()
+ && colorTable.at(1) == QColor(Qt::white).rgba()
+ ;
+}
+
/*!
* Adds an image to the pdf and return the pdf-object id. Returns -1 if adding the image failed.
*/
@@ -2333,10 +2341,7 @@ int QPdfEnginePrivate::addImage(const QImage &img, bool *bitmap, qint64 serial_n
QImage image = img;
QImage::Format format = image.format();
- if (image.depth() == 1 && *bitmap && img.colorTable().size() == 2
- && img.colorTable().at(0) == QColor(Qt::black).rgba()
- && img.colorTable().at(1) == QColor(Qt::white).rgba())
- {
+ if (image.depth() == 1 && *bitmap && is_monochrome(img.colorTable())) {
if (format == QImage::Format_MonoLSB)
image = image.convertToFormat(QImage::Format_Mono);
format = QImage::Format_Mono;
diff --git a/src/gui/painting/qrgb.h b/src/gui/painting/qrgb.h
index 6b0516e557..e6bda490ff 100644
--- a/src/gui/painting/qrgb.h
+++ b/src/gui/painting/qrgb.h
@@ -72,9 +72,11 @@ inline Q_DECL_CONSTEXPR int qGray(QRgb rgb) // convert RGB to gra
inline Q_DECL_CONSTEXPR bool qIsGray(QRgb rgb)
{ return qRed(rgb) == qGreen(rgb) && qRed(rgb) == qBlue(rgb); }
+template <int ProcessorWordSize>
+inline QRgb qPremultiply_impl(QRgb x);
-#if Q_PROCESSOR_WORDSIZE == 8 // 64-bit version
-inline QRgb qPremultiply(QRgb x)
+template <> // 64-bit version
+inline QRgb qPremultiply_impl<8>(QRgb x)
{
const uint a = qAlpha(x);
quint64 t = (((quint64(x)) | ((quint64(x)) << 24)) & 0x00ff00ff00ff00ff) * a;
@@ -82,8 +84,9 @@ inline QRgb qPremultiply(QRgb x)
t &= 0x000000ff00ff00ff;
return (uint(t)) | (uint(t >> 24)) | (a << 24);
}
-#else // 32-bit version
-inline QRgb qPremultiply(QRgb x)
+
+template <> // 32-bit version
+inline QRgb qPremultiply_impl<4>(QRgb x)
{
const uint a = qAlpha(x);
uint t = (x & 0xff00ff) * a;
@@ -96,7 +99,8 @@ inline QRgb qPremultiply(QRgb x)
x |= t | (a << 24);
return x;
}
-#endif
+
+inline QRgb qPremultiply(QRgb x) { return qPremultiply_impl<Q_PROCESSOR_WORDSIZE>(x); }
Q_GUI_EXPORT extern const uint qt_inv_premul_factor[];
diff --git a/src/gui/painting/qtextureglyphcache.cpp b/src/gui/painting/qtextureglyphcache.cpp
index e12d61bbf4..79ebf12fec 100644
--- a/src/gui/painting/qtextureglyphcache.cpp
+++ b/src/gui/painting/qtextureglyphcache.cpp
@@ -285,13 +285,7 @@ void QImageTextureGlyphCache::createTextureData(int width, int height)
m_image = QImage(width, height, QImage::Format_Mono);
break;
case QFontEngine::Format_A8: {
- m_image = QImage(width, height, QImage::Format_Indexed8);
- m_image.fill(0);
- QVector<QRgb> colors(256);
- QRgb *it = colors.data();
- for (int i=0; i<256; ++i, ++it)
- *it = 0xff000000 | i | (i<<8) | (i<<16);
- m_image.setColorTable(colors);
+ m_image = QImage(width, height, QImage::Format_Alpha8);
break; }
case QFontEngine::Format_A32:
m_image = QImage(width, height, QImage::Format_RGB32);
diff --git a/src/gui/text/qdistancefield.cpp b/src/gui/text/qdistancefield.cpp
index b2d0298e04..10fe1a2c84 100644
--- a/src/gui/text/qdistancefield.cpp
+++ b/src/gui/text/qdistancefield.cpp
@@ -34,6 +34,7 @@
#include "qdistancefield_p.h"
#include <qmath.h>
#include <private/qdatabuffer_p.h>
+#include <private/qimage_p.h>
#include <private/qpathsimplifier_p.h>
QT_BEGIN_NAMESPACE
@@ -987,12 +988,12 @@ QImage QDistanceField::toImage(QImage::Format format) const
if (isNull())
return QImage();
- QImage image(d->width, d->height, format == QImage::Format_Indexed8 ?
+ QImage image(d->width, d->height, qt_depthForFormat(format) == 8 ?
format : QImage::Format_ARGB32_Premultiplied);
if (image.isNull())
return image;
- if (format == QImage::Format_Indexed8) {
+ if (image.depth() == 8) {
for (int y = 0; y < d->height; ++y)
memcpy(image.scanLine(y), scanLine(y), d->width);
} else {
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp
index 99814dba82..8134e3012b 100644
--- a/src/gui/text/qfontdatabase.cpp
+++ b/src/gui/text/qfontdatabase.cpp
@@ -84,20 +84,22 @@ static int getFontWeight(const QString &weightString)
{
QString s = weightString.toLower();
- // Test in decreasing order of commonness
- if (s == QLatin1String("normal")
- || s.compare(QCoreApplication::translate("QFontDatabase", "Normal"), Qt::CaseInsensitive) == 0)
+ // Order here is important. We want to match the common cases first, but we
+ // must also take care to acknowledge the cost of our tests.
+ //
+ // As a result, we test in two orders; the order of commonness, and the
+ // order of "expense".
+ //
+ // A simple string test is the cheapest, so let's do that first.
+ if (s == QLatin1String("normal"))
return QFont::Normal;
if (s == QLatin1String("medium"))
return qt_mediumFontWeight;
- if (s == QLatin1String("bold")
- || s.compare(QCoreApplication::translate("QFontDatabase", "Bold"), Qt::CaseInsensitive) == 0)
+ if (s == QLatin1String("bold"))
return QFont::Bold;
- if (s == QLatin1String("demibold") || s == QLatin1String("demi bold")
- || s.compare(QCoreApplication::translate("QFontDatabase", "Demi Bold"), Qt::CaseInsensitive) == 0)
+ if (s == QLatin1String("demibold") || s == QLatin1String("demi bold"))
return QFont::DemiBold;
- if (s == QLatin1String("black")
- || s.compare(QCoreApplication::translate("QFontDatabase", "Black"), Qt::CaseInsensitive) == 0)
+ if (s == QLatin1String("black"))
return QFont::Black;
if (s == QLatin1String("light"))
return QFont::Light;
@@ -106,23 +108,48 @@ static int getFontWeight(const QString &weightString)
if (s == QLatin1String("extralight"))
return qt_extralightFontWeight;
- if (s.contains(QLatin1String("bold"))
- || s.contains(QCoreApplication::translate("QFontDatabase", "Bold"), Qt::CaseInsensitive)) {
- if (s.contains(QLatin1String("demi"))
- || s.compare(QCoreApplication::translate("QFontDatabase", "Demi"), Qt::CaseInsensitive) == 0)
- return (int) QFont::DemiBold;
- return (int) QFont::Bold;
+ // Next up, let's see if contains() matches: slightly more expensive, but
+ // still fast enough.
+ if (s.contains(QLatin1String("bold"))) {
+ if (s.contains(QLatin1String("demi")))
+ return QFont::DemiBold;
+ return QFont::Bold;
}
+ if (s.contains(QLatin1String("light")))
+ return QFont::Light;
+ if (s.contains(QLatin1String("black")))
+ return QFont::Black;
- if (s.contains(QLatin1String("light"))
- || s.compare(QCoreApplication::translate("QFontDatabase", "Light"), Qt::CaseInsensitive) == 0)
- return (int) QFont::Light;
+ // Now, we perform string translations & comparisons with those.
+ // These are (very) slow compared to simple string ops, so we do these last.
+ // As using translated values for such things is not very common, this should
+ // not be too bad.
+ QString translatedNormal = QCoreApplication::translate("QFontDatabase", "Normal").toLower();
+ if (s == translatedNormal)
+ return QFont::Normal;
+ QString translatedBold = QCoreApplication::translate("QFontDatabase", "Bold").toLower();
+ if (s == translatedBold)
+ return QFont::Bold;
+ QString translatedDemiBold = QCoreApplication::translate("QFontDatabase", "Demi Bold").toLower();
+ if (s == translatedDemiBold)
+ return QFont::DemiBold;
+ QString translatedBlack = QCoreApplication::translate("QFontDatabase", "Black").toLower();
+ if (s == translatedBlack)
+ return QFont::Black;
- if (s.contains(QLatin1String("black"))
- || s.compare(QCoreApplication::translate("QFontDatabase", "Black"), Qt::CaseInsensitive) == 0)
- return (int) QFont::Black;
+ // And now the contains() checks for the translated strings.
+ if (s.contains(translatedBold)) {
+ QString translatedDemi = QCoreApplication::translate("QFontDatabase", "Demi").toLower();
+ if (s == translatedDemi)
+ return QFont::DemiBold;
+ return QFont::Bold;
+ }
+
+ QString translatedLight = QCoreApplication::translate("QFontDatabase", "Light").toLower();
+ if (s == translatedLight || s.contains(translatedLight))
+ return QFont::Light;
- return (int) QFont::Normal;
+ return QFont::Normal;
}
// convert 0 ~ 1000 integer to QFont::Weight
@@ -1117,7 +1144,10 @@ static int match(int script, const QFontDef &request,
load(family_name, script);
- const size_t writingSystem = std::find(scriptForWritingSystem, scriptForWritingSystem + QFontDatabase::WritingSystemsCount, script) - scriptForWritingSystem;
+ size_t writingSystem = std::find(scriptForWritingSystem, scriptForWritingSystem +
+ QFontDatabase::WritingSystemsCount, script) - scriptForWritingSystem;
+ if (writingSystem >= QFontDatabase::WritingSystemsCount)
+ writingSystem = QFontDatabase::Any;
QFontDatabasePrivate *db = privateDb();
for (int x = 0; x < db->count; ++x) {
@@ -1562,6 +1592,15 @@ bool QFontDatabase::isSmoothlyScalable(const QString &family, const QString &sty
QtFontStyle::Key styleKey(style);
QtFontFamily *f = d->family(familyName);
+ if (!f) {
+ for (int i = 0; i < d->count; i++) {
+ if (d->families[i]->matchesFamilyName(familyName)) {
+ f = d->families[i];
+ f->ensurePopulated();
+ break;
+ }
+ }
+ }
if (!f) return smoothScalable;
for (int j = 0; j < f->count; j++) {
diff --git a/src/gui/text/qfontdatabase.h b/src/gui/text/qfontdatabase.h
index d7d8745f12..5688ce6b7a 100644
--- a/src/gui/text/qfontdatabase.h
+++ b/src/gui/text/qfontdatabase.h
@@ -159,7 +159,7 @@ private:
friend class QFontPrivate;
friend class QFontDialog;
friend class QFontDialogPrivate;
- friend class QFontEngineMultiBasicImpl;
+ friend class QFontEngineMulti;
QFontDatabasePrivate *d;
};
diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp
index b2a7a8e91f..af37c05e41 100644
--- a/src/gui/text/qfontengine.cpp
+++ b/src/gui/text/qfontengine.cpp
@@ -761,7 +761,7 @@ QImage QFontEngine::alphaMapForGlyph(glyph_t glyph, const QTransform &t)
{
QImage i = alphaMapForGlyph(glyph);
if (t.type() > QTransform::TxTranslate)
- i = i.transformed(t).convertToFormat(QImage::Format_Indexed8);
+ i = i.transformed(t).convertToFormat(QImage::Format_Alpha8);
Q_ASSERT(i.depth() <= 8); // To verify that transformed didn't change the format...
return i;
@@ -774,7 +774,7 @@ QImage QFontEngine::alphaMapForGlyph(glyph_t glyph, QFixed subPixelPosition, con
QImage i = alphaMapForGlyph(glyph, subPixelPosition);
if (t.type() > QTransform::TxTranslate)
- i = i.transformed(t).convertToFormat(QImage::Format_Indexed8);
+ i = i.transformed(t).convertToFormat(QImage::Format_Alpha8);
Q_ASSERT(i.depth() <= 8); // To verify that transformed didn't change the format...
return i;
@@ -785,12 +785,11 @@ QImage QFontEngine::alphaRGBMapForGlyph(glyph_t glyph, QFixed /*subPixelPosition
QImage alphaMask = alphaMapForGlyph(glyph, t);
QImage rgbMask(alphaMask.width(), alphaMask.height(), QImage::Format_RGB32);
- QVector<QRgb> colorTable = alphaMask.colorTable();
for (int y=0; y<alphaMask.height(); ++y) {
uint *dst = (uint *) rgbMask.scanLine(y);
uchar *src = (uchar *) alphaMask.scanLine(y);
for (int x=0; x<alphaMask.width(); ++x) {
- int val = qAlpha(colorTable.at(src[x]));
+ int val = src[x];
dst[x] = qRgb(val, val, val);
}
}
@@ -871,20 +870,16 @@ QImage QFontEngine::alphaMapForGlyph(glyph_t glyph)
p.drawPath(path);
p.end();
- QImage indexed(im.width(), im.height(), QImage::Format_Indexed8);
- QVector<QRgb> colors(256);
- for (int i=0; i<256; ++i)
- colors[i] = qRgba(0, 0, 0, i);
- indexed.setColorTable(colors);
+ QImage alphaMap(im.width(), im.height(), QImage::Format_Alpha8);
for (int y=0; y<im.height(); ++y) {
- uchar *dst = (uchar *) indexed.scanLine(y);
+ uchar *dst = (uchar *) alphaMap.scanLine(y);
uint *src = (uint *) im.scanLine(y);
for (int x=0; x<im.width(); ++x)
dst[x] = qAlpha(src[x]);
}
- return indexed;
+ return alphaMap;
}
void QFontEngine::removeGlyphFromCache(glyph_t)
@@ -1535,14 +1530,10 @@ bool QFontEngineBox::canRender(const QChar *, int) const
QImage QFontEngineBox::alphaMapForGlyph(glyph_t)
{
- QImage image(_size, _size, QImage::Format_Indexed8);
- QVector<QRgb> colors(256);
- for (int i=0; i<256; ++i)
- colors[i] = qRgba(0, 0, 0, i);
- image.setColorTable(colors);
+ QImage image(_size, _size, QImage::Format_Alpha8);
image.fill(0);
- // can't use qpainter for index8; so use setPixel to draw our rectangle.
+ // FIXME: use qpainter
for (int i=2; i <= _size-3; ++i) {
image.setPixel(i, 2, 255);
image.setPixel(i, _size-3, 255);
@@ -1563,34 +1554,103 @@ static inline uchar highByte(glyph_t glyph)
static inline glyph_t stripped(glyph_t glyph)
{ return glyph & 0x00ffffff; }
-QFontEngineMulti::QFontEngineMulti(int engineCount)
- : QFontEngine(Multi)
+QFontEngineMulti::QFontEngineMulti(QFontEngine *engine, int script, const QStringList &fallbackFamilies)
+ : QFontEngine(Multi),
+ m_fallbackFamilies(fallbackFamilies),
+ m_script(script),
+ m_fallbackFamiliesQueried(!m_fallbackFamilies.isEmpty())
{
- engines.fill(0, engineCount);
- cache_cost = 0;
+ Q_ASSERT(engine && engine->type() != QFontEngine::Multi);
+
+ if (m_fallbackFamilies.isEmpty()) {
+ // defer obtaining the fallback families until loadEngine(1)
+ m_fallbackFamilies << QString();
+ }
+
+ m_engines.fill(0, m_fallbackFamilies.size() + 1);
+
+ engine->ref.ref();
+ m_engines[0] = engine;
+
+ fontDef = engine->fontDef;
+ cache_cost = engine->cache_cost;
}
QFontEngineMulti::~QFontEngineMulti()
{
- for (int i = 0; i < engines.size(); ++i) {
- QFontEngine *fontEngine = engines.at(i);
+ for (int i = 0; i < m_engines.size(); ++i) {
+ QFontEngine *fontEngine = m_engines.at(i);
if (fontEngine && !fontEngine->ref.deref())
delete fontEngine;
}
}
+void QFontEngineMulti::ensureFallbackFamiliesQueried()
+{
+ if (QPlatformIntegration *integration = QGuiApplicationPrivate::platformIntegration()) {
+ const QStringList fallbackFamilies = integration->fontDatabase()->fallbacksForFamily(fontDef.family,
+ QFont::Style(fontDef.style),
+ QFont::AnyStyle,
+ QChar::Script(m_script));
+ setFallbackFamiliesList(fallbackFamilies);
+ }
+}
+
+void QFontEngineMulti::setFallbackFamiliesList(const QStringList &fallbackFamilies)
+{
+ Q_ASSERT(!m_fallbackFamiliesQueried);
+
+ m_fallbackFamilies = fallbackFamilies;
+
+ m_engines.resize(m_fallbackFamilies.size() + 1);
+
+ if (m_fallbackFamilies.isEmpty()) {
+ // turns out we lied about having any fallback at all
+ QFontEngine *engine = m_engines.at(0);
+ engine->ref.ref();
+ m_engines[1] = engine;
+ m_fallbackFamilies << fontDef.family;
+ }
+
+ m_fallbackFamiliesQueried = true;
+}
+
+void QFontEngineMulti::ensureEngineAt(int at)
+{
+ Q_ASSERT(m_fallbackFamiliesQueried);
+ Q_ASSERT(at < m_engines.size());
+ if (!m_engines.at(at)) {
+ QFontEngine *engine = loadEngine(at);
+ if (!engine)
+ engine = new QFontEngineBox(fontDef.pixelSize);
+ Q_ASSERT(engine && engine->type() != QFontEngine::Multi);
+ engine->ref.ref();
+ m_engines[at] = engine;
+ }
+}
+
+QFontEngine *QFontEngineMulti::loadEngine(int at)
+{
+ QFontDef request(fontDef);
+ request.styleStrategy |= QFont::NoFontMerging;
+ request.family = fallbackFamilyAt(at - 1);
+
+ return QFontDatabase::findFont(m_script, /*fontprivate = */0, request, /*multi = */false);
+}
+
glyph_t QFontEngineMulti::glyphIndex(uint ucs4) const
{
glyph_t glyph = engine(0)->glyphIndex(ucs4);
if (glyph == 0 && ucs4 != QChar::LineSeparator) {
- const_cast<QFontEngineMulti *>(this)->ensureFallbackFamiliesQueried();
- for (int x = 1, n = qMin(engines.size(), 256); x < n; ++x) {
- QFontEngine *engine = engines.at(x);
+ if (!m_fallbackFamiliesQueried)
+ const_cast<QFontEngineMulti *>(this)->ensureFallbackFamiliesQueried();
+ for (int x = 1, n = qMin(m_engines.size(), 256); x < n; ++x) {
+ QFontEngine *engine = m_engines.at(x);
if (!engine) {
if (!shouldLoadFontEngineForCharacter(x, ucs4))
continue;
- const_cast<QFontEngineMulti *>(this)->loadEngine(x);
- engine = engines.at(x);
+ const_cast<QFontEngineMulti *>(this)->ensureEngineAt(x);
+ engine = m_engines.at(x);
}
Q_ASSERT(engine != 0);
if (engine->type() == Box)
@@ -1615,20 +1675,22 @@ bool QFontEngineMulti::stringToCMap(const QChar *str, int len,
if (!engine(0)->stringToCMap(str, len, glyphs, nglyphs, flags))
return false;
- const_cast<QFontEngineMulti *>(this)->ensureFallbackFamiliesQueried();
int glyph_pos = 0;
QStringIterator it(str, str + len);
while (it.hasNext()) {
const uint ucs4 = it.peekNext();
if (glyphs->glyphs[glyph_pos] == 0 && ucs4 != QChar::LineSeparator) {
- for (int x = 1, n = qMin(engines.size(), 256); x < n; ++x) {
- if (engines.at(x) == 0 && !shouldLoadFontEngineForCharacter(x, ucs4))
- continue;
-
- QFontEngine *engine = engines.at(x);
+ if (!m_fallbackFamiliesQueried)
+ const_cast<QFontEngineMulti *>(this)->ensureFallbackFamiliesQueried();
+ for (int x = 1, n = qMin(m_engines.size(), 256); x < n; ++x) {
+ QFontEngine *engine = m_engines.at(x);
if (!engine) {
- const_cast<QFontEngineMulti *>(this)->loadEngine(x);
- engine = engines.at(x);
+ if (!shouldLoadFontEngineForCharacter(x, ucs4))
+ continue;
+ const_cast<QFontEngineMulti *>(this)->ensureEngineAt(x);
+ engine = m_engines.at(x);
+ if (!engine)
+ continue;
}
Q_ASSERT(engine != 0);
if (engine->type() == Box)
@@ -1883,7 +1945,6 @@ void QFontEngineMulti::doKerning(QGlyphLayout *glyphs, QFontEngine::ShaperFlags
glyph_metrics_t QFontEngineMulti::boundingBox(glyph_t glyph)
{
const int which = highByte(glyph);
- Q_ASSERT(which < engines.size());
return engine(which)->boundingBox(stripped(glyph));
}
@@ -1962,111 +2023,34 @@ bool QFontEngineMulti::canRender(const QChar *string, int len) const
QImage QFontEngineMulti::alphaMapForGlyph(glyph_t glyph)
{
const int which = highByte(glyph);
- Q_ASSERT(which < engines.size());
return engine(which)->alphaMapForGlyph(stripped(glyph));
}
QImage QFontEngineMulti::alphaMapForGlyph(glyph_t glyph, QFixed subPixelPosition)
{
const int which = highByte(glyph);
- Q_ASSERT(which < engines.size());
return engine(which)->alphaMapForGlyph(stripped(glyph), subPixelPosition);
}
QImage QFontEngineMulti::alphaMapForGlyph(glyph_t glyph, const QTransform &t)
{
const int which = highByte(glyph);
- Q_ASSERT(which < engines.size());
return engine(which)->alphaMapForGlyph(stripped(glyph), t);
}
QImage QFontEngineMulti::alphaMapForGlyph(glyph_t glyph, QFixed subPixelPosition, const QTransform &t)
{
const int which = highByte(glyph);
- Q_ASSERT(which < engines.size());
return engine(which)->alphaMapForGlyph(stripped(glyph), subPixelPosition, t);
}
QImage QFontEngineMulti::alphaRGBMapForGlyph(glyph_t glyph, QFixed subPixelPosition, const QTransform &t)
{
const int which = highByte(glyph);
- Q_ASSERT(which < engines.size());
return engine(which)->alphaRGBMapForGlyph(stripped(glyph), subPixelPosition, t);
}
/*
- Creates a new multi engine.
-
- This function takes ownership of the QFontEngine, increasing it's refcount.
-*/
-QFontEngineMultiBasicImpl::QFontEngineMultiBasicImpl(QFontEngine *fe, int _script, const QStringList &fallbacks)
- : QFontEngineMulti(fallbacks.size() + 1),
- fallbackFamilies(fallbacks), script(_script)
- , fallbacksQueried(true)
-{
- init(fe);
-}
-
-QFontEngineMultiBasicImpl::QFontEngineMultiBasicImpl(QFontEngine *fe, int _script)
- : QFontEngineMulti(2)
- , script(_script)
- , fallbacksQueried(false)
-{
- fallbackFamilies << QString();
- init(fe);
-}
-
-void QFontEngineMultiBasicImpl::init(QFontEngine *fe)
-{
- Q_ASSERT(fe && fe->type() != QFontEngine::Multi);
- engines[0] = fe;
- fe->ref.ref();
- fontDef = engines[0]->fontDef;
- cache_cost = fe->cache_cost;
-}
-
-void QFontEngineMultiBasicImpl::loadEngine(int at)
-{
- ensureFallbackFamiliesQueried();
- Q_ASSERT(at < engines.size());
- Q_ASSERT(engines.at(at) == 0);
- QFontDef request = fontDef;
- request.styleStrategy |= QFont::NoFontMerging;
- request.family = fallbackFamilies.at(at-1);
- engines[at] = QFontDatabase::findFont(script,
- /*fontprivate = */0,
- request, /*multi = */false);
- Q_ASSERT(engines[at]);
- engines[at]->ref.ref();
- engines[at]->fontDef = request;
-}
-void QFontEngineMultiBasicImpl::ensureFallbackFamiliesQueried()
-{
- if (fallbacksQueried)
- return;
- QStringList fallbacks = QGuiApplicationPrivate::instance()->platformIntegration()->fontDatabase()->fallbacksForFamily(engine(0)->fontDef.family, QFont::Style(engine(0)->fontDef.style)
- , QFont::AnyStyle, QChar::Script(script));
- setFallbackFamiliesList(fallbacks);
-}
-
-void QFontEngineMultiBasicImpl::setFallbackFamiliesList(const QStringList &fallbacks)
-{
- // Original FontEngine to restore after the fill.
- QFontEngine *fe = engines[0];
- fallbackFamilies = fallbacks;
- if (!fallbackFamilies.isEmpty()) {
- engines.fill(0, fallbackFamilies.size() + 1);
- engines[0] = fe;
- } else {
- // Turns out we lied about having any fallback at all.
- fallbackFamilies << fe->fontDef.family;
- engines[1] = fe;
- fe->ref.ref();
- }
- fallbacksQueried = true;
-}
-
-/*
This is used indirectly by Qt WebKit when using QTextLayout::setRawFont
The purpose of this is to provide the necessary font fallbacks when drawing complex
@@ -2074,7 +2058,7 @@ void QFontEngineMultiBasicImpl::setFallbackFamiliesList(const QStringList &fallb
the same raw font over and over again, we want to cache the corresponding multi font engine
as it may contain fallback font engines already.
*/
-QFontEngine* QFontEngineMultiBasicImpl::createMultiFontEngine(QFontEngine *fe, int script)
+QFontEngine *QFontEngineMulti::createMultiFontEngine(QFontEngine *fe, int script)
{
QFontEngine *engine = 0;
QFontCache::Key key(fe->fontDef, script, /*multi = */true);
diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp
index 8191629003..ef397e532c 100644
--- a/src/gui/text/qfontengine_ft.cpp
+++ b/src/gui/text/qfontengine_ft.cpp
@@ -1797,7 +1797,7 @@ QImage *QFontEngineFT::lockedAlphaMapForGlyph(glyph_t glyphIndex, QFixed subPixe
format = QImage::Format_Mono;
break;
case Format_A8:
- format = QImage::Format_Indexed8;
+ format = QImage::Format_Alpha8;
break;
case Format_A32:
format = QImage::Format_ARGB32;
@@ -1940,13 +1940,8 @@ QImage QFontEngineFT::alphaMapForGlyph(glyph_t g, QFixed subPixelPosition, const
const int pitch = antialias ? (glyph->width + 3) & ~3 : ((glyph->width + 31)/32) * 4;
- QImage img(glyph->width, glyph->height, antialias ? QImage::Format_Indexed8 : QImage::Format_Mono);
- if (antialias) {
- QVector<QRgb> colors(256);
- for (int i=0; i<256; ++i)
- colors[i] = qRgba(0, 0, 0, i);
- img.setColorTable(colors);
- } else {
+ QImage img(glyph->width, glyph->height, antialias ? QImage::Format_Alpha8 : QImage::Format_Mono);
+ if (!antialias) {
QVector<QRgb> colors(2);
colors[0] = qRgba(0, 0, 0, 0);
colors[1] = qRgba(0, 0, 0, 255);
diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h
index 9364b82bed..5ed53a4338 100644
--- a/src/gui/text/qfontengine_p.h
+++ b/src/gui/text/qfontengine_p.h
@@ -385,7 +385,7 @@ private:
class Q_GUI_EXPORT QFontEngineMulti : public QFontEngine
{
public:
- explicit QFontEngineMulti(int engineCount);
+ explicit QFontEngineMulti(QFontEngine *engine, int script, const QStringList &fallbackFamilies = QStringList());
~QFontEngineMulti();
virtual glyph_t glyphIndex(uint ucs4) const;
@@ -418,46 +418,28 @@ public:
virtual bool canRender(const QChar *string, int len) const;
- QFontEngine *engine(int at) const
- {Q_ASSERT(at < engines.size()); return engines.at(at); }
+ inline int fallbackFamilyCount() const { return m_fallbackFamilies.size(); }
+ inline QString fallbackFamilyAt(int at) const { return m_fallbackFamilies.at(at); }
- inline void ensureEngineAt(int at)
- {
- if (at >= engines.size() || engines.at(at) == 0)
- loadEngine(at);
- }
-
- virtual bool shouldLoadFontEngineForCharacter(int at, uint ucs4) const;
- virtual void setFallbackFamiliesList(const QStringList &) {}
-
-protected:
- friend class QRawFont;
- virtual void loadEngine(int at) = 0;
- virtual void ensureFallbackFamiliesQueried() {}
- QVector<QFontEngine *> engines;
-};
+ void setFallbackFamiliesList(const QStringList &fallbackFamilies);
-class Q_GUI_EXPORT QFontEngineMultiBasicImpl : public QFontEngineMulti
-{
-public:
- QFontEngineMultiBasicImpl(QFontEngine *fe, int script, const QStringList &fallbacks);
- QFontEngineMultiBasicImpl(QFontEngine *fe, int script);
+ inline QFontEngine *engine(int at) const
+ { Q_ASSERT(at < m_engines.size()); return m_engines.at(at); }
- void loadEngine(int at);
- static QFontEngine* createMultiFontEngine(QFontEngine *fe, int script);
+ void ensureEngineAt(int at);
- int fallbackFamilyCount() const { return fallbackFamilies.size(); }
- QString fallbackFamilyAt(int at) const { return fallbackFamilies.at(at); }
+ static QFontEngine *createMultiFontEngine(QFontEngine *fe, int script);
+protected:
virtual void ensureFallbackFamiliesQueried();
- virtual void setFallbackFamiliesList(const QStringList &fallbacks);
+ virtual bool shouldLoadFontEngineForCharacter(int at, uint ucs4) const;
+ virtual QFontEngine *loadEngine(int at);
private:
- void init(QFontEngine *fe);
-
- mutable QStringList fallbackFamilies;
- int script;
- mutable bool fallbacksQueried;
+ QVector<QFontEngine *> m_engines;
+ QStringList m_fallbackFamilies;
+ const int m_script;
+ bool m_fallbackFamiliesQueried;
};
class QTestFontEngine : public QFontEngineBox
diff --git a/src/gui/text/qfontengine_qpf2.cpp b/src/gui/text/qfontengine_qpf2.cpp
index 4785902c99..8e924102e5 100644
--- a/src/gui/text/qfontengine_qpf2.cpp
+++ b/src/gui/text/qfontengine_qpf2.cpp
@@ -396,7 +396,7 @@ QImage QFontEngineQPF2::alphaMapForGlyph(glyph_t g)
const uchar *bits = ((const uchar *) glyph) + sizeof(Glyph);
- QImage image(bits,glyph->width, glyph->height, glyph->bytesPerLine, QImage::Format_Indexed8);
+ QImage image(bits,glyph->width, glyph->height, glyph->bytesPerLine, QImage::Format_Alpha8);
return image;
}
diff --git a/src/gui/text/qfragmentmap_p.h b/src/gui/text/qfragmentmap_p.h
index 012d3c25ce..a19e3d9ea3 100644
--- a/src/gui/text/qfragmentmap_p.h
+++ b/src/gui/text/qfragmentmap_p.h
@@ -249,6 +249,8 @@ uint QFragmentMapData<Fragment>::createFragment()
uint freePos = head->freelist;
if (freePos == head->allocated) {
// need to create some free space
+ if (freePos >= uint(MaxAllocSize) / fragmentSize)
+ qBadAlloc();
uint needed = qAllocMore((freePos+1)*fragmentSize, 0);
Q_ASSERT(needed/fragmentSize > head->allocated);
Fragment *newFragments = (Fragment *)realloc(fragments, needed);
diff --git a/src/gui/text/qplatformfontdatabase.cpp b/src/gui/text/qplatformfontdatabase.cpp
index f18ddbab8a..d10cc8fed0 100644
--- a/src/gui/text/qplatformfontdatabase.cpp
+++ b/src/gui/text/qplatformfontdatabase.cpp
@@ -314,7 +314,7 @@ void QPlatformFontDatabase::invalidate()
*/
QFontEngineMulti *QPlatformFontDatabase::fontEngineMulti(QFontEngine *fontEngine, QChar::Script script)
{
- return new QFontEngineMultiBasicImpl(fontEngine, script);
+ return new QFontEngineMulti(fontEngine, script);
}
/*!
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index ea2b794feb..3a11266e0a 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -40,6 +40,7 @@
#include "qtextlist.h"
#include <qdebug.h>
#include <qregexp.h>
+#include <qregularexpression.h>
#include <qvarlengtharray.h>
#include <qtextcodec.h>
#include <qthread.h>
@@ -1269,8 +1270,6 @@ QTextCursor QTextDocument::find(const QString &subString, int from, FindFlags op
}
/*!
- \fn QTextCursor QTextDocument::find(const QString &subString, const QTextCursor &cursor, FindFlags options) const
-
Finds the next occurrence of the string, \a subString, in the document.
The search starts at the position of the given \a cursor, and proceeds
forwards through the document unless specified otherwise in the search
@@ -1285,14 +1284,14 @@ QTextCursor QTextDocument::find(const QString &subString, int from, FindFlags op
By default the search is case-sensitive, and can match text anywhere in the
document.
*/
-QTextCursor QTextDocument::find(const QString &subString, const QTextCursor &from, FindFlags options) const
+QTextCursor QTextDocument::find(const QString &subString, const QTextCursor &cursor, FindFlags options) const
{
int pos = 0;
- if (!from.isNull()) {
+ if (!cursor.isNull()) {
if (options & QTextDocument::FindBackward)
- pos = from.selectionStart();
+ pos = cursor.selectionStart();
else
- pos = from.selectionEnd();
+ pos = cursor.selectionEnd();
}
QRegExp expr(subString);
expr.setPatternSyntax(QRegExp::FixedString);
@@ -1302,8 +1301,9 @@ QTextCursor QTextDocument::find(const QString &subString, const QTextCursor &fro
}
+#ifndef QT_NO_REGEXP
static bool findInBlock(const QTextBlock &block, const QRegExp &expression, int offset,
- QTextDocument::FindFlags options, QTextCursor &cursor)
+ QTextDocument::FindFlags options, QTextCursor *cursor)
{
QRegExp expr(expression);
QString text = block.text();
@@ -1332,18 +1332,16 @@ static bool findInBlock(const QTextBlock &block, const QRegExp &expression, int
}
if (idx == -1)
return false;
- cursor = QTextCursor(block.docHandle(), block.position() + idx);
- cursor.setPosition(cursor.position() + expr.matchedLength(), QTextCursor::KeepAnchor);
+ *cursor = QTextCursor(block.docHandle(), block.position() + idx);
+ cursor->setPosition(cursor->position() + expr.matchedLength(), QTextCursor::KeepAnchor);
return true;
}
/*!
- \fn QTextCursor QTextDocument::find(const QRegExp & expr, int position, FindFlags options) const
-
\overload
Finds the next occurrence, matching the regular expression, \a expr, in the document.
- The search starts at the given \a position, and proceeds forwards
+ The search starts at the given \a from position, and proceeds forwards
through the document unless specified otherwise in the search options.
The \a options control the type of search performed. The FindCaseSensitively
option is ignored for this overload, use QRegExp::caseSensitivity instead.
@@ -1351,7 +1349,7 @@ static bool findInBlock(const QTextBlock &block, const QRegExp &expression, int
Returns a cursor with the match selected if a match was found; otherwise
returns a null cursor.
- If the \a position is 0 (the default) the search begins from the beginning
+ If the \a from position is 0 (the default) the search begins from the beginning
of the document; otherwise it begins at the specified position.
*/
QTextCursor QTextDocument::find(const QRegExp & expr, int from, FindFlags options) const
@@ -1376,7 +1374,7 @@ QTextCursor QTextDocument::find(const QRegExp & expr, int from, FindFlags option
if (!(options & FindBackward)) {
int blockOffset = qMax(0, pos - block.position());
while (block.isValid()) {
- if (findInBlock(block, expr, blockOffset, options, cursor))
+ if (findInBlock(block, expr, blockOffset, options, &cursor))
return cursor;
blockOffset = 0;
block = block.next();
@@ -1384,7 +1382,7 @@ QTextCursor QTextDocument::find(const QRegExp & expr, int from, FindFlags option
} else {
int blockOffset = pos - block.position();
while (block.isValid()) {
- if (findInBlock(block, expr, blockOffset, options, cursor))
+ if (findInBlock(block, expr, blockOffset, options, &cursor))
return cursor;
block = block.previous();
blockOffset = block.length() - 1;
@@ -1395,10 +1393,10 @@ QTextCursor QTextDocument::find(const QRegExp & expr, int from, FindFlags option
}
/*!
- \fn QTextCursor QTextDocument::find(const QRegExp &expr, const QTextCursor &cursor, FindFlags options) const
+ \overload
Finds the next occurrence, matching the regular expression, \a expr, in the document.
- The search starts at the position of the given \a cursor, and proceeds
+ The search starts at the position of the given \a from cursor, and proceeds
forwards through the document unless specified otherwise in the search
options. The \a options control the type of search performed. The FindCaseSensitively
option is ignored for this overload, use QRegExp::caseSensitivity instead.
@@ -1406,24 +1404,150 @@ QTextCursor QTextDocument::find(const QRegExp & expr, int from, FindFlags option
Returns a cursor with the match selected if a match was found; otherwise
returns a null cursor.
- If the given \a cursor has a selection, the search begins after the
+ If the given \a from cursor has a selection, the search begins after the
selection; otherwise it begins at the cursor's position.
By default the search is case-sensitive, and can match text anywhere in the
document.
*/
-QTextCursor QTextDocument::find(const QRegExp &expr, const QTextCursor &from, FindFlags options) const
+QTextCursor QTextDocument::find(const QRegExp &expr, const QTextCursor &cursor, FindFlags options) const
{
int pos = 0;
- if (!from.isNull()) {
+ if (!cursor.isNull()) {
if (options & QTextDocument::FindBackward)
- pos = from.selectionStart();
+ pos = cursor.selectionStart();
else
- pos = from.selectionEnd();
+ pos = cursor.selectionEnd();
}
return find(expr, pos, options);
}
+#endif // QT_REGEXP
+
+#ifndef QT_NO_REGULAREXPRESSION
+static bool findInBlock(const QTextBlock &block, const QRegularExpression &expression, int offset,
+ QTextDocument::FindFlags options, QTextCursor *cursor)
+{
+ QRegularExpression expr(expression);
+ if (!(options & QTextDocument::FindCaseSensitively))
+ expr.setPatternOptions(expr.patternOptions() | QRegularExpression::CaseInsensitiveOption);
+ else
+ expr.setPatternOptions(expr.patternOptions() & ~QRegularExpression::CaseInsensitiveOption);
+
+ QString text = block.text();
+ text.replace(QChar::Nbsp, QLatin1Char(' '));
+ QRegularExpressionMatch match;
+ int idx = -1;
+
+ while (offset >= 0 && offset <= text.length()) {
+ idx = (options & QTextDocument::FindBackward) ?
+ text.lastIndexOf(expr, offset, &match) : text.indexOf(expr, offset, &match);
+ if (idx == -1)
+ return false;
+
+ if (options & QTextDocument::FindWholeWords) {
+ const int start = idx;
+ const int end = start + match.capturedLength();
+ if ((start != 0 && text.at(start - 1).isLetterOrNumber())
+ || (end != text.length() && text.at(end).isLetterOrNumber())) {
+ //if this is not a whole word, continue the search in the string
+ offset = (options & QTextDocument::FindBackward) ? idx-1 : end+1;
+ idx = -1;
+ continue;
+ }
+ }
+ //we have a hit, return the cursor for that.
+ break;
+ }
+ if (idx == -1)
+ return false;
+ *cursor = qMove(QTextCursor(block.docHandle(), block.position() + idx));
+ cursor->setPosition(cursor->position() + match.capturedLength(), QTextCursor::KeepAnchor);
+ return true;
+}
+
+/*!
+ \since 5.5
+
+ Finds the next occurrence, matching the regular expression, \a expr, in the document.
+ The search starts at the given \a from position, and proceeds forwards
+ through the document unless specified otherwise in the search options.
+ The \a options control the type of search performed.
+
+ Returns a cursor with the match selected if a match was found; otherwise
+ returns a null cursor.
+
+ If the \a from position is 0 (the default) the search begins from the beginning
+ of the document; otherwise it begins at the specified position.
+*/
+QTextCursor QTextDocument::find(const QRegularExpression &expr, int from, FindFlags options) const
+{
+ Q_D(const QTextDocument);
+
+ if (!expr.isValid())
+ return QTextCursor();
+
+ int pos = from;
+ //the cursor is positioned between characters, so for a backward search
+ //do not include the character given in the position.
+ if (options & FindBackward) {
+ --pos ;
+ if (pos < 0)
+ return QTextCursor();
+ }
+
+ QTextCursor cursor;
+ QTextBlock block = d->blocksFind(pos);
+
+ if (!(options & FindBackward)) {
+ int blockOffset = qMax(0, pos - block.position());
+ while (block.isValid()) {
+ if (findInBlock(block, expr, blockOffset, options, &cursor))
+ return cursor;
+ blockOffset = 0;
+ block = block.next();
+ }
+ } else {
+ int blockOffset = pos - block.position();
+ while (block.isValid()) {
+ if (findInBlock(block, expr, blockOffset, options, &cursor))
+ return cursor;
+ block = block.previous();
+ blockOffset = block.length() - 1;
+ }
+ }
+
+ return QTextCursor();
+}
+
+/*!
+ \since 5.5
+
+ Finds the next occurrence, matching the regular expression, \a expr, in the document.
+ The search starts at the position of the given \a cursor, and proceeds
+ forwards through the document unless specified otherwise in the search
+ options. The \a options control the type of search performed.
+
+ Returns a cursor with the match selected if a match was found; otherwise
+ returns a null cursor.
+ If the given \a cursor has a selection, the search begins after the
+ selection; otherwise it begins at the cursor's position.
+
+ By default the search is case-sensitive, and can match text anywhere in the
+ document.
+*/
+QTextCursor QTextDocument::find(const QRegularExpression &expr, const QTextCursor &cursor, FindFlags options) const
+{
+ int pos = 0;
+ if (!cursor.isNull()) {
+ if (options & QTextDocument::FindBackward)
+ pos = cursor.selectionStart();
+ else
+ pos = cursor.selectionEnd();
+ }
+ return find(expr, pos, options);
+}
+#endif // QT_NO_REGULAREXPRESSION
/*!
\fn QTextObject *QTextDocument::createObject(const QTextFormat &format)
diff --git a/src/gui/text/qtextdocument.h b/src/gui/text/qtextdocument.h
index 2329a9e721..271c29b16b 100644
--- a/src/gui/text/qtextdocument.h
+++ b/src/gui/text/qtextdocument.h
@@ -160,10 +160,17 @@ public:
Q_DECLARE_FLAGS(FindFlags, FindFlag)
QTextCursor find(const QString &subString, int from = 0, FindFlags options = 0) const;
- QTextCursor find(const QString &subString, const QTextCursor &from, FindFlags options = 0) const;
+ QTextCursor find(const QString &subString, const QTextCursor &cursor, FindFlags options = 0) const;
+#ifndef QT_NO_REGEXP
QTextCursor find(const QRegExp &expr, int from = 0, FindFlags options = 0) const;
- QTextCursor find(const QRegExp &expr, const QTextCursor &from, FindFlags options = 0) const;
+ QTextCursor find(const QRegExp &expr, const QTextCursor &cursor, FindFlags options = 0) const;
+#endif
+
+#ifndef QT_NO_REGULAREXPRESSION
+ QTextCursor find(const QRegularExpression &expr, int from = 0, FindFlags options = 0) const;
+ QTextCursor find(const QRegularExpression &expr, const QTextCursor &cursor, FindFlags options = 0) const;
+#endif
QTextFrame *frameAt(int pos) const;
QTextFrame *rootFrame() const;
diff --git a/src/gui/text/qtextdocument_p.cpp b/src/gui/text/qtextdocument_p.cpp
index 8ff15106e3..d30ff78b8f 100644
--- a/src/gui/text/qtextdocument_p.cpp
+++ b/src/gui/text/qtextdocument_p.cpp
@@ -125,14 +125,12 @@ static bool isValidBlockSeparator(QChar ch)
|| ch == QTextEndOfFrame;
}
-#if !defined(QT_NO_DEBUG) || defined(QT_FORCE_ASSERTS)
static bool noBlockInString(const QString &str)
{
return !str.contains(QChar::ParagraphSeparator)
&& !str.contains(QTextBeginningOfFrame)
&& !str.contains(QTextEndOfFrame);
}
-#endif
bool QTextUndoCommand::tryMerge(const QTextUndoCommand &other)
{
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp
index d156124b98..ff84bc0cca 100644
--- a/src/gui/text/qtextengine.cpp
+++ b/src/gui/text/qtextengine.cpp
@@ -1950,7 +1950,7 @@ QFontEngine *QTextEngine::fontEngine(const QScriptItem &si, QFixed *ascent, QFix
if (feCache.prevFontEngine && feCache.prevFontEngine->type() == QFontEngine::Multi && feCache.prevScript == script) {
engine = feCache.prevFontEngine;
} else {
- engine = QFontEngineMultiBasicImpl::createMultiFontEngine(rawFont.d->fontEngine, script);
+ engine = QFontEngineMulti::createMultiFontEngine(rawFont.d->fontEngine, script);
feCache.prevFontEngine = engine;
feCache.prevScript = script;
engine->ref.ref();
@@ -1965,7 +1965,7 @@ QFontEngine *QTextEngine::fontEngine(const QScriptItem &si, QFixed *ascent, QFix
} else {
QFontEngine *scEngine = rawFont.d->fontEngine->cloneWithSize(smallCapsFraction * rawFont.pixelSize());
scEngine->ref.ref();
- scaledEngine = QFontEngineMultiBasicImpl::createMultiFontEngine(scEngine, script);
+ scaledEngine = QFontEngineMulti::createMultiFontEngine(scEngine, script);
scaledEngine->ref.ref();
feCache.prevScaledFontEngine = scaledEngine;
// If scEngine is not ref'ed by scaledEngine, make sure it is deallocated and not leaked.
diff --git a/src/gui/text/qtextformat.cpp b/src/gui/text/qtextformat.cpp
index cecfd85df1..1502758ee8 100644
--- a/src/gui/text/qtextformat.cpp
+++ b/src/gui/text/qtextformat.cpp
@@ -258,20 +258,6 @@ private:
friend QDataStream &operator>>(QDataStream &, QTextFormat &);
};
-// this is only safe because sizeof(int) == sizeof(float)
-static inline uint hash(float d)
-{
-#ifdef Q_CC_GNU
- // this is a GCC extension and isn't guaranteed to work in other compilers
- // the reinterpret_cast below generates a strict-aliasing warning with GCC
- union { float f; uint u; } cvt;
- cvt.f = d;
- return cvt.u;
-#else
- return reinterpret_cast<uint&>(d);
-#endif
-}
-
static inline uint hash(const QColor &color)
{
return (color.isValid()) ? color.rgba() : 0x234109;
@@ -279,7 +265,7 @@ static inline uint hash(const QColor &color)
static inline uint hash(const QPen &pen)
{
- return hash(pen.color()) + hash(pen.widthF());
+ return hash(pen.color()) + qHash(pen.widthF());
}
static inline uint hash(const QBrush &brush)
@@ -292,7 +278,7 @@ static inline uint variantHash(const QVariant &variant)
// simple and fast hash functions to differentiate between type and value
switch (variant.userType()) { // sorted by occurrence frequency
case QVariant::String: return qHash(variant.toString());
- case QVariant::Double: return hash(variant.toDouble());
+ case QVariant::Double: return qHash(variant.toDouble());
case QVariant::Int: return 0x811890 + variant.toInt();
case QVariant::Brush:
return 0x01010101 + hash(qvariant_cast<QBrush>(variant));
@@ -303,7 +289,7 @@ static inline uint variantHash(const QVariant &variant)
case QVariant::Color: return hash(qvariant_cast<QColor>(variant));
case QVariant::TextLength:
return 0x377 + hash(qvariant_cast<QTextLength>(variant).rawValue());
- case QMetaType::Float: return hash(variant.toFloat());
+ case QMetaType::Float: return qHash(variant.toFloat());
case QVariant::Invalid: return 0;
default: break;
}
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index 365ce55f2b..6caf118c59 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -385,11 +385,12 @@ void QHttpNetworkConnectionPrivate::copyCredentials(int fromChannel, QAuthentica
Q_ASSERT(auth);
// NTLM is a multi phase authentication. Copying credentials between authenticators would mess things up.
- if (!isProxy && channels[fromChannel].authMethod == QAuthenticatorPrivate::Ntlm)
- return;
- if (isProxy && channels[fromChannel].proxyAuthMethod == QAuthenticatorPrivate::Ntlm)
- return;
-
+ if (fromChannel >= 0) {
+ if (!isProxy && channels[fromChannel].authMethod == QAuthenticatorPrivate::Ntlm)
+ return;
+ if (isProxy && channels[fromChannel].proxyAuthMethod == QAuthenticatorPrivate::Ntlm)
+ return;
+ }
// select another channel
QAuthenticator* otherAuth = 0;
diff --git a/src/network/access/qhttpnetworkconnection_p.h b/src/network/access/qhttpnetworkconnection_p.h
index e34c15d729..a65f9018fe 100644
--- a/src/network/access/qhttpnetworkconnection_p.h
+++ b/src/network/access/qhttpnetworkconnection_p.h
@@ -79,6 +79,7 @@ QT_BEGIN_NAMESPACE
class QHttpNetworkRequest;
class QHttpNetworkReply;
+class QHttpThreadDelegate;
class QByteArray;
class QHostInfo;
@@ -148,6 +149,7 @@ public:
private:
Q_DECLARE_PRIVATE(QHttpNetworkConnection)
Q_DISABLE_COPY(QHttpNetworkConnection)
+ friend class QHttpThreadDelegate;
friend class QHttpNetworkReply;
friend class QHttpNetworkReplyPrivate;
friend class QHttpNetworkConnectionChannel;
diff --git a/src/network/access/qhttpthreaddelegate.cpp b/src/network/access/qhttpthreaddelegate.cpp
index 4e1d24280b..522f8d9891 100644
--- a/src/network/access/qhttpthreaddelegate.cpp
+++ b/src/network/access/qhttpthreaddelegate.cpp
@@ -328,6 +328,16 @@ void QHttpThreadDelegate::startRequest()
// cache the QHttpNetworkConnection corresponding to this cache key
connections.localData()->addEntry(cacheKey, httpConnection);
+ } else {
+ if (httpRequest.withCredentials()) {
+ QNetworkAuthenticationCredential credential = authenticationManager->fetchCachedCredentials(httpRequest.url(), 0);
+ if (!credential.user.isEmpty() && !credential.password.isEmpty()) {
+ QAuthenticator auth;
+ auth.setUser(credential.user);
+ auth.setPassword(credential.password);
+ httpConnection->d_func()->copyCredentials(-1, &auth, false);
+ }
+ }
}
diff --git a/src/network/access/qnetworkreply.cpp b/src/network/access/qnetworkreply.cpp
index 39762e2324..1ec3fe31ac 100644
--- a/src/network/access/qnetworkreply.cpp
+++ b/src/network/access/qnetworkreply.cpp
@@ -41,6 +41,7 @@ const int QNetworkReplyPrivate::progressSignalInterval = 100;
QNetworkReplyPrivate::QNetworkReplyPrivate()
: readBufferMaxSize(0),
+ emitAllUploadProgressSignals(false),
operation(QNetworkAccessManager::UnknownOperation),
errorCode(QNetworkReply::NoError)
, isFinished(false)
diff --git a/src/network/access/qnetworkreply_p.h b/src/network/access/qnetworkreply_p.h
index 6a68ecfea3..1d7d027954 100644
--- a/src/network/access/qnetworkreply_p.h
+++ b/src/network/access/qnetworkreply_p.h
@@ -74,6 +74,7 @@ public:
qint64 readBufferMaxSize;
QElapsedTimer downloadProgressSignalChoke;
QElapsedTimer uploadProgressSignalChoke;
+ bool emitAllUploadProgressSignals;
const static int progressSignalInterval;
QNetworkAccessManager::Operation operation;
QNetworkReply::NetworkError errorCode;
diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp
index 836b3c3fa4..968342c7bd 100644
--- a/src/network/access/qnetworkreplyhttpimpl.cpp
+++ b/src/network/access/qnetworkreplyhttpimpl.cpp
@@ -754,6 +754,9 @@ void QNetworkReplyHttpImplPrivate::postRequest()
QNetworkRequest::Automatic).toInt()) == QNetworkRequest::Manual)
httpRequest.setWithCredentials(false);
+ if (request.attribute(QNetworkRequest::EmitAllUploadProgressSignalsAttribute).toBool() == true)
+ emitAllUploadProgressSignals = true;
+
// Create the HTTP thread delegate
QHttpThreadDelegate *delegate = new QHttpThreadDelegate;
@@ -1863,14 +1866,16 @@ void QNetworkReplyHttpImplPrivate::emitReplyUploadProgress(qint64 bytesSent, qin
if (isFinished)
return;
- //choke signal emissions, except the first and last signals which are unconditional
- if (uploadProgressSignalChoke.isValid()) {
- if (bytesSent != bytesTotal && uploadProgressSignalChoke.elapsed() < progressSignalInterval) {
- return;
+ if (!emitAllUploadProgressSignals) {
+ //choke signal emissions, except the first and last signals which are unconditional
+ if (uploadProgressSignalChoke.isValid()) {
+ if (bytesSent != bytesTotal && uploadProgressSignalChoke.elapsed() < progressSignalInterval) {
+ return;
+ }
+ uploadProgressSignalChoke.restart();
+ } else {
+ uploadProgressSignalChoke.start();
}
- uploadProgressSignalChoke.restart();
- } else {
- uploadProgressSignalChoke.start();
}
emit q->uploadProgress(bytesSent, bytesTotal);
diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp
index 5af3bb37be..3c7a911974 100644
--- a/src/network/access/qnetworkreplyimpl.cpp
+++ b/src/network/access/qnetworkreplyimpl.cpp
@@ -59,6 +59,8 @@ inline QNetworkReplyImplPrivate::QNetworkReplyImplPrivate()
, downloadBufferMaximumSize(0)
, downloadBuffer(0)
{
+ if (request.attribute(QNetworkRequest::EmitAllUploadProgressSignalsAttribute).toBool() == true)
+ emitAllUploadProgressSignals = true;
}
void QNetworkReplyImplPrivate::_q_startOperation()
@@ -542,14 +544,16 @@ void QNetworkReplyImplPrivate::emitUploadProgress(qint64 bytesSent, qint64 bytes
Q_Q(QNetworkReplyImpl);
bytesUploaded = bytesSent;
- //choke signal emissions, except the first and last signals which are unconditional
- if (uploadProgressSignalChoke.isValid()) {
- if (bytesSent != bytesTotal && uploadProgressSignalChoke.elapsed() < progressSignalInterval) {
- return;
+ if (!emitAllUploadProgressSignals) {
+ //choke signal emissions, except the first and last signals which are unconditional
+ if (uploadProgressSignalChoke.isValid()) {
+ if (bytesSent != bytesTotal && uploadProgressSignalChoke.elapsed() < progressSignalInterval) {
+ return;
+ }
+ uploadProgressSignalChoke.restart();
+ } else {
+ uploadProgressSignalChoke.start();
}
- uploadProgressSignalChoke.restart();
- } else {
- uploadProgressSignalChoke.start();
}
pauseNotificationHandling();
diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp
index c51470e25a..2c0486d615 100644
--- a/src/network/access/qnetworkrequest.cpp
+++ b/src/network/access/qnetworkrequest.cpp
@@ -249,6 +249,13 @@ QT_BEGIN_NAMESPACE
Indicates whether SPDY was used for receiving
this reply.
+ \value EmitAllUploadProgressSignalsAttribute
+ Requests only, type: QMetaType::Bool (default: false)
+ Indicates whether all upload signals should be emitted.
+ By default, the uploadProgress signal is emitted only
+ in 100 millisecond intervals.
+ (This value was introduced in 5.5.)
+
\value User
Special type. Additional information can be passed in
QVariants with types ranging from User to UserMax. The default
diff --git a/src/network/access/qnetworkrequest.h b/src/network/access/qnetworkrequest.h
index 0239ae7f4b..3221438db4 100644
--- a/src/network/access/qnetworkrequest.h
+++ b/src/network/access/qnetworkrequest.h
@@ -80,6 +80,7 @@ public:
BackgroundRequestAttribute,
SpdyAllowedAttribute,
SpdyWasUsedAttribute,
+ EmitAllUploadProgressSignalsAttribute,
User = 1000,
UserMax = 32767
diff --git a/src/network/ssl/qsslconfiguration.cpp b/src/network/ssl/qsslconfiguration.cpp
index 2aa59e5d18..9430e81fd3 100644
--- a/src/network/ssl/qsslconfiguration.cpp
+++ b/src/network/ssl/qsslconfiguration.cpp
@@ -202,6 +202,7 @@ bool QSslConfiguration::operator==(const QSslConfiguration &other) const
d->sessionCipher == other.d->sessionCipher &&
d->sessionProtocol == other.d->sessionProtocol &&
d->ciphers == other.d->ciphers &&
+ d->ellipticCurves == other.d->ellipticCurves &&
d->caCertificates == other.d->caCertificates &&
d->protocol == other.d->protocol &&
d->peerVerifyMode == other.d->peerVerifyMode &&
@@ -242,6 +243,7 @@ bool QSslConfiguration::isNull() const
d->allowRootCertOnDemandLoading == true &&
d->caCertificates.count() == 0 &&
d->ciphers.count() == 0 &&
+ d->ellipticCurves.isEmpty() &&
d->localCertificateChain.isEmpty() &&
d->privateKey.isNull() &&
d->peerCertificate.isNull() &&
@@ -695,6 +697,50 @@ int QSslConfiguration::sessionTicketLifeTimeHint() const
}
/*!
+ \since 5.5
+
+ Returns this connection's current list of elliptic curves. This
+ list is used during the handshake phase for choosing an
+ elliptic curve (when using an elliptic curve cipher).
+ The returned list of curves is ordered by descending preference
+ (i.e., the first curve in the list is the most preferred one).
+
+ By default, the handshake phase can choose any of the curves
+ supported by this system's SSL libraries, which may vary from
+ system to system. The list of curves supported by this system's
+ SSL libraries is returned by QSslSocket::supportedEllipticCurves().
+
+ You can restrict the list of curves used for choosing the session cipher
+ for this socket by calling setEllipticCurves() with a subset of the
+ supported ciphers. You can revert to using the entire set by calling
+ setEllipticCurves() with the list returned by
+ QSslSocket::supportedEllipticCurves().
+
+ \sa setEllipticCurves
+ */
+QVector<QSslEllipticCurve> QSslConfiguration::ellipticCurves() const
+{
+ return d->ellipticCurves;
+}
+
+/*!
+ \since 5.5
+
+ Sets the list of elliptic curves to be used by this socket to \a curves,
+ which must contain a subset of the curves in the list returned by
+ supportedEllipticCurves().
+
+ Restricting the elliptic curves must be done before the handshake
+ phase, where the session cipher is chosen.
+
+ \sa ellipticCurves
+ */
+void QSslConfiguration::setEllipticCurves(const QVector<QSslEllipticCurve> &curves)
+{
+ d->ellipticCurves = curves;
+}
+
+/*!
\since 5.3
This function returns the protocol negotiated with the server
diff --git a/src/network/ssl/qsslconfiguration.h b/src/network/ssl/qsslconfiguration.h
index 0c4e122912..7bc7a32cb7 100644
--- a/src/network/ssl/qsslconfiguration.h
+++ b/src/network/ssl/qsslconfiguration.h
@@ -62,6 +62,7 @@ template<typename T> class QList;
class QSslCertificate;
class QSslCipher;
class QSslKey;
+class QSslEllipticCurve;
class QSslConfigurationPrivate;
class Q_NETWORK_EXPORT QSslConfiguration
@@ -122,6 +123,10 @@ public:
void setSessionTicket(const QByteArray &sessionTicket);
int sessionTicketLifeTimeHint() const;
+ // EC settings
+ QVector<QSslEllipticCurve> ellipticCurves() const;
+ void setEllipticCurves(const QVector<QSslEllipticCurve> &curves);
+
static QSslConfiguration defaultConfiguration();
static void setDefaultConfiguration(const QSslConfiguration &configuration);
diff --git a/src/network/ssl/qsslconfiguration_p.h b/src/network/ssl/qsslconfiguration_p.h
index 6880f59c4b..54a4786d9f 100644
--- a/src/network/ssl/qsslconfiguration_p.h
+++ b/src/network/ssl/qsslconfiguration_p.h
@@ -66,6 +66,7 @@
#include "qsslcertificate.h"
#include "qsslcipher.h"
#include "qsslkey.h"
+#include "qsslellipticcurve.h"
QT_BEGIN_NAMESPACE
@@ -107,6 +108,8 @@ public:
Q_AUTOTEST_EXPORT static const QSsl::SslOptions defaultSslOptions;
+ QVector<QSslEllipticCurve> ellipticCurves;
+
QByteArray sslSession;
int sslSessionTicketLifeTimeHint;
diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
index c042d98056..e62367cef3 100644
--- a/src/network/ssl/qsslcontext_openssl.cpp
+++ b/src/network/ssl/qsslcontext_openssl.cpp
@@ -2,6 +2,7 @@
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
+** Copyright (C) 2014 Governikus GmbH & Co. KG.
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtNetwork module of the Qt Toolkit.
@@ -199,7 +200,7 @@ init_context:
// Initialize ciphers
QByteArray cipherString;
- int first = true;
+ bool first = true;
QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
if (ciphers.isEmpty())
ciphers = QSslSocketPrivate::defaultCiphers();
@@ -327,6 +328,30 @@ init_context:
q_EC_KEY_free(ecdh);
#endif // OPENSSL_NO_EC
+ const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
+ if (!qcurves.isEmpty()) {
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
+ // Set the curves to be used
+ if (q_SSLeay() >= 0x10002000L) {
+ QVarLengthArray<int, 32> curves;
+ foreach (const QSslEllipticCurve curve, qcurves)
+ curves.append(curve.id);
+
+ if (!q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_CURVES, curves.size(), curves.data())) {
+ sslContext->errorStr = QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
+ sslContext->errorCode = QSslError::UnspecifiedError;
+ return sslContext;
+ }
+ } else
+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
+ {
+ // specific curves requested, but not possible to set -> error
+ sslContext->errorStr = QSslSocket::tr("Error when setting the elliptic curves (OpenSSL version too old, need at least v1.0.2)");
+ sslContext->errorCode = QSslError::UnspecifiedError;
+ return sslContext;
+ }
+ }
+
return sslContext;
}
diff --git a/src/network/ssl/qsslellipticcurve.cpp b/src/network/ssl/qsslellipticcurve.cpp
new file mode 100644
index 0000000000..7e122557df
--- /dev/null
+++ b/src/network/ssl/qsslellipticcurve.cpp
@@ -0,0 +1,173 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Governikus GmbH & Co. KG.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qsslellipticcurve.h"
+
+#ifndef QT_NO_DEBUG_STREAM
+#include <QDebug>
+#endif
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QSslEllipticCurve
+ \since 5.5
+
+ \brief Represents an elliptic curve for use by elliptic-curve cipher algorithms.
+
+ \reentrant
+ \ingroup network
+ \ingroup ssl
+ \inmodule QtNetwork
+
+ The class QSslEllipticCurve represents an elliptic curve for use by
+ elliptic-curve cipher algorithms.
+
+ Elliptic curves can be constructed from a "short name" (SN) (fromShortName()),
+ and by a call to QSslSocket::supportedEllipticCurves().
+
+ QSslEllipticCurve instances can be compared for equality and can be used as keys
+ in QHash and QSet. They cannot be used as key in a QMap.
+*/
+
+/*!
+ \fn QSslEllipticCurve::QSslEllipticCurve()
+
+ Constructs an invalid elliptic curve.
+
+ \sa isValid(), QSslSocket::supportedEllipticCurves()
+*/
+
+/*!
+ \fn QSslEllipticCurve QSslEllipticCurve::fromShortName(const QString &name)
+
+ Returns an QSslEllipticCurve instance representing the
+ named curve \a name. The \a name is the conventional short
+ name for the curve, as represented by RFC 4492 (for instance \c{secp521r1}),
+ or as NIST short names (for instance \c{P-256}). The actual set of
+ recognized names depends on the SSL implementation.
+
+ If the given \a name is not supported, returns an invalid QSslEllipticCurve instance.
+
+ \note The OpenSSL implementation of this function treats the name case-sensitively.
+
+ \sa shortName()
+*/
+
+
+/*!
+ \fn QString QSslEllipticCurve::shortName() const
+
+ Returns the conventional short name for this curve. If this
+ curve is invalid, returns an empty string.
+
+ \sa longName()
+*/
+
+/*!
+ \fn QString QSslEllipticCurve::longName() const
+
+ Returns the conventional long name for this curve. If this
+ curve is invalid, returns an empty string.
+
+ \sa shortName()
+*/
+
+/*!
+ \fn bool QSslEllipticCurve::isValid() const
+
+ Returns true if this elliptic curve is a valid curve, false otherwise.
+*/
+
+/*!
+ \fn bool QSslEllipticCurve::isTlsNamedCurve() const
+
+ Returns true if this elliptic curve is one of the named curves that can be
+ used in the key exchange when using an elliptic curve cipher with TLS;
+ false otherwise.
+*/
+
+/*!
+ \fn bool operator==(QSslEllipticCurve lhs, QSslEllipticCurve rhs)
+ \since 5.5
+ \relates QSslEllipticCurve
+
+ Returns true if the curve \a lhs represents the same curve of \a rhs;
+ false otherwise.
+*/
+
+/*!
+ \fn bool operator!=(QSslEllipticCurve lhs, QSslEllipticCurve rhs)
+ \since 5.5
+ \relates QSslEllipticCurve
+
+ Returns true if the curve \a lhs represents a different curve than \a rhs;
+ false otherwise.
+*/
+
+/*!
+ \fn uint qHash(QSslEllipticCurve curve, uint seed)
+ \since 5.5
+ \relates QHash
+
+ Returns an hash value for the curve \a curve, using \a seed to seed
+ the calculation.
+*/
+
+#ifndef QT_NO_DEBUG_STREAM
+/*!
+ \relates QSslEllipticCurve
+ \since 5.5
+
+ Writes the elliptic curve \a curve into the debug object \a debug for
+ debugging purposes.
+
+ \sa {Debugging Techniques}
+*/
+QDebug operator<<(QDebug debug, QSslEllipticCurve curve)
+{
+ QDebugStateSaver saver(debug);
+ debug.nospace() << "QSslEllipticCurve(" << curve.shortName() << ")";
+ return debug;
+}
+#endif
+
+QT_END_NAMESPACE
diff --git a/src/network/ssl/qsslellipticcurve.h b/src/network/ssl/qsslellipticcurve.h
new file mode 100644
index 0000000000..8f31b32777
--- /dev/null
+++ b/src/network/ssl/qsslellipticcurve.h
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Governikus GmbH & Co. KG.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSSLELLIPTICCURVE_H
+#define QSSLELLIPTICCURVE_H
+
+#include <QtCore/QtGlobal>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QMetaType>
+#include <QtCore/QVector>
+#include <QtCore/QHash>
+
+QT_BEGIN_NAMESPACE
+
+class QSslEllipticCurve;
+// qHash is a friend, but we can't use default arguments for friends (§8.3.6.4)
+Q_DECL_CONSTEXPR uint qHash(QSslEllipticCurve curve, uint seed = 0) Q_DECL_NOTHROW;
+
+class QSslEllipticCurve {
+public:
+ Q_DECL_CONSTEXPR QSslEllipticCurve()
+ : id(0)
+ {
+ }
+
+ Q_NETWORK_EXPORT static QSslEllipticCurve fromShortName(const QString &name);
+
+ Q_NETWORK_EXPORT QString shortName() const Q_REQUIRED_RESULT;
+ Q_NETWORK_EXPORT QString longName() const Q_REQUIRED_RESULT;
+
+ Q_DECL_CONSTEXPR bool isValid() const
+ {
+ return id != 0;
+ }
+
+ Q_NETWORK_EXPORT bool isTlsNamedCurve() const;
+
+private:
+ int id;
+
+ friend Q_DECL_CONSTEXPR bool operator==(QSslEllipticCurve lhs, QSslEllipticCurve rhs) Q_DECL_NOTHROW
+ { return lhs.id == rhs.id; }
+ friend Q_DECL_CONSTEXPR uint qHash(QSslEllipticCurve curve, uint seed) Q_DECL_NOTHROW
+ { return qHash(curve.id, seed); }
+
+ friend class QSslContext;
+ friend class QSslSocketPrivate;
+ friend class QSslSocketBackendPrivate;
+};
+
+Q_DECLARE_TYPEINFO(QSslEllipticCurve, Q_PRIMITIVE_TYPE);
+
+Q_DECL_CONSTEXPR inline bool operator!=(QSslEllipticCurve lhs, QSslEllipticCurve rhs) Q_DECL_NOTHROW
+{ return !operator==(lhs, rhs); }
+
+#ifndef QT_NO_DEBUG_STREAM
+class QDebug;
+Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, QSslEllipticCurve curve);
+#endif
+
+QT_END_NAMESPACE
+
+Q_DECLARE_METATYPE(QSslEllipticCurve)
+
+#endif // QSSLELLIPTICCURVE_H
diff --git a/src/network/ssl/qsslellipticcurve_dummy.cpp b/src/network/ssl/qsslellipticcurve_dummy.cpp
new file mode 100644
index 0000000000..64ac1514ab
--- /dev/null
+++ b/src/network/ssl/qsslellipticcurve_dummy.cpp
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Governikus GmbH & Co. KG.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qsslellipticcurve.h"
+
+QT_BEGIN_NAMESPACE
+
+QString QSslEllipticCurve::shortName() const
+{
+ return QString();
+}
+
+QString QSslEllipticCurve::longName() const
+{
+ return QString();
+}
+
+QSslEllipticCurve QSslEllipticCurve::fromShortName(const QString &name)
+{
+ Q_UNUSED(name);
+ return QSslEllipticCurve();
+}
+
+bool QSslEllipticCurve::isTlsNamedCurve() const
+{
+ return false;
+}
+
+QT_END_NAMESPACE
diff --git a/src/network/ssl/qsslellipticcurve_openssl.cpp b/src/network/ssl/qsslellipticcurve_openssl.cpp
new file mode 100644
index 0000000000..d8d1307b2e
--- /dev/null
+++ b/src/network/ssl/qsslellipticcurve_openssl.cpp
@@ -0,0 +1,167 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Governikus GmbH & Co. KG.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qsslellipticcurve.h"
+#include "qsslsocket_p.h"
+#include "qsslsocket_openssl_symbols_p.h"
+
+#include <openssl/ssl.h>
+#include <openssl/obj_mac.h>
+
+#include <algorithm>
+
+QT_BEGIN_NAMESPACE
+
+QString QSslEllipticCurve::shortName() const
+{
+ if (id == 0)
+ return QString();
+
+ QSslSocketPrivate::ensureInitialized();
+
+ QString result;
+#ifndef OPENSSL_NO_EC
+ result = QString::fromLatin1(q_OBJ_nid2sn(id));
+#endif
+ return result;
+}
+
+QString QSslEllipticCurve::longName() const
+{
+ if (id == 0)
+ return QString();
+
+ QSslSocketPrivate::ensureInitialized();
+
+ QString result;
+#ifndef OPENSSL_NO_EC
+ result = QString::fromLatin1(q_OBJ_nid2ln(id));
+#endif
+ return result;
+}
+
+QSslEllipticCurve QSslEllipticCurve::fromShortName(const QString &name)
+{
+ if (name.isEmpty())
+ return QSslEllipticCurve();
+
+ QSslSocketPrivate::ensureInitialized();
+
+ QSslEllipticCurve result;
+
+#ifndef OPENSSL_NO_EC
+ const QByteArray curveNameLatin1 = name.toLatin1();
+
+ int nid = q_OBJ_sn2nid(curveNameLatin1.data());
+
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
+ if (nid == 0 && q_SSLeay() >= 0x10002000L)
+ nid = q_EC_curve_nist2nid(curveNameLatin1.data());
+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
+
+ result.id = nid;
+#endif
+
+ return result;
+}
+
+// The brainpool curve NIDs (RFC 7027) have been introduced in OpenSSL 1.0.2,
+// redefine them here to make Qt compile with previous versions of OpenSSL
+// (yet correctly recognize them as TLS named curves).
+// See crypto/objects/obj_mac.h
+#ifndef NID_brainpoolP256r1
+#define NID_brainpoolP256r1 927
+#endif
+
+#ifndef NID_brainpoolP384r1
+#define NID_brainpoolP384r1 931
+#endif
+
+#ifndef NID_brainpoolP512r1
+#define NID_brainpoolP512r1 933
+#endif
+
+// NIDs of named curves allowed in TLS as per RFCs 4492 and 7027,
+// see also https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-8
+static const int tlsNamedCurveNIDs[] = {
+ // RFC 4492
+ NID_sect163k1,
+ NID_sect163r1,
+ NID_sect163r2,
+ NID_sect193r1,
+ NID_sect193r2,
+ NID_sect233k1,
+ NID_sect233r1,
+ NID_sect239k1,
+ NID_sect283k1,
+ NID_sect283r1,
+ NID_sect409k1,
+ NID_sect409r1,
+ NID_sect571k1,
+ NID_sect571r1,
+
+ NID_secp160k1,
+ NID_secp160r1,
+ NID_secp160r2,
+ NID_secp192k1,
+ NID_X9_62_prime192v1, // secp192r1
+ NID_secp224k1,
+ NID_secp224r1,
+ NID_secp256k1,
+ NID_X9_62_prime256v1, // secp256r1
+ NID_secp384r1,
+ NID_secp521r1,
+
+ // RFC 7027
+ NID_brainpoolP256r1,
+ NID_brainpoolP384r1,
+ NID_brainpoolP512r1
+};
+
+static const size_t tlsNamedCurveNIDCount = sizeof(tlsNamedCurveNIDs) / sizeof(tlsNamedCurveNIDs[0]);
+
+bool QSslEllipticCurve::isTlsNamedCurve() const
+{
+ const int * const tlsNamedCurveNIDsEnd = tlsNamedCurveNIDs + tlsNamedCurveNIDCount;
+ return std::find(tlsNamedCurveNIDs, tlsNamedCurveNIDsEnd, id) != tlsNamedCurveNIDsEnd;
+}
+
+QT_END_NAMESPACE
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
index 8887f478dd..e8096eca78 100644
--- a/src/network/ssl/qsslsocket.cpp
+++ b/src/network/ssl/qsslsocket.cpp
@@ -320,6 +320,7 @@ public:
QMutex mutex;
QList<QSslCipher> supportedCiphers;
+ QVector<QSslEllipticCurve> supportedEllipticCurves;
QExplicitlySharedDataPointer<QSslConfigurationPrivate> config;
};
Q_GLOBAL_STATIC(QSslSocketGlobalData, globalData)
@@ -899,6 +900,7 @@ void QSslSocket::setSslConfiguration(const QSslConfiguration &configuration)
d->configuration.localCertificateChain = configuration.localCertificateChain();
d->configuration.privateKey = configuration.privateKey();
d->configuration.ciphers = configuration.ciphers();
+ d->configuration.ellipticCurves = configuration.ellipticCurves();
d->configuration.caCertificates = configuration.caCertificates();
d->configuration.peerVerifyDepth = configuration.peerVerifyDepth();
d->configuration.peerVerifyMode = configuration.peerVerifyMode();
@@ -1267,6 +1269,120 @@ QList<QSslCipher> QSslSocket::supportedCiphers()
}
/*!
+ \since 5.5
+
+ Returns this socket's current list of elliptic curves. This
+ list is used during the socket's handshake phase for choosing an
+ elliptic curve (when using an elliptic curve cipher).
+ The returned list of curves is ordered by descending preference
+ (i.e., the first curve in the list is the most preferred one).
+
+ By default, this list is empty. An empty default list means that the
+ handshake phase can choose any of the curves supported by this system's SSL
+ libraries (which may vary from system to system). The list of curves
+ supported by this system's SSL libraries is returned by
+ supportedEllipticCurves().
+
+ You can restrict the list of curves used for choosing the session cipher
+ for this socket by calling setEllipticCurves() with a subset of the
+ supported ciphers. You can revert to using the entire set by calling
+ setEllipticCurves() with the list returned by supportedEllipticCurves().
+
+ \sa setEllipticCurves(), defaultEllipticCurves(), setDefaultEllipticCurves(), supportedEllipticCurves()
+*/
+QVector<QSslEllipticCurve> QSslSocket::ellipticCurves() const
+{
+ Q_D(const QSslSocket);
+ return d->configuration.ellipticCurves;
+}
+
+/*!
+ \since 5.5
+
+ Sets the list of elliptic curves to be used by this socket to \a curves,
+ which must contain a subset of the curves in the list returned by
+ supportedEllipticCurves().
+
+ Restricting the elliptic curves must be done before the handshake
+ phase, where the session cipher is chosen.
+
+ If an empty list is set, then the handshake phase can choose any of the
+ curves supported by this system's SSL libraries (which may vary from system
+ to system). The list of curves supported by this system's SSL libraries is
+ returned by supportedEllipticCurves().
+
+ Use setCipher() in order to disable the usage of elliptic curve ciphers.
+
+ \sa ellipticCurves(), setDefaultEllipticCurves(), supportedEllipticCurves()
+*/
+void QSslSocket::setEllipticCurves(const QVector<QSslEllipticCurve> &curves)
+{
+ Q_D(QSslSocket);
+ d->configuration.ellipticCurves = curves;
+}
+
+/*!
+ \since 5.5
+
+ Sets the list of elliptic curves to be used by all sockets in this
+ application to \a curves, which must contain a subset of the curves in the
+ list returned by supportedEllipticCurves().
+
+ Restricting the default elliptic curves only affects SSL sockets
+ that perform their handshake phase after the default list has been changed.
+
+ If an empty list is set, then the handshake phase can choose any of the
+ curves supported by this system's SSL libraries (which may vary from system
+ to system). The list of curves supported by this system's SSL libraries is
+ returned by supportedEllipticCurves().
+
+ Use setDefaultCiphers() in order to disable the usage of elliptic curve ciphers.
+
+ \sa setEllipticCurves(), defaultEllipticCurves(), supportedEllipticCurves()
+*/
+void QSslSocket::setDefaultEllipticCurves(const QVector<QSslEllipticCurve> &curves)
+{
+ QSslSocketPrivate::setDefaultEllipticCurves(curves);
+}
+
+
+/*!
+ \since 5.5
+
+ Returns the default elliptic curves list for all sockets in
+ this application. This list is used during the socket's handshake
+ phase when negotiating with the peer to choose a session cipher.
+ The list is ordered by preference (i.e., the first curve in the
+ list is the most preferred one).
+
+ By default, this list is empty. An empty default list means that the
+ handshake phase can choose any of the curves supported by this system's SSL
+ libraries (which may vary from system to system). The list of curves
+ supported by this system's SSL libraries is returned by
+ supportedEllipticCurves().
+
+ \sa setDefaultEllipticCurves(), supportedEllipticCurves()
+*/
+QVector<QSslEllipticCurve> QSslSocket::defaultEllipticCurves()
+{
+ return QSslSocketPrivate::defaultEllipticCurves();
+}
+
+/*!
+ \since 5.5
+
+ Returns the list of elliptic curves supported by this
+ system. This list is set by the system's SSL libraries and may
+ vary from system to system.
+
+ \sa ellipticCurves(), setEllipticCurves(), defaultEllipticCurves()
+*/
+QVector<QSslEllipticCurve> QSslSocket::supportedEllipticCurves()
+{
+ return QSslSocketPrivate::supportedEllipticCurves();
+}
+
+/*!
Searches all files in the \a path for certificates encoded in the
specified \a format and adds them to this socket's CA certificate
database. \a path can be explicit, or it can contain wildcards in
@@ -2031,6 +2147,46 @@ void QSslSocketPrivate::setDefaultSupportedCiphers(const QList<QSslCipher> &ciph
/*!
\internal
*/
+QVector<QSslEllipticCurve> QSslSocketPrivate::defaultEllipticCurves()
+{
+ QSslSocketPrivate::ensureInitialized();
+ const QMutexLocker locker(&globalData()->mutex);
+ return globalData()->config->ellipticCurves;
+}
+
+/*!
+ \internal
+*/
+QVector<QSslEllipticCurve> QSslSocketPrivate::supportedEllipticCurves()
+{
+ QSslSocketPrivate::ensureInitialized();
+ const QMutexLocker locker(&globalData()->mutex);
+ return globalData()->supportedEllipticCurves;
+}
+
+/*!
+ \internal
+*/
+void QSslSocketPrivate::setDefaultEllipticCurves(const QVector<QSslEllipticCurve> &curves)
+{
+ const QMutexLocker locker(&globalData()->mutex);
+ globalData()->config.detach();
+ globalData()->config->ellipticCurves = curves;
+}
+
+/*!
+ \internal
+*/
+void QSslSocketPrivate::setDefaultSupportedEllipticCurves(const QVector<QSslEllipticCurve> &curves)
+{
+ const QMutexLocker locker(&globalData()->mutex);
+ globalData()->config.detach();
+ globalData()->supportedEllipticCurves = curves;
+}
+
+/*!
+ \internal
+*/
QList<QSslCertificate> QSslSocketPrivate::defaultCaCertificates()
{
QSslSocketPrivate::ensureInitialized();
@@ -2123,10 +2279,8 @@ void QSslConfigurationPrivate::deepCopyDefaultConfiguration(QSslConfigurationPri
QMutexLocker locker(&globalData()->mutex);
const QSslConfigurationPrivate *global = globalData()->config.constData();
- if (!global) {
- ptr = 0;
+ if (!global)
return;
- }
ptr->ref.store(1);
ptr->peerCertificate = global->peerCertificate;
@@ -2141,6 +2295,7 @@ void QSslConfigurationPrivate::deepCopyDefaultConfiguration(QSslConfigurationPri
ptr->peerVerifyMode = global->peerVerifyMode;
ptr->peerVerifyDepth = global->peerVerifyDepth;
ptr->sslOptions = global->sslOptions;
+ ptr->ellipticCurves = global->ellipticCurves;
}
/*!
diff --git a/src/network/ssl/qsslsocket.h b/src/network/ssl/qsslsocket.h
index 1fe12e5989..149dcc99cc 100644
--- a/src/network/ssl/qsslsocket.h
+++ b/src/network/ssl/qsslsocket.h
@@ -51,6 +51,7 @@ class QDir;
class QSslCipher;
class QSslCertificate;
class QSslConfiguration;
+class QSslEllipticCurve;
class QSslSocketPrivate;
class Q_NETWORK_EXPORT QSslSocket : public QTcpSocket
@@ -149,6 +150,13 @@ public:
static QList<QSslCipher> defaultCiphers();
static QList<QSslCipher> supportedCiphers();
+ // EC settings.
+ QVector<QSslEllipticCurve> ellipticCurves() const;
+ void setEllipticCurves(const QVector<QSslEllipticCurve> &curves);
+ static void setDefaultEllipticCurves(const QVector<QSslEllipticCurve> &curves);
+ static QVector<QSslEllipticCurve> defaultEllipticCurves();
+ static QVector<QSslEllipticCurve> supportedEllipticCurves();
+
// CA settings.
bool addCaCertificates(const QString &path, QSsl::EncodingFormat format = QSsl::Pem,
QRegExp::PatternSyntax syntax = QRegExp::FixedString);
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 84b0d9c75e..516d862936 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Governikus GmbH & Co. KG
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtNetwork module of the Qt Toolkit.
@@ -55,6 +56,7 @@
#include "qsslcertificate_p.h"
#include "qsslcipher_p.h"
#include "qsslkey_p.h"
+#include "qsslellipticcurve.h"
#include <QtCore/qdatetime.h>
#include <QtCore/qdebug.h>
@@ -479,6 +481,7 @@ void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
s_loadedCiphersAndCerts = true;
resetDefaultCiphers();
+ resetDefaultEllipticCurves();
#ifndef QT_NO_LIBRARY
//load symbols needed to receive certificates from system store
@@ -627,6 +630,31 @@ void QSslSocketPrivate::resetDefaultCiphers()
setDefaultCiphers(defaultCiphers);
}
+void QSslSocketPrivate::resetDefaultEllipticCurves()
+{
+ QVector<QSslEllipticCurve> curves;
+
+#ifndef OPENSSL_NO_EC
+ const size_t curveCount = q_EC_get_builtin_curves(NULL, 0);
+
+ QVarLengthArray<EC_builtin_curve> builtinCurves(static_cast<int>(curveCount));
+
+ if (q_EC_get_builtin_curves(builtinCurves.data(), curveCount) == curveCount) {
+ for (size_t i = 0; i < curveCount; ++i) {
+ QSslEllipticCurve curve;
+ curve.id = builtinCurves[i].nid;
+ curves.append(curve);
+ }
+ }
+#endif // OPENSSL_NO_EC
+
+ // set the list of supported ECs, but not the list
+ // of *default* ECs. OpenSSL doesn't like forcing an EC for the wrong
+ // ciphersuite, so don't try it -- leave the empty list to mean
+ // "the implementation will choose the most suitable one".
+ setDefaultSupportedEllipticCurves(curves);
+}
+
QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
{
ensureInitialized();
diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
index 71b8237e03..08dec606ae 100644
--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
@@ -167,6 +167,7 @@ DEFINEFUNC(int, EVP_PKEY_type, int a, a, return NID_undef, return)
DEFINEFUNC2(int, i2d_X509, X509 *a, a, unsigned char **b, b, return -1, return)
DEFINEFUNC(const char *, OBJ_nid2sn, int a, a, return 0, return)
DEFINEFUNC(const char *, OBJ_nid2ln, int a, a, return 0, return)
+DEFINEFUNC(int, OBJ_sn2nid, const char *s, s, return 0, return)
DEFINEFUNC3(int, i2t_ASN1_OBJECT, char *a, a, int b, b, ASN1_OBJECT *c, c, return -1, return)
DEFINEFUNC4(int, OBJ_obj2txt, char *a, a, int b, b, ASN1_OBJECT *c, c, int d, d, return -1, return)
@@ -371,6 +372,10 @@ DEFINEFUNC3(BIGNUM *, BN_bin2bn, const unsigned char *s, s, int len, len, BIGNUM
#ifndef OPENSSL_NO_EC
DEFINEFUNC(EC_KEY *, EC_KEY_new_by_curve_name, int nid, nid, return 0, return)
DEFINEFUNC(void, EC_KEY_free, EC_KEY *ecdh, ecdh, return, DUMMYARG)
+DEFINEFUNC2(size_t, EC_get_builtin_curves, EC_builtin_curve * r, r, size_t nitems, nitems, return 0, return)
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
+DEFINEFUNC(int, EC_curve_nist2nid, const char *name, name, return 0, return)
+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
#endif // OPENSSL_NO_EC
DEFINEFUNC5(int, PKCS12_parse, PKCS12 *p12, p12, const char *pass, pass, EVP_PKEY **pkey, pkey, \
@@ -728,6 +733,7 @@ bool q_resolveOpenSslSymbols()
RESOLVEFUNC(EVP_PKEY_type)
RESOLVEFUNC(OBJ_nid2sn)
RESOLVEFUNC(OBJ_nid2ln)
+ RESOLVEFUNC(OBJ_sn2nid)
RESOLVEFUNC(i2t_ASN1_OBJECT)
RESOLVEFUNC(OBJ_obj2txt)
RESOLVEFUNC(OBJ_obj2nid)
@@ -878,6 +884,11 @@ bool q_resolveOpenSslSymbols()
#ifndef OPENSSL_NO_EC
RESOLVEFUNC(EC_KEY_new_by_curve_name)
RESOLVEFUNC(EC_KEY_free)
+ RESOLVEFUNC(EC_get_builtin_curves)
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
+ if (q_SSLeay() >= 0x10002000L)
+ RESOLVEFUNC(EC_curve_nist2nid)
+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
#endif // OPENSSL_NO_EC
RESOLVEFUNC(PKCS12_parse)
RESOLVEFUNC(d2i_PKCS12_bio)
diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
index e2e09e4feb..ee19345e4a 100644
--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
@@ -248,6 +248,7 @@ Q_AUTOTEST_EXPORT EVP_PKEY *q_EVP_PKEY_new();
int q_i2d_X509(X509 *a, unsigned char **b);
const char *q_OBJ_nid2sn(int a);
const char *q_OBJ_nid2ln(int a);
+int q_OBJ_sn2nid(const char *s);
int q_i2t_ASN1_OBJECT(char *buf, int buf_len, ASN1_OBJECT *obj);
int q_OBJ_obj2txt(char *buf, int buf_len, ASN1_OBJECT *obj, int no_name);
int q_OBJ_obj2nid(const ASN1_OBJECT *a);
@@ -435,6 +436,12 @@ BIGNUM *q_BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret);
EC_KEY *q_EC_KEY_new_by_curve_name(int nid);
void q_EC_KEY_free(EC_KEY *ecdh);
#define q_SSL_CTX_set_tmp_ecdh(ctx, ecdh) q_SSL_CTX_ctrl((ctx), SSL_CTRL_SET_TMP_ECDH, 0, (char *)ecdh)
+
+// EC curves management
+size_t q_EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems);
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
+int q_EC_curve_nist2nid(const char *name);
+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
#endif // OPENSSL_NO_EC
// PKCS#12 support
diff --git a/src/network/ssl/qsslsocket_p.h b/src/network/ssl/qsslsocket_p.h
index 6e7a2c5520..53f91ee205 100644
--- a/src/network/ssl/qsslsocket_p.h
+++ b/src/network/ssl/qsslsocket_p.h
@@ -135,6 +135,12 @@ public:
static void setDefaultSupportedCiphers(const QList<QSslCipher> &ciphers);
static void resetDefaultCiphers();
+ static QVector<QSslEllipticCurve> defaultEllipticCurves();
+ static QVector<QSslEllipticCurve> supportedEllipticCurves();
+ static void setDefaultEllipticCurves(const QVector<QSslEllipticCurve> &curves);
+ static void setDefaultSupportedEllipticCurves(const QVector<QSslEllipticCurve> &curves);
+ static void resetDefaultEllipticCurves();
+
static QList<QSslCertificate> defaultCaCertificates();
static QList<QSslCertificate> systemCaCertificates();
static void setDefaultCaCertificates(const QList<QSslCertificate> &certs);
diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri
index 384e149241..85fd6fc3f5 100644
--- a/src/network/ssl/ssl.pri
+++ b/src/network/ssl/ssl.pri
@@ -8,6 +8,7 @@ contains(QT_CONFIG, ssl) | contains(QT_CONFIG, openssl) | contains(QT_CONFIG, op
ssl/qsslconfiguration_p.h \
ssl/qsslcipher.h \
ssl/qsslcipher_p.h \
+ ssl/qsslellipticcurve.h \
ssl/qsslerror.h \
ssl/qsslkey.h \
ssl/qsslkey_p.h \
@@ -20,6 +21,7 @@ contains(QT_CONFIG, ssl) | contains(QT_CONFIG, openssl) | contains(QT_CONFIG, op
ssl/qsslcertificate.cpp \
ssl/qsslconfiguration.cpp \
ssl/qsslcipher.cpp \
+ ssl/qsslellipticcurve.cpp \
ssl/qsslkey_p.cpp \
ssl/qsslerror.cpp \
ssl/qsslsocket.cpp \
@@ -31,7 +33,8 @@ contains(QT_CONFIG, ssl) | contains(QT_CONFIG, openssl) | contains(QT_CONFIG, op
ssl/qsslcertificate_winrt.cpp \
ssl/qsslkey_qt.cpp \
ssl/qsslkey_winrt.cpp \
- ssl/qsslsocket_winrt.cpp
+ ssl/qsslsocket_winrt.cpp \
+ ssl/qsslellipticcurve_dummy.cpp
}
}
@@ -41,6 +44,7 @@ contains(QT_CONFIG, openssl) | contains(QT_CONFIG, openssl-linked) {
ssl/qsslsocket_openssl_symbols_p.h
SOURCES += ssl/qsslcertificate_openssl.cpp \
ssl/qsslcontext_openssl.cpp \
+ ssl/qsslellipticcurve_openssl.cpp \
ssl/qsslkey_openssl.cpp \
ssl/qsslsocket_openssl.cpp \
ssl/qsslsocket_openssl_symbols.cpp
diff --git a/src/platformsupport/accessibility/qaccessiblebridgeutils_p.h b/src/platformsupport/accessibility/qaccessiblebridgeutils_p.h
index bce2f90a09..e615e8a336 100644
--- a/src/platformsupport/accessibility/qaccessiblebridgeutils_p.h
+++ b/src/platformsupport/accessibility/qaccessiblebridgeutils_p.h
@@ -34,11 +34,11 @@
#ifndef QACCESSIBLEBRIDGEUTILS_H
#define QACCESSIBLEBRIDGEUTILS_H
-#ifndef QT_NO_ACCESSIBILITY
-
#include <QtCore/qstringlist.h>
#include <QtGui/qaccessible.h>
+#ifndef QT_NO_ACCESSIBILITY
+
QT_BEGIN_NAMESPACE
namespace QAccessibleBridgeUtils {
diff --git a/src/platformsupport/eglconvenience/eglconvenience.pri b/src/platformsupport/eglconvenience/eglconvenience.pri
index 8ada53d2c1..d102203d5e 100644
--- a/src/platformsupport/eglconvenience/eglconvenience.pri
+++ b/src/platformsupport/eglconvenience/eglconvenience.pri
@@ -16,16 +16,12 @@ contains(QT_CONFIG,egl) {
$$PWD/qeglplatformcursor_p.h \
$$PWD/qeglplatformwindow_p.h \
$$PWD/qeglplatformscreen_p.h \
- $$PWD/qeglcompositor_p.h \
- $$PWD/qeglplatformbackingstore_p.h \
$$PWD/qeglplatformintegration_p.h
SOURCES += \
$$PWD/qeglplatformcursor.cpp \
$$PWD/qeglplatformwindow.cpp \
$$PWD/qeglplatformscreen.cpp \
- $$PWD/qeglcompositor.cpp \
- $$PWD/qeglplatformbackingstore.cpp \
$$PWD/qeglplatformintegration.cpp
}
}
diff --git a/src/platformsupport/eglconvenience/qeglconvenience.cpp b/src/platformsupport/eglconvenience/qeglconvenience.cpp
index c1a491c80b..f3a135a499 100644
--- a/src/platformsupport/eglconvenience/qeglconvenience.cpp
+++ b/src/platformsupport/eglconvenience/qeglconvenience.cpp
@@ -303,7 +303,7 @@ EGLConfig QEglConfigChooser::chooseConfig()
} while (q_reduceConfigAttributes(&configureAttributes));
if (!cfg)
- qWarning("Cant find EGLConfig, returning null config");
+ qWarning("Cannot find EGLConfig, returning null config");
return cfg;
}
@@ -460,8 +460,8 @@ QSizeF q_physicalScreenSizeFromFb(int framebufferDevice, const QSize &screenSize
if (size.isEmpty()) {
// Note: in millimeters
- int width = qgetenv("QT_QPA_EGLFS_PHYSICAL_WIDTH").toInt();
- int height = qgetenv("QT_QPA_EGLFS_PHYSICAL_HEIGHT").toInt();
+ int width = qEnvironmentVariableIntValue("QT_QPA_EGLFS_PHYSICAL_WIDTH");
+ int height = qEnvironmentVariableIntValue("QT_QPA_EGLFS_PHYSICAL_HEIGHT");
if (width && height) {
size.setWidth(width);
@@ -513,8 +513,8 @@ QSize q_screenSizeFromFb(int framebufferDevice)
static QSize size;
if (size.isEmpty()) {
- int width = qgetenv("QT_QPA_EGLFS_WIDTH").toInt();
- int height = qgetenv("QT_QPA_EGLFS_HEIGHT").toInt();
+ int width = qEnvironmentVariableIntValue("QT_QPA_EGLFS_WIDTH");
+ int height = qEnvironmentVariableIntValue("QT_QPA_EGLFS_HEIGHT");
if (width && height) {
size.setWidth(width);
@@ -553,7 +553,7 @@ int q_screenDepthFromFb(int framebufferDevice)
Q_UNUSED(framebufferDevice)
#endif
const int defaultDepth = 32;
- static int depth = qgetenv("QT_QPA_EGLFS_DEPTH").toInt();
+ static int depth = qEnvironmentVariableIntValue("QT_QPA_EGLFS_DEPTH");
if (depth == 0) {
#ifdef Q_OS_LINUX
diff --git a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
index 7cc330092e..d7c4fd6764 100644
--- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
+++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
@@ -177,17 +177,17 @@ void QEGLPlatformContext::init(const QSurfaceFormat &format, QPlatformOpenGLCont
}
if (m_eglContext == EGL_NO_CONTEXT) {
- qWarning("QEGLPlatformContext::init: eglError: %x, this: %p \n", eglGetError(), this);
+ qWarning("QEGLPlatformContext: Failed to create context: %x", eglGetError());
return;
}
- static const bool printConfig = qgetenv("QT_QPA_EGLFS_DEBUG").toInt();
+ static const bool printConfig = qEnvironmentVariableIntValue("QT_QPA_EGLFS_DEBUG");
if (printConfig) {
qDebug() << "Created context for format" << format << "with config:";
q_printEglConfig(m_eglDisplay, m_eglConfig);
}
- updateFormatFromGL();
+ // Cannot just call updateFormatFromGL() since it relies on virtuals. Defer it to initialize().
}
void QEGLPlatformContext::adopt(const QVariant &nativeHandle, QPlatformOpenGLContext *share)
@@ -238,18 +238,13 @@ void QEGLPlatformContext::adopt(const QVariant &nativeHandle, QPlatformOpenGLCon
updateFormatFromGL();
}
-void QEGLPlatformContext::updateFormatFromGL()
+void QEGLPlatformContext::initialize()
{
-#ifndef QT_NO_OPENGL
- // Have to save & restore to prevent QOpenGLContext::currentContext() from becoming
- // inconsistent after QOpenGLContext::create().
- EGLDisplay prevDisplay = eglGetCurrentDisplay();
- if (prevDisplay == EGL_NO_DISPLAY) // when no context is current
- prevDisplay = m_eglDisplay;
- EGLContext prevContext = eglGetCurrentContext();
- EGLSurface prevSurfaceDraw = eglGetCurrentSurface(EGL_DRAW);
- EGLSurface prevSurfaceRead = eglGetCurrentSurface(EGL_READ);
+ updateFormatFromGL();
+}
+EGLSurface QEGLPlatformContext::createTemporaryOffscreenSurface()
+{
// Make the context current to ensure the GL version query works. This needs a surface too.
const EGLint pbufferAttributes[] = {
EGL_WIDTH, 1,
@@ -257,15 +252,34 @@ void QEGLPlatformContext::updateFormatFromGL()
EGL_LARGEST_PBUFFER, EGL_FALSE,
EGL_NONE
};
+
// Cannot just pass m_eglConfig because it may not be suitable for pbuffers. Instead,
// do what QEGLPbuffer would do: request a config with the same attributes but with
// PBUFFER_BIT set.
EGLConfig config = q_configFromGLFormat(m_eglDisplay, m_format, false, EGL_PBUFFER_BIT);
- EGLSurface pbuffer = eglCreatePbufferSurface(m_eglDisplay, config, pbufferAttributes);
- if (pbuffer == EGL_NO_SURFACE)
- return;
- if (eglMakeCurrent(m_eglDisplay, pbuffer, pbuffer, m_eglContext)) {
+ return eglCreatePbufferSurface(m_eglDisplay, config, pbufferAttributes);
+}
+
+void QEGLPlatformContext::destroyTemporaryOffscreenSurface(EGLSurface surface)
+{
+ eglDestroySurface(m_eglDisplay, surface);
+}
+
+void QEGLPlatformContext::updateFormatFromGL()
+{
+#ifndef QT_NO_OPENGL
+ // Have to save & restore to prevent QOpenGLContext::currentContext() from becoming
+ // inconsistent after QOpenGLContext::create().
+ EGLDisplay prevDisplay = eglGetCurrentDisplay();
+ if (prevDisplay == EGL_NO_DISPLAY) // when no context is current
+ prevDisplay = m_eglDisplay;
+ EGLContext prevContext = eglGetCurrentContext();
+ EGLSurface prevSurfaceDraw = eglGetCurrentSurface(EGL_DRAW);
+ EGLSurface prevSurfaceRead = eglGetCurrentSurface(EGL_READ);
+
+ EGLSurface tempSurface = createTemporaryOffscreenSurface();
+ if (eglMakeCurrent(m_eglDisplay, tempSurface, tempSurface, m_eglContext)) {
if (m_format.renderableType() == QSurfaceFormat::OpenGL
|| m_format.renderableType() == QSurfaceFormat::OpenGLES) {
const GLubyte *s = glGetString(GL_VERSION);
@@ -303,7 +317,7 @@ void QEGLPlatformContext::updateFormatFromGL()
}
eglMakeCurrent(prevDisplay, prevSurfaceDraw, prevSurfaceRead, prevContext);
}
- eglDestroySurface(m_eglDisplay, pbuffer);
+ destroyTemporaryOffscreenSurface(tempSurface);
#endif // QT_NO_OPENGL
}
@@ -343,7 +357,7 @@ bool QEGLPlatformContext::makeCurrent(QPlatformSurface *surface)
eglSwapInterval(eglDisplay(), m_swapInterval);
}
} else {
- qWarning("QEGLPlatformContext::makeCurrent: eglError: %x, this: %p \n", eglGetError(), this);
+ qWarning("QEGLPlatformContext: eglMakeCurrent failed: %x", eglGetError());
}
return ok;
@@ -362,7 +376,7 @@ void QEGLPlatformContext::doneCurrent()
eglBindAPI(m_api);
bool ok = eglMakeCurrent(m_eglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
if (!ok)
- qWarning("QEGLPlatformContext::doneCurrent(): eglError: %d, this: %p \n", eglGetError(), this);
+ qWarning("QEGLPlatformContext: eglMakeCurrent failed: %x", eglGetError());
}
void QEGLPlatformContext::swapBuffers(QPlatformSurface *surface)
@@ -371,7 +385,7 @@ void QEGLPlatformContext::swapBuffers(QPlatformSurface *surface)
EGLSurface eglSurface = eglSurfaceForPlatformSurface(surface);
bool ok = eglSwapBuffers(m_eglDisplay, eglSurface);
if (!ok)
- qWarning("QEGLPlatformContext::swapBuffers(): eglError: %d, this: %p \n", eglGetError(), this);
+ qWarning("QEGLPlatformContext: eglSwapBuffers failed: %x", eglGetError());
}
void (*QEGLPlatformContext::getProcAddress(const QByteArray &procName)) ()
diff --git a/src/platformsupport/eglconvenience/qeglplatformcontext_p.h b/src/platformsupport/eglconvenience/qeglplatformcontext_p.h
index 7825c7b3d7..b922584554 100644
--- a/src/platformsupport/eglconvenience/qeglplatformcontext_p.h
+++ b/src/platformsupport/eglconvenience/qeglplatformcontext_p.h
@@ -59,6 +59,7 @@ public:
EGLConfig *config = 0, const QVariant &nativeHandle = QVariant());
~QEGLPlatformContext();
+ void initialize();
bool makeCurrent(QPlatformSurface *surface);
void doneCurrent();
void swapBuffers(QPlatformSurface *surface);
@@ -74,6 +75,8 @@ public:
protected:
virtual EGLSurface eglSurfaceForPlatformSurface(QPlatformSurface *surface) = 0;
+ virtual EGLSurface createTemporaryOffscreenSurface();
+ virtual void destroyTemporaryOffscreenSurface(EGLSurface surface);
private:
void init(const QSurfaceFormat &format, QPlatformOpenGLContext *share);
diff --git a/src/platformsupport/eglconvenience/qeglplatformcursor_p.h b/src/platformsupport/eglconvenience/qeglplatformcursor_p.h
index 83204748c1..bf2aeef378 100644
--- a/src/platformsupport/eglconvenience/qeglplatformcursor_p.h
+++ b/src/platformsupport/eglconvenience/qeglplatformcursor_p.h
@@ -92,6 +92,7 @@ private:
class QEGLPlatformCursor : public QPlatformCursor, protected QOpenGLFunctions
{
+ Q_OBJECT
public:
QEGLPlatformCursor(QPlatformScreen *screen);
~QEGLPlatformCursor();
diff --git a/src/platformsupport/eglconvenience/qeglplatformintegration.cpp b/src/platformsupport/eglconvenience/qeglplatformintegration.cpp
index 7d05b54c15..09011e6e58 100644
--- a/src/platformsupport/eglconvenience/qeglplatformintegration.cpp
+++ b/src/platformsupport/eglconvenience/qeglplatformintegration.cpp
@@ -43,6 +43,7 @@
#include <QtPlatformSupport/private/qgenericunixservices_p.h>
#include <QtPlatformSupport/private/qgenericunixeventdispatcher_p.h>
#include <QtPlatformSupport/private/qfbvthandler_p.h>
+#include <QtPlatformSupport/private/qopenglcompositorbackingstore_p.h>
#if !defined(QT_NO_EVDEV) && (!defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID_NO_SDK))
#include <QtPlatformSupport/private/qevdevmousemanager_p.h>
@@ -50,12 +51,15 @@
#include <QtPlatformSupport/private/qevdevtouch_p.h>
#endif
+#if !defined(QT_NO_TSLIB) && (!defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID_NO_SDK))
+#include <QtPlatformSupport/private/qtslib_p.h>
+#endif
+
#include <QtPlatformHeaders/qeglfsfunctions.h>
#include "qeglplatformintegration_p.h"
#include "qeglplatformcontext_p.h"
#include "qeglplatformwindow_p.h"
-#include "qeglplatformbackingstore_p.h"
#include "qeglplatformscreen_p.h"
#include "qeglplatformcursor_p.h"
@@ -84,8 +88,7 @@ QT_BEGIN_NAMESPACE
*/
QEGLPlatformIntegration::QEGLPlatformIntegration()
- : m_screen(0),
- m_display(EGL_NO_DISPLAY),
+ : m_display(EGL_NO_DISPLAY),
m_inputContext(0),
m_fontDb(new QGenericUnixFontDatabase),
m_services(new QGenericUnixServices),
@@ -95,9 +98,6 @@ QEGLPlatformIntegration::QEGLPlatformIntegration()
QEGLPlatformIntegration::~QEGLPlatformIntegration()
{
- delete m_screen;
- if (m_display != EGL_NO_DISPLAY)
- eglTerminate(m_display);
}
void QEGLPlatformIntegration::initialize()
@@ -110,14 +110,20 @@ void QEGLPlatformIntegration::initialize()
if (!eglInitialize(m_display, &major, &minor))
qFatal("Could not initialize egl display");
- m_screen = createScreen();
- screenAdded(m_screen);
-
m_inputContext = QPlatformInputContextFactory::create();
m_vtHandler.reset(new QFbVtHandler);
}
+void QEGLPlatformIntegration::destroy()
+{
+ foreach (QWindow *w, qGuiApp->topLevelWindows())
+ w->destroy();
+
+ if (m_display != EGL_NO_DISPLAY)
+ eglTerminate(m_display);
+}
+
QAbstractEventDispatcher *QEGLPlatformIntegration::createEventDispatcher() const
{
return createUnixEventDispatcher();
@@ -135,7 +141,9 @@ QPlatformFontDatabase *QEGLPlatformIntegration::fontDatabase() const
QPlatformBackingStore *QEGLPlatformIntegration::createPlatformBackingStore(QWindow *window) const
{
- return new QEGLPlatformBackingStore(window);
+ QOpenGLCompositorBackingStore *bs = new QOpenGLCompositorBackingStore(window);
+ static_cast<QEGLPlatformWindow *>(window->handle())->setBackingStore(bs);
+ return bs;
}
QPlatformWindow *QEGLPlatformIntegration::createPlatformWindow(QWindow *window) const
@@ -150,10 +158,9 @@ QPlatformWindow *QEGLPlatformIntegration::createPlatformWindow(QWindow *window)
QPlatformOpenGLContext *QEGLPlatformIntegration::createPlatformOpenGLContext(QOpenGLContext *context) const
{
- QEGLPlatformScreen *screen = static_cast<QEGLPlatformScreen *>(context->screen()->handle());
// If there is a "root" window into which raster and QOpenGLWidget content is
// composited, all other contexts must share with its context.
- QOpenGLContext *compositingContext = screen ? screen->compositingContext() : 0;
+ QOpenGLContext *compositingContext = QOpenGLCompositor::instance()->context();
QPlatformOpenGLContext *share = compositingContext ? compositingContext->handle() : context->shareHandle();
QVariant nativeHandle = context->nativeHandle();
QPlatformOpenGLContext *platformContext = createContext(context->format(),
@@ -219,7 +226,7 @@ void *QEGLPlatformIntegration::nativeResourceForIntegration(const QByteArray &re
switch (resourceType(resource)) {
case EglDisplay:
- result = m_screen->display();
+ result = display();
break;
case NativeDisplay:
result = reinterpret_cast<void*>(nativeDisplay());
@@ -257,7 +264,7 @@ void *QEGLPlatformIntegration::nativeResourceForWindow(const QByteArray &resourc
if (window && window->handle())
result = static_cast<QEGLPlatformScreen *>(window->handle()->screen())->display();
else
- result = m_screen->display();
+ result = display();
break;
case EglWindow:
if (window && window->handle())
@@ -345,11 +352,17 @@ void QEGLPlatformIntegration::createInputHandlers()
m_kbdMgr = new QEvdevKeyboardManager(QLatin1String("EvdevKeyboard"), QString() /* spec */, this);
QEvdevMouseManager *mouseMgr = new QEvdevMouseManager(QLatin1String("EvdevMouse"), QString() /* spec */, this);
Q_FOREACH (QScreen *screen, QGuiApplication::screens()) {
- QEGLPlatformCursor *cursor = static_cast<QEGLPlatformCursor *>(screen->handle()->cursor());
+ QEGLPlatformCursor *cursor = qobject_cast<QEGLPlatformCursor *>(screen->handle()->cursor());
if (cursor)
cursor->setMouseDeviceDiscovery(mouseMgr->deviceDiscovery());
}
- new QEvdevTouchScreenHandlerThread(QString() /* spec */, this);
+#ifndef QT_NO_TSLIB
+ const bool useTslib = qEnvironmentVariableIntValue("QT_QPA_EGLFS_TSLIB");
+ if (useTslib)
+ new QTsLibMouseHandler(QLatin1String("TsLib"), QString() /* spec */);
+ else
+#endif // QT_NO_TSLIB
+ new QEvdevTouchScreenHandlerThread(QString() /* spec */, this);
#endif
}
diff --git a/src/platformsupport/eglconvenience/qeglplatformintegration_p.h b/src/platformsupport/eglconvenience/qeglplatformintegration_p.h
index 4d7adce309..7f0037db92 100644
--- a/src/platformsupport/eglconvenience/qeglplatformintegration_p.h
+++ b/src/platformsupport/eglconvenience/qeglplatformintegration_p.h
@@ -52,7 +52,6 @@
QT_BEGIN_NAMESPACE
-class QEGLPlatformScreen;
class QEGLPlatformWindow;
class QEGLPlatformContext;
class QFbVtHandler;
@@ -65,8 +64,8 @@ public:
~QEGLPlatformIntegration();
void initialize() Q_DECL_OVERRIDE;
+ void destroy() Q_DECL_OVERRIDE;
- QEGLPlatformScreen *screen() const { return m_screen; }
EGLDisplay display() const { return m_display; }
QAbstractEventDispatcher *createEventDispatcher() const Q_DECL_OVERRIDE;
@@ -92,7 +91,6 @@ public:
QFunctionPointer platformFunction(const QByteArray &function) const Q_DECL_OVERRIDE;
protected:
- virtual QEGLPlatformScreen *createScreen() const = 0;
virtual QEGLPlatformWindow *createWindow(QWindow *window) const = 0;
virtual QEGLPlatformContext *createContext(const QSurfaceFormat &format,
QPlatformOpenGLContext *shareContext,
@@ -109,7 +107,6 @@ protected:
private:
static void loadKeymapStatic(const QString &filename);
- QEGLPlatformScreen *m_screen;
EGLDisplay m_display;
QPlatformInputContext *m_inputContext;
QScopedPointer<QPlatformFontDatabase> m_fontDb;
diff --git a/src/platformsupport/eglconvenience/qeglplatformscreen.cpp b/src/platformsupport/eglconvenience/qeglplatformscreen.cpp
index fd577a48d7..fd9befb575 100644
--- a/src/platformsupport/eglconvenience/qeglplatformscreen.cpp
+++ b/src/platformsupport/eglconvenience/qeglplatformscreen.cpp
@@ -31,8 +31,8 @@
**
****************************************************************************/
-#include "qeglcompositor_p.h"
#include "qeglplatformscreen_p.h"
+#include <QtPlatformSupport/private/qopenglcompositor_p.h>
QT_BEGIN_NAMESPACE
@@ -42,19 +42,6 @@ QT_BEGIN_NAMESPACE
\since 5.2
\internal
\ingroup qpa
-
- This class provides a lightweight base for QPlatformScreen
- implementations. It covers basic window stack management which is
- necessary when compositing multiple raster (widget-based) windows
- together into one single native surface.
-
- Reimplementing the virtuals are essential when using
- QEGLPlatformBackingStore. The context and the window returned from
- these are the ones that are used when compositing the textures
- generated from the raster (widget) based windows.
-
- \note It is up to the QEGLPlatformWindow subclasses to use the
- functions, like addWindow(), removeWindow(), etc., provided here.
*/
QEGLPlatformScreen::QEGLPlatformScreen(EGLDisplay dpy)
@@ -64,39 +51,7 @@ QEGLPlatformScreen::QEGLPlatformScreen(EGLDisplay dpy)
QEGLPlatformScreen::~QEGLPlatformScreen()
{
- QEGLCompositor::destroy();
-}
-
-void QEGLPlatformScreen::addWindow(QEGLPlatformWindow *window)
-{
- if (!m_windows.contains(window)) {
- m_windows.append(window);
- topWindowChanged(window);
- }
-}
-
-void QEGLPlatformScreen::removeWindow(QEGLPlatformWindow *window)
-{
- m_windows.removeOne(window);
- if (!m_windows.isEmpty())
- topWindowChanged(m_windows.last());
-}
-
-void QEGLPlatformScreen::moveToTop(QEGLPlatformWindow *window)
-{
- m_windows.removeOne(window);
- m_windows.append(window);
- topWindowChanged(window);
-}
-
-void QEGLPlatformScreen::changeWindowIndex(QEGLPlatformWindow *window, int newIdx)
-{
- int idx = m_windows.indexOf(window);
- if (idx != -1 && idx != newIdx) {
- m_windows.move(idx, newIdx);
- if (newIdx == m_windows.size() - 1)
- topWindowChanged(m_windows.last());
- }
+ QOpenGLCompositor::destroy();
}
QT_END_NAMESPACE
diff --git a/src/platformsupport/eglconvenience/qeglplatformscreen_p.h b/src/platformsupport/eglconvenience/qeglplatformscreen_p.h
index bb1d26d7d2..e9d3363a66 100644
--- a/src/platformsupport/eglconvenience/qeglplatformscreen_p.h
+++ b/src/platformsupport/eglconvenience/qeglplatformscreen_p.h
@@ -60,22 +60,9 @@ public:
QEGLPlatformScreen(EGLDisplay dpy);
~QEGLPlatformScreen();
- QList<QEGLPlatformWindow *> windows() const { return m_windows; }
-
- void addWindow(QEGLPlatformWindow *window);
- void removeWindow(QEGLPlatformWindow *window);
- void moveToTop(QEGLPlatformWindow *window);
- void changeWindowIndex(QEGLPlatformWindow *window, int newIdx);
-
- virtual void topWindowChanged(QEGLPlatformWindow *window) { Q_UNUSED(window); }
-
EGLDisplay display() const { return m_dpy; }
- virtual QEGLPlatformWindow *compositingWindow() = 0;
- virtual QOpenGLContext *compositingContext() = 0;
-
private:
- QList<QEGLPlatformWindow *> m_windows;
EGLDisplay m_dpy;
};
diff --git a/src/platformsupport/eglconvenience/qeglplatformwindow.cpp b/src/platformsupport/eglconvenience/qeglplatformwindow.cpp
index 39edec4811..5e5c879a22 100644
--- a/src/platformsupport/eglconvenience/qeglplatformwindow.cpp
+++ b/src/platformsupport/eglconvenience/qeglplatformwindow.cpp
@@ -32,9 +32,10 @@
****************************************************************************/
#include <qpa/qwindowsysteminterface.h>
+#include <QtPlatformSupport/private/qopenglcompositor_p.h>
+#include <QtPlatformSupport/private/qopenglcompositorbackingstore_p.h>
#include "qeglplatformwindow_p.h"
-#include "qeglplatformbackingstore_p.h"
#include "qeglplatformscreen_p.h"
QT_BEGIN_NAMESPACE
@@ -47,7 +48,7 @@ QT_BEGIN_NAMESPACE
\ingroup qpa
Lightweight class providing some basic platform window operations
- and interfacing with QEGLPlatformBackingStore.
+ and interfacing with QOpenGLCompositorBackingStore.
Almost no QPlatformWindow functions are implemented here. This is
intentional because different platform plugins may use different
@@ -57,13 +58,15 @@ QT_BEGIN_NAMESPACE
enforce anything for these functions.
\note Subclasses are responsible for invoking this class'
- implementation of create(). When using QEGLPlatformScreen, the
- subclasses of this class are expected to utilize the window stack
- management functions (addWindow() etc.) provided there.
+ implementation of create() and are expected to utilize the window
+ stack management functions (addWindow() etc.) in
+ QOpenGLCompositor.
*/
QEGLPlatformWindow::QEGLPlatformWindow(QWindow *w)
: QPlatformWindow(w),
+ m_backingStore(0),
+ m_raster(false),
m_winId(0)
{
}
@@ -100,6 +103,11 @@ bool QEGLPlatformWindow::isRaster() const
return m_raster || window()->surfaceType() == QSurface::RasterGLSurface;
}
+QWindow *QEGLPlatformWindow::sourceWindow() const
+{
+ return window();
+}
+
const QPlatformTextureList *QEGLPlatformWindow::textures() const
{
if (m_backingStore)
@@ -108,10 +116,10 @@ const QPlatformTextureList *QEGLPlatformWindow::textures() const
return 0;
}
-void QEGLPlatformWindow::composited()
+void QEGLPlatformWindow::endCompositing()
{
if (m_backingStore)
- m_backingStore->composited();
+ m_backingStore->notifyComposited();
}
WId QEGLPlatformWindow::winId() const
@@ -122,7 +130,7 @@ WId QEGLPlatformWindow::winId() const
void QEGLPlatformWindow::setOpacity(qreal)
{
if (!isRaster())
- qWarning("eglfs: Cannot set opacity for non-raster windows");
+ qWarning("QEGLPlatformWindow: Cannot set opacity for non-raster windows");
// Nothing to do here. The opacity is stored in the QWindow.
}
diff --git a/src/platformsupport/eglconvenience/qeglplatformwindow_p.h b/src/platformsupport/eglconvenience/qeglplatformwindow_p.h
index 3a19301e5d..947f02aeb5 100644
--- a/src/platformsupport/eglconvenience/qeglplatformwindow_p.h
+++ b/src/platformsupport/eglconvenience/qeglplatformwindow_p.h
@@ -46,33 +46,36 @@
//
#include <qpa/qplatformwindow.h>
+#include <QtPlatformSupport/private/qopenglcompositor_p.h>
#include <EGL/egl.h>
QT_BEGIN_NAMESPACE
-class QEGLPlatformBackingStore;
+class QOpenGLCompositorBackingStore;
class QPlatformTextureList;
-class QEGLPlatformWindow : public QPlatformWindow
+class QEGLPlatformWindow : public QPlatformWindow, public QOpenGLCompositorWindow
{
public:
QEGLPlatformWindow(QWindow *w);
virtual void create();
- QEGLPlatformBackingStore *backingStore() { return m_backingStore; }
- void setBackingStore(QEGLPlatformBackingStore *backingStore) { m_backingStore = backingStore; }
- const QPlatformTextureList *textures() const;
- void composited();
+ QOpenGLCompositorBackingStore *backingStore() { return m_backingStore; }
+ void setBackingStore(QOpenGLCompositorBackingStore *backingStore) { m_backingStore = backingStore; }
bool isRaster() const;
+ QWindow *sourceWindow() const Q_DECL_OVERRIDE;
+ const QPlatformTextureList *textures() const Q_DECL_OVERRIDE;
+ void endCompositing() Q_DECL_OVERRIDE;
+
WId winId() const Q_DECL_OVERRIDE;
void setOpacity(qreal opacity) Q_DECL_OVERRIDE;
virtual EGLNativeWindowType eglWindow() const = 0;
private:
- QEGLPlatformBackingStore *m_backingStore;
+ QOpenGLCompositorBackingStore *m_backingStore;
bool m_raster;
WId m_winId;
};
diff --git a/src/platformsupport/eglconvenience/qxlibeglintegration.cpp b/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
index ff7e6ce271..9036c182ff 100644
--- a/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
+++ b/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
@@ -31,8 +31,11 @@
**
****************************************************************************/
+#include <QLoggingCategory>
#include "qxlibeglintegration_p.h"
+Q_LOGGING_CATEGORY(lcXlibEglDebug, "qt.egl.xlib.debug")
+
VisualID QXlibEglIntegration::getCompatibleVisualId(Display *display, EGLDisplay eglDisplay, EGLConfig config)
{
VisualID visualId = 0;
@@ -87,31 +90,26 @@ VisualID QXlibEglIntegration::getCompatibleVisualId(Display *display, EGLDisplay
// configs. In such a case we have to fall back to XGetVisualInfo.
if (!visualMatchesConfig) {
visualId = 0;
-#ifdef QT_DEBUG_X11_VISUAL_SELECTION
- qWarning("Warning: EGL suggested using X Visual ID %d (%d %d %d depth %d) for EGL config %d (%d %d %d %d), but this is incompatible",
- (int)visualId, visualRedSize, visualGreenSize, visualBlueSize, chosenVisualInfo->depth,
- configId, configRedSize, configGreenSize, configBlueSize, configAlphaSize);
-#endif
+ qCDebug(lcXlibEglDebug,
+ "EGL suggested using X Visual ID %d (%d %d %d depth %d) for EGL config %d"
+ "(%d %d %d %d), but this is incompatible",
+ (int)visualId, visualRedSize, visualGreenSize, visualBlueSize, chosenVisualInfo->depth,
+ configId, configRedSize, configGreenSize, configBlueSize, configAlphaSize);
}
} else {
- qWarning("Warning: EGL suggested using X Visual ID %d for EGL config %d, but that isn't a valid ID",
- (int)visualId, configId);
+ qCDebug(lcXlibEglDebug, "EGL suggested using X Visual ID %d for EGL config %d, but that isn't a valid ID",
+ (int)visualId, configId);
visualId = 0;
}
XFree(chosenVisualInfo);
}
-#ifdef QT_DEBUG_X11_VISUAL_SELECTION
else
- qDebug("EGL did not suggest a VisualID (EGL_NATIVE_VISUAL_ID was zero) for EGLConfig %d", configId);
-#endif
+ qCDebug(lcXlibEglDebug, "EGL did not suggest a VisualID (EGL_NATIVE_VISUAL_ID was zero) for EGLConfig %d", configId);
if (visualId) {
-#ifdef QT_DEBUG_X11_VISUAL_SELECTION
- if (configAlphaSize > 0)
- qDebug("Using ARGB Visual ID %d provided by EGL for config %d", (int)visualId, configId);
- else
- qDebug("Using Opaque Visual ID %d provided by EGL for config %d", (int)visualId, configId);
-#endif
+ qCDebug(lcXlibEglDebug, configAlphaSize > 0
+ ? "Using ARGB Visual ID %d provided by EGL for config %d"
+ : "Using Opaque Visual ID %d provided by EGL for config %d", (int)visualId, configId);
return visualId;
}
@@ -143,9 +141,7 @@ VisualID QXlibEglIntegration::getCompatibleVisualId(Display *display, EGLDisplay
}
if (visualId) {
-#ifdef QT_DEBUG_X11_VISUAL_SELECTION
- qDebug("Using Visual ID %d provided by XGetVisualInfo for EGL config %d", (int)visualId, configId);
-#endif
+ qCDebug(lcXlibEglDebug, "Using Visual ID %d provided by XGetVisualInfo for EGL config %d", (int)visualId, configId);
return visualId;
}
diff --git a/src/platformsupport/fbconvenience/qfbvthandler.cpp b/src/platformsupport/fbconvenience/qfbvthandler.cpp
index 511f723dd9..d6c3944cb0 100644
--- a/src/platformsupport/fbconvenience/qfbvthandler.cpp
+++ b/src/platformsupport/fbconvenience/qfbvthandler.cpp
@@ -68,7 +68,7 @@ QFbVtHandler::QFbVtHandler(QObject *parent)
m_tty = 0;
::ioctl(m_tty, KDGKBMODE, &m_oldKbdMode);
- if (!qgetenv("QT_QPA_ENABLE_TERMINAL_KEYBOARD").toInt()) {
+ if (!qEnvironmentVariableIntValue("QT_QPA_ENABLE_TERMINAL_KEYBOARD")) {
::ioctl(m_tty, KDSKBMODE, KBD_OFF_MODE);
QGuiApplicationPrivate *appd = QGuiApplicationPrivate::instance();
Q_ASSERT(appd);
diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
index 5dec1d0915..686563893f 100644
--- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
+++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
@@ -54,6 +54,13 @@
QT_BEGIN_NAMESPACE
+static const int maxWeight = 99;
+
+static inline int mapToQtWeightForRange(int fcweight, int fcLower, int fcUpper, int qtLower, int qtUpper)
+{
+ return qtLower + ((fcweight - fcLower) * (qtUpper - qtLower)) / (fcUpper - fcLower);
+}
+
static inline bool requiresOpenType(int writingSystem)
{
return ((writingSystem >= QFontDatabase::Syriac && writingSystem <= QFontDatabase::Sinhala)
@@ -68,26 +75,22 @@ static inline int weightFromFcWeight(int fcweight)
// mapping. This ensures that where there is a corresponding enum on both sides (for example
// FC_WEIGHT_DEMIBOLD and QFont::DemiBold) we map one to the other but other values map
// to intermediate Qt weights.
- const int maxWeight = 99;
- int qtweight;
- if (fcweight < 0)
- qtweight = 0;
- else if (fcweight <= FC_WEIGHT_LIGHT)
- qtweight = (fcweight * QFont::Light) / FC_WEIGHT_LIGHT;
- else if (fcweight <= FC_WEIGHT_NORMAL)
- qtweight = QFont::Light + ((fcweight - FC_WEIGHT_LIGHT) * (QFont::Normal - QFont::Light)) / (FC_WEIGHT_NORMAL - FC_WEIGHT_LIGHT);
- else if (fcweight <= FC_WEIGHT_DEMIBOLD)
- qtweight = QFont::Normal + ((fcweight - FC_WEIGHT_NORMAL) * (QFont::DemiBold - QFont::Normal)) / (FC_WEIGHT_DEMIBOLD - FC_WEIGHT_NORMAL);
- else if (fcweight <= FC_WEIGHT_BOLD)
- qtweight = QFont::DemiBold + ((fcweight - FC_WEIGHT_DEMIBOLD) * (QFont::Bold - QFont::DemiBold)) / (FC_WEIGHT_BOLD - FC_WEIGHT_DEMIBOLD);
- else if (fcweight <= FC_WEIGHT_BLACK)
- qtweight = QFont::Bold + ((fcweight - FC_WEIGHT_BOLD) * (QFont::Black - QFont::Bold)) / (FC_WEIGHT_BLACK - FC_WEIGHT_BOLD);
- else if (fcweight <= FC_WEIGHT_ULTRABLACK)
- qtweight = QFont::Black + ((fcweight - FC_WEIGHT_BLACK) * (maxWeight - QFont::Black)) / (FC_WEIGHT_ULTRABLACK - FC_WEIGHT_BLACK);
- else
- qtweight = maxWeight;
- return qtweight;
+ if (fcweight < 0)
+ return 0;
+ if (fcweight <= FC_WEIGHT_LIGHT)
+ return mapToQtWeightForRange(fcweight, 0, FC_WEIGHT_LIGHT, 0, QFont::Light);
+ if (fcweight <= FC_WEIGHT_NORMAL)
+ return mapToQtWeightForRange(fcweight, FC_WEIGHT_LIGHT, FC_WEIGHT_NORMAL, QFont::Light, QFont::Normal);
+ if (fcweight <= FC_WEIGHT_DEMIBOLD)
+ return mapToQtWeightForRange(fcweight, FC_WEIGHT_NORMAL, FC_WEIGHT_DEMIBOLD, QFont::Normal, QFont::DemiBold);
+ if (fcweight <= FC_WEIGHT_BOLD)
+ return mapToQtWeightForRange(fcweight, FC_WEIGHT_DEMIBOLD, FC_WEIGHT_BOLD, QFont::DemiBold, QFont::Bold);
+ if (fcweight <= FC_WEIGHT_BLACK)
+ return mapToQtWeightForRange(fcweight, FC_WEIGHT_BOLD, FC_WEIGHT_BLACK, QFont::Bold, QFont::Black);
+ if (fcweight <= FC_WEIGHT_ULTRABLACK)
+ return mapToQtWeightForRange(fcweight, FC_WEIGHT_BLACK, FC_WEIGHT_ULTRABLACK, QFont::Black, maxWeight);
+ return maxWeight;
}
static inline int stretchFromFcWidth(int fcwidth)
diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp
index 956cf68290..b0460814ca 100644
--- a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp
+++ b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp
@@ -38,7 +38,7 @@
QT_BEGIN_NAMESPACE
QFontEngineMultiFontConfig::QFontEngineMultiFontConfig(QFontEngine *fe, int script)
- : QFontEngineMultiBasicImpl(fe, script)
+ : QFontEngineMulti(fe, script)
{
}
@@ -67,8 +67,8 @@ bool QFontEngineMultiFontConfig::shouldLoadFontEngineForCharacter(int at, uint u
FcPattern * QFontEngineMultiFontConfig::getMatchPatternForFallback(int fallBackIndex) const
{
Q_ASSERT(fallBackIndex < fallbackFamilyCount());
- if (engines.size() - 1 > cachedMatchPatterns.size())
- cachedMatchPatterns.resize(engines.size() - 1);
+ if (fallbackFamilyCount() > cachedMatchPatterns.size())
+ cachedMatchPatterns.resize(fallbackFamilyCount());
FcPattern *ret = cachedMatchPatterns.at(fallBackIndex);
if (ret)
return ret;
diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h
index 115f8e6c16..8ebdccd294 100644
--- a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h
+++ b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h
@@ -50,7 +50,7 @@
QT_BEGIN_NAMESPACE
-class QFontEngineMultiFontConfig : public QFontEngineMultiBasicImpl
+class QFontEngineMultiFontConfig : public QFontEngineMulti
{
public:
explicit QFontEngineMultiFontConfig(QFontEngine *fe, int script);
diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
index 23fe48b493..44f6be21c7 100644
--- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
@@ -646,15 +646,11 @@ QImage QCoreTextFontEngine::alphaMapForGlyph(glyph_t glyph, QFixed subPixelPosit
QImage im = imageForGlyph(glyph, subPixelPosition, false, x);
- QImage indexed(im.width(), im.height(), QImage::Format_Indexed8);
- QVector<QRgb> colors(256);
- for (int i=0; i<256; ++i)
- colors[i] = qRgba(0, 0, 0, i);
- indexed.setColorTable(colors);
+ QImage alphaMap(im.width(), im.height(), QImage::Format_Alpha8);
for (int y=0; y<im.height(); ++y) {
uint *src = (uint*) im.scanLine(y);
- uchar *dst = indexed.scanLine(y);
+ uchar *dst = alphaMap.scanLine(y);
for (int x=0; x<im.width(); ++x) {
*dst = qGray(*src);
++dst;
@@ -662,7 +658,7 @@ QImage QCoreTextFontEngine::alphaMapForGlyph(glyph_t glyph, QFixed subPixelPosit
}
}
- return indexed;
+ return alphaMap;
}
QImage QCoreTextFontEngine::alphaRGBMapForGlyph(glyph_t glyph, QFixed subPixelPosition, const QTransform &x)
diff --git a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp
index 27d15dfafa..9ce97cf373 100644
--- a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp
+++ b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp
@@ -37,20 +37,18 @@
#include <QSocketNotifier>
#include <QStringList>
-#include <qpa/qwindowsysteminterface.h>
#include <QCoreApplication>
+#include <QLoggingCategory>
+#include <qpa/qwindowsysteminterface.h>
#include <private/qcore_unix_p.h>
#include <linux/input.h>
-//#define QT_QPA_KEYMAP_DEBUG
-
-#ifdef QT_QPA_KEYMAP_DEBUG
-#include <qdebug.h>
-#endif
-
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(qLcEvdevKey, "qt.qpa.input")
+Q_LOGGING_CATEGORY(qLcEvdevKeyMap, "qt.qpa.input.keymap")
+
// simple builtin US keymap
#include "qevdevkeyboard_defaultmap_p.h"
@@ -60,9 +58,7 @@ QEvdevKeyboardHandler::QEvdevKeyboardHandler(const QString &device, int fd, bool
m_no_zap(disableZap), m_do_compose(enableCompose),
m_keymap(0), m_keymap_size(0), m_keycompose(0), m_keycompose_size(0)
{
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning() << "Create keyboard handler with for device" << device;
-#endif
+ qCDebug(qLcEvdevKey) << "Create keyboard handler with for device" << device;
setObjectName(QLatin1String("LinuxInput Keyboard Handler"));
@@ -89,9 +85,7 @@ QEvdevKeyboardHandler *QEvdevKeyboardHandler::create(const QString &device,
const QString &specification,
const QString &defaultKeymapFile)
{
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning() << "Try to create keyboard handler for" << device << specification;
-#endif
+ qCDebug(qLcEvdevKey) << "Try to create keyboard handler for" << device << specification;
QString keymapFile = defaultKeymapFile;
int repeatDelay = 400;
@@ -116,9 +110,7 @@ QEvdevKeyboardHandler *QEvdevKeyboardHandler::create(const QString &device,
grab = arg.mid(5).toInt();
}
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning() << "Opening keyboard at" << device;
-#endif
+ qCDebug(qLcEvdevKey) << "Opening keyboard at" << device;
int fd;
fd = qt_safe_open(device.toLocal8Bit().constData(), O_RDONLY | O_NDELAY, 0);
@@ -138,9 +130,7 @@ QEvdevKeyboardHandler *QEvdevKeyboardHandler::create(const QString &device,
void QEvdevKeyboardHandler::switchLed(int led, bool state)
{
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning() << "switchLed" << led << state;
-#endif
+ qCDebug(qLcEvdevKey) << "switchLed" << led << state;
struct ::input_event led_ie;
::gettimeofday(&led_ie.time, 0);
@@ -153,10 +143,6 @@ void QEvdevKeyboardHandler::switchLed(int led, bool state)
void QEvdevKeyboardHandler::readKeycode()
{
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning() << "Read new keycode on" << m_device;
-#endif
-
struct ::input_event buffer[32];
int n = 0;
@@ -164,11 +150,11 @@ void QEvdevKeyboardHandler::readKeycode()
int result = qt_safe_read(m_fd, reinterpret_cast<char *>(buffer) + n, sizeof(buffer) - n);
if (result == 0) {
- qWarning("Got EOF from the input device.");
+ qWarning("evdevkeyboard: Got EOF from the input device");
return;
} else if (result < 0) {
if (errno != EINTR && errno != EAGAIN) {
- qWarning("Could not read from input device: %s", strerror(errno));
+ qErrnoWarning(errno, "evdevkeyboard: Could not read from input device");
return;
}
} else {
@@ -249,21 +235,17 @@ QEvdevKeyboardHandler::KeycodeAction QEvdevKeyboardHandler::processKeycode(quint
if (m_locks[0] /*CapsLock*/ && map_withmod && (map_withmod->flags & QEvdevKeyboardMap::IsLetter))
modifiers ^= QEvdevKeyboardMap::ModShift;
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning("Processing key event: keycode=%3d, modifiers=%02x pressed=%d, autorepeat=%d | plain=%d, withmod=%d, size=%d", \
- keycode, modifiers, pressed ? 1 : 0, autorepeat ? 1 : 0, \
- map_plain ? map_plain - m_keymap : -1, \
- map_withmod ? map_withmod - m_keymap : -1, \
- m_keymap_size);
-#endif
+ qCDebug(qLcEvdevKeyMap, "Processing key event: keycode=%3d, modifiers=%02x pressed=%d, autorepeat=%d | plain=%d, withmod=%d, size=%d",
+ keycode, modifiers, pressed ? 1 : 0, autorepeat ? 1 : 0,
+ int(map_plain ? map_plain - m_keymap : -1),
+ int(map_withmod ? map_withmod - m_keymap : -1),
+ m_keymap_size);
const QEvdevKeyboardMap::Mapping *it = map_withmod ? map_withmod : map_plain;
if (!it) {
-#ifdef QT_QPA_KEYMAP_DEBUG
// we couldn't even find a plain mapping
- qWarning("Could not find a suitable mapping for keycode: %3d, modifiers: %02x", keycode, modifiers);
-#endif
+ qCDebug(qLcEvdevKeyMap, "Could not find a suitable mapping for keycode: %3d, modifiers: %02x", keycode, modifiers);
return result;
}
@@ -397,9 +379,7 @@ QEvdevKeyboardHandler::KeycodeAction QEvdevKeyboardHandler::processKeycode(quint
}
if (!skip) {
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning("Processing: uni=%04x, qt=%08x, qtmod=%08x", unicode, qtcode & ~modmask, (qtcode & modmask));
-#endif
+ qCDebug(qLcEvdevKeyMap, "Processing: uni=%04x, qt=%08x, qtmod=%08x", unicode, qtcode & ~modmask, (qtcode & modmask));
//If NumLockOff and keypad key pressed remap event sent
if (!m_locks[1] &&
(qtcode & Qt::KeypadModifier) &&
@@ -457,9 +437,7 @@ QEvdevKeyboardHandler::KeycodeAction QEvdevKeyboardHandler::processKeycode(quint
void QEvdevKeyboardHandler::unloadKeymap()
{
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning() << "Unload current keymap and restore built-in";
-#endif
+ qCDebug(qLcEvdevKey) << "Unload current keymap and restore built-in";
if (m_keymap && m_keymap != s_keymap_default)
delete [] m_keymap;
@@ -481,7 +459,7 @@ void QEvdevKeyboardHandler::unloadKeymap()
quint16 ledbits[1];
memset(ledbits, 0, sizeof(ledbits));
if (::ioctl(m_fd, EVIOCGLED(sizeof(ledbits)), ledbits) < 0) {
- qWarning("Failed to query led states. Settings numlock & capslock off");
+ qWarning("evdevkeyboard: Failed to query led states");
switchLed(LED_NUML,false);
switchLed(LED_CAPSL, false);
switchLed(LED_SCROLLL,false);
@@ -495,17 +473,13 @@ void QEvdevKeyboardHandler::unloadKeymap()
//Scrollock
if ((ledbits[0]&0x04) > 0)
m_locks[2] = 1;
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning("numlock=%d , capslock=%d, scrolllock=%d",m_locks[1],m_locks[0],m_locks[2]);
-#endif
+ qCDebug(qLcEvdevKey, "numlock=%d , capslock=%d, scrolllock=%d", m_locks[1], m_locks[0], m_locks[2]);
}
}
bool QEvdevKeyboardHandler::loadKeymap(const QString &file)
{
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning() << "Load keymap" << file;
-#endif
+ qCDebug(qLcEvdevKey) << "Loading keymap" << file;
QFile f(file);
@@ -529,7 +503,7 @@ bool QEvdevKeyboardHandler::loadKeymap(const QString &file)
ds >> qmap_magic >> qmap_version >> qmap_keymap_size >> qmap_keycompose_size;
if (ds.status() != QDataStream::Ok || qmap_magic != QEvdevKeyboardMap::FileMagic || qmap_version != 1 || qmap_keymap_size == 0) {
- qWarning("'%s' is ot a valid.qmap keymap file.", qPrintable(file));
+ qWarning("'%s' is not a valid .qmap keymap file", qPrintable(file));
return false;
}
diff --git a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardmanager.cpp b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardmanager.cpp
index 3f8eb1bcd5..4614fbd499 100644
--- a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardmanager.cpp
+++ b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardmanager.cpp
@@ -35,15 +35,12 @@
#include <QStringList>
#include <QCoreApplication>
-
-//#define QT_QPA_KEYMAP_DEBUG
-
-#ifdef QT_QPA_KEYMAP_DEBUG
-#include <QDebug>
-#endif
+#include <QLoggingCategory>
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(qLcEvdevKey)
+
QEvdevKeyboardManager::QEvdevKeyboardManager(const QString &key, const QString &specification, QObject *parent)
: QObject(parent)
{
@@ -74,10 +71,7 @@ QEvdevKeyboardManager::QEvdevKeyboardManager(const QString &key, const QString &
addKeyboard(device);
if (devices.isEmpty()) {
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning() << "Use device discovery";
-#endif
-
+ qCDebug(qLcEvdevKey) << "evdevkeyboard: Using device discovery";
m_deviceDiscovery = QDeviceDiscovery::create(QDeviceDiscovery::Device_Keyboard, this);
if (m_deviceDiscovery) {
// scan and add already connected keyboards
@@ -100,24 +94,19 @@ QEvdevKeyboardManager::~QEvdevKeyboardManager()
void QEvdevKeyboardManager::addKeyboard(const QString &deviceNode)
{
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning() << "Adding keyboard at" << deviceNode;
-#endif
-
+ qCDebug(qLcEvdevKey) << "Adding keyboard at" << deviceNode;
QEvdevKeyboardHandler *keyboard;
keyboard = QEvdevKeyboardHandler::create(deviceNode, m_spec, m_defaultKeymapFile);
if (keyboard)
m_keyboards.insert(deviceNode, keyboard);
else
- qWarning("Failed to open keyboard");
+ qWarning("Failed to open keyboard device %s", qPrintable(deviceNode));
}
void QEvdevKeyboardManager::removeKeyboard(const QString &deviceNode)
{
if (m_keyboards.contains(deviceNode)) {
-#ifdef QT_QPA_KEYMAP_DEBUG
- qWarning() << "Removing keyboard at" << deviceNode;
-#endif
+ qCDebug(qLcEvdevKey) << "Removing keyboard at" << deviceNode;
QEvdevKeyboardHandler *keyboard = m_keyboards.value(deviceNode);
m_keyboards.remove(deviceNode);
delete keyboard;
diff --git a/src/platformsupport/input/evdevmouse/qevdevmousehandler.cpp b/src/platformsupport/input/evdevmouse/qevdevmousehandler.cpp
index 11db06680a..eddf180e4a 100644
--- a/src/platformsupport/input/evdevmouse/qevdevmousehandler.cpp
+++ b/src/platformsupport/input/evdevmouse/qevdevmousehandler.cpp
@@ -38,6 +38,7 @@
#include <QPoint>
#include <QGuiApplication>
#include <QScreen>
+#include <QLoggingCategory>
#include <qpa/qwindowsysteminterface.h>
#include <qplatformdefs.h>
@@ -48,19 +49,15 @@
#include <linux/kd.h>
#include <linux/input.h>
-#include <qdebug.h>
-
-//#define QT_QPA_MOUSE_HANDLER_DEBUG
-
#define TEST_BIT(array, bit) (array[bit/8] & (1<<(bit%8)))
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(qLcEvdevMouse, "qt.qpa.input")
+
QEvdevMouseHandler *QEvdevMouseHandler::create(const QString &device, const QString &specification)
{
-#ifdef QT_QPA_MOUSE_HANDLER_DEBUG
- qWarning() << "Try to create mouse handler for" << device << specification;
-#endif
+ qCDebug(qLcEvdevMouse) << "create mouse handler for" << device << specification;
bool compression = true;
int jitterLimit = 0;
@@ -85,7 +82,7 @@ QEvdevMouseHandler *QEvdevMouseHandler::create(const QString &device, const QStr
::ioctl(fd, EVIOCGRAB, grab);
return new QEvdevMouseHandler(device, fd, abs, compression, jitterLimit);
} else {
- qWarning("Cannot open mouse input device '%s': %s", qPrintable(device), strerror(errno));
+ qErrnoWarning(errno, "Cannot open mouse input device %s", qPrintable(device));
return 0;
}
}
@@ -148,12 +145,10 @@ bool QEvdevMouseHandler::getHardwareMaximum()
m_hardwareScalerX = static_cast<qreal>(m_hardwareWidth) / (g.right() - g.left());
m_hardwareScalerY = static_cast<qreal>(m_hardwareHeight) / (g.bottom() - g.top());
-#ifdef QT_QPA_MOUSE_HANDLER_DEBUG
- qDebug() << "Absolute pointing device";
- qDebug() << "hardware max x" << m_hardwareWidth;
- qDebug() << "hardware max y" << m_hardwareHeight;
- qDebug() << "hardware scalers x" << m_hardwareScalerX << "y" << m_hardwareScalerY;
-#endif
+ qCDebug(qLcEvdevMouse) << "Absolute pointing device"
+ << "hardware max x" << m_hardwareWidth
+ << "hardware max y" << m_hardwareHeight
+ << "hardware scalers x" << m_hardwareScalerX << "y" << m_hardwareScalerY;
return true;
}
@@ -194,11 +189,11 @@ void QEvdevMouseHandler::readMouseData()
int result = QT_READ(m_fd, reinterpret_cast<char *>(buffer) + n, sizeof(buffer) - n);
if (result == 0) {
- qWarning("Got EOF from the input device.");
+ qWarning("evdevmouse: Got EOF from the input device");
return;
} else if (result < 0) {
if (errno != EINTR && errno != EAGAIN) {
- qWarning("Could not read from input device: %s", strerror(errno));
+ qErrnoWarning(errno, "evdevmouse: Could not read from input device");
return;
}
} else {
@@ -212,7 +207,6 @@ void QEvdevMouseHandler::readMouseData()
for (int i = 0; i < n; ++i) {
struct ::input_event *data = &buffer[i];
- //qDebug() << ">>" << hex << data->type << data->code << dec << data->value;
if (data->type == EV_ABS) {
// Touchpads: store the absolute position for now, will calculate a relative one later.
if (data->code == ABS_X && m_x != data->value) {
diff --git a/src/platformsupport/input/evdevmouse/qevdevmousemanager.cpp b/src/platformsupport/input/evdevmouse/qevdevmousemanager.cpp
index 2b52c4e995..a0c9c9f34d 100644
--- a/src/platformsupport/input/evdevmouse/qevdevmousemanager.cpp
+++ b/src/platformsupport/input/evdevmouse/qevdevmousemanager.cpp
@@ -36,16 +36,13 @@
#include <QStringList>
#include <QGuiApplication>
#include <QScreen>
+#include <QLoggingCategory>
#include <qpa/qwindowsysteminterface.h>
-//#define QT_QPA_MOUSEMANAGER_DEBUG
-
-#ifdef QT_QPA_MOUSEMANAGER_DEBUG
-#include <QDebug>
-#endif
-
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(qLcEvdevMouse)
+
QEvdevMouseManager::QEvdevMouseManager(const QString &key, const QString &specification, QObject *parent)
: QObject(parent), m_x(0), m_y(0), m_xoffset(0), m_yoffset(0)
{
@@ -79,10 +76,7 @@ QEvdevMouseManager::QEvdevMouseManager(const QString &key, const QString &specif
addMouse(device);
if (devices.isEmpty()) {
-#ifdef QT_QPA_MOUSEMANAGER_DEBUG
- qWarning() << "Use device discovery";
-#endif
-
+ qCDebug(qLcEvdevMouse) << "evdevmouse: Using device discovery";
m_deviceDiscovery = QDeviceDiscovery::create(QDeviceDiscovery::Device_Mouse | QDeviceDiscovery::Device_Touchpad, this);
if (m_deviceDiscovery) {
// scan and add already connected keyboards
@@ -130,28 +124,17 @@ void QEvdevMouseManager::handleMouseEvent(int x, int y, bool abs, Qt::MouseButto
// Cannot track the keyboard modifiers ourselves here. Instead, report the
// modifiers from the last key event that has been seen by QGuiApplication.
QWindowSystemInterface::handleMouseEvent(0, pos, pos, buttons, QGuiApplication::keyboardModifiers());
-
-#ifdef QT_QPA_MOUSEMANAGER_DEBUG
- qDebug("mouse event %d %d %d", pos.x(), pos.y(), int(buttons));
-#endif
}
void QEvdevMouseManager::handleWheelEvent(int delta, Qt::Orientation orientation)
{
QPoint pos(m_x + m_xoffset, m_y + m_yoffset);
QWindowSystemInterface::handleWheelEvent(0, pos, pos, delta, orientation, QGuiApplication::keyboardModifiers());
-
-#ifdef QT_QPA_MOUSEMANAGER_DEBUG
- qDebug("mouse wheel event %dx%d %d %d", pos.x(), pos.y(), delta, int(orientation));
-#endif
}
void QEvdevMouseManager::addMouse(const QString &deviceNode)
{
-#ifdef QT_QPA_MOUSEMANAGER_DEBUG
- qWarning() << "Adding mouse at" << deviceNode;
-#endif
-
+ qCDebug(qLcEvdevMouse) << "Adding mouse at" << deviceNode;
QEvdevMouseHandler *handler;
handler = QEvdevMouseHandler::create(deviceNode, m_spec);
if (handler) {
@@ -159,16 +142,14 @@ void QEvdevMouseManager::addMouse(const QString &deviceNode)
connect(handler, SIGNAL(handleWheelEvent(int,Qt::Orientation)), this, SLOT(handleWheelEvent(int,Qt::Orientation)));
m_mice.insert(deviceNode, handler);
} else {
- qWarning("Failed to open mouse");
+ qWarning("evdevmouse: Failed to open mouse device %s", qPrintable(deviceNode));
}
}
void QEvdevMouseManager::removeMouse(const QString &deviceNode)
{
if (m_mice.contains(deviceNode)) {
-#ifdef QT_QPA_MOUSEMANAGER_DEBUG
- qWarning() << "Removing mouse at" << deviceNode;
-#endif
+ qCDebug(qLcEvdevMouse) << "Removing mouse at" << deviceNode;
QEvdevMouseHandler *handler = m_mice.value(deviceNode);
m_mice.remove(deviceNode);
delete handler;
diff --git a/src/platformsupport/input/evdevtablet/qevdevtablet.cpp b/src/platformsupport/input/evdevtablet/qevdevtablet.cpp
index 8d91c49488..8dbf5832d9 100644
--- a/src/platformsupport/input/evdevtablet/qevdevtablet.cpp
+++ b/src/platformsupport/input/evdevtablet/qevdevtablet.cpp
@@ -36,13 +36,15 @@
#include <QStringList>
#include <QSocketNotifier>
#include <QGuiApplication>
-#include <QDebug>
+#include <QLoggingCategory>
#include <QtCore/private/qcore_unix_p.h>
#include <QtPlatformSupport/private/qdevicediscovery_p.h>
#include <linux/input.h>
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(qLcEvdevTablet, "qt.qpa.input")
+
class QEvdevTabletData
{
public:
@@ -87,28 +89,28 @@ bool QEvdevTabletData::queryLimits()
if (ok) {
minValues.x = absInfo.minimum;
maxValues.x = absInfo.maximum;
- qDebug("evdevtablet: min X: %d max X: %d", minValues.x, maxValues.x);
+ qCDebug(qLcEvdevTablet, "evdevtablet: min X: %d max X: %d", minValues.x, maxValues.x);
}
ok &= ioctl(fd, EVIOCGABS(ABS_Y), &absInfo) >= 0;
if (ok) {
minValues.y = absInfo.minimum;
maxValues.y = absInfo.maximum;
- qDebug("evdevtablet: min Y: %d max Y: %d", minValues.y, maxValues.y);
+ qCDebug(qLcEvdevTablet, "evdevtablet: min Y: %d max Y: %d", minValues.y, maxValues.y);
}
if (ioctl(fd, EVIOCGABS(ABS_PRESSURE), &absInfo) >= 0) {
minValues.p = absInfo.minimum;
maxValues.p = absInfo.maximum;
- qDebug("evdevtablet: min pressure: %d max pressure: %d", minValues.p, maxValues.p);
+ qCDebug(qLcEvdevTablet, "evdevtablet: min pressure: %d max pressure: %d", minValues.p, maxValues.p);
}
if (ioctl(fd, EVIOCGABS(ABS_DISTANCE), &absInfo) >= 0) {
minValues.d = absInfo.minimum;
maxValues.d = absInfo.maximum;
- qDebug("evdevtablet: min distance: %d max distance: %d", minValues.d, maxValues.d);
+ qCDebug(qLcEvdevTablet, "evdevtablet: min distance: %d max distance: %d", minValues.d, maxValues.d);
}
char name[128];
if (ioctl(fd, EVIOCGNAME(sizeof(name) - 1), name) >= 0) {
devName = QString::fromLocal8Bit(name);
- qDebug("evdevtablet: device name: %s", name);
+ qCDebug(qLcEvdevTablet, "evdevtablet: device name: %s", name);
}
return ok;
}
@@ -232,7 +234,7 @@ QEvdevTabletHandler::QEvdevTabletHandler(const QString &spec, QObject *parent)
}
}
if (!dev.isEmpty()) {
- qDebug("evdevtablet: using %s", qPrintable(dev));
+ qCDebug(qLcEvdevTablet, "evdevtablet: using %s", qPrintable(dev));
d->fd = QT_OPEN(dev.toLocal8Bit().constData(), O_RDONLY | O_NDELAY, 0);
if (d->fd >= 0) {
d->testGrab();
diff --git a/src/platformsupport/input/evdevtouch/qevdevtouch.cpp b/src/platformsupport/input/evdevtouch/qevdevtouch.cpp
index d0d8b783a4..dd831c9e82 100644
--- a/src/platformsupport/input/evdevtouch/qevdevtouch.cpp
+++ b/src/platformsupport/input/evdevtouch/qevdevtouch.cpp
@@ -36,7 +36,7 @@
#include <QHash>
#include <QSocketNotifier>
#include <QGuiApplication>
-#include <QDebug>
+#include <QLoggingCategory>
#include <QtCore/private/qcore_unix_p.h>
#include <QtPlatformSupport/private/qdevicediscovery_p.h>
#include <linux/input.h>
@@ -49,6 +49,8 @@ extern "C" {
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(qLcEvdevTouch, "qt.qpa.input")
+
/* android (and perhaps some other linux-derived stuff) don't define everything
* in linux/input.h, so we'll need to do that ourselves.
*/
@@ -164,7 +166,8 @@ QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(const QString &specification,
{
setObjectName(QLatin1String("Evdev Touch Handler"));
- bool printDeviceInfo = qgetenv("QT_QPA_EVDEV_DEBUG").toInt();
+ if (qEnvironmentVariableIsSet("QT_QPA_EVDEV_DEBUG"))
+ ((QLoggingCategory &) qLcEvdevTouch()).setEnabled(QtDebugMsg, true);
// only the first device argument is used for now
QString spec = QString::fromLocal8Bit(qgetenv("QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS"));
@@ -215,13 +218,11 @@ QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(const QString &specification,
}
if (dev.isEmpty()) {
- if (printDeviceInfo)
- qDebug("evdevtouch: No touch devices found");
+ qCDebug(qLcEvdevTouch, "evdevtouch: No touch devices found");
return;
}
- if (printDeviceInfo)
- qDebug("evdevtouch: Using device %s", qPrintable(dev));
+ qCDebug(qLcEvdevTouch, "evdevtouch: Using device %s", qPrintable(dev));
m_fd = QT_OPEN(dev.toLocal8Bit().constData(), O_RDONLY | O_NDELAY, 0);
@@ -257,25 +258,22 @@ QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(const QString &specification,
}
#endif
- if (printDeviceInfo)
- qDebug("evdevtouch: Protocol type %c %s (%s)", d->m_typeB ? 'B' : 'A',
- mtdevStr, d->m_singleTouch ? "single" : "multi");
+ qCDebug(qLcEvdevTouch, "evdevtouch: Protocol type %c %s (%s)", d->m_typeB ? 'B' : 'A',
+ mtdevStr, d->m_singleTouch ? "single" : "multi");
input_absinfo absInfo;
memset(&absInfo, 0, sizeof(input_absinfo));
bool has_x_range = false, has_y_range = false;
if (ioctl(m_fd, EVIOCGABS((d->m_singleTouch ? ABS_X : ABS_MT_POSITION_X)), &absInfo) >= 0) {
- if (printDeviceInfo)
- qDebug("evdevtouch: min X: %d max X: %d", absInfo.minimum, absInfo.maximum);
+ qCDebug(qLcEvdevTouch, "evdevtouch: min X: %d max X: %d", absInfo.minimum, absInfo.maximum);
d->hw_range_x_min = absInfo.minimum;
d->hw_range_x_max = absInfo.maximum;
has_x_range = true;
}
if (ioctl(m_fd, EVIOCGABS((d->m_singleTouch ? ABS_Y : ABS_MT_POSITION_Y)), &absInfo) >= 0) {
- if (printDeviceInfo)
- qDebug("evdevtouch: min Y: %d max Y: %d", absInfo.minimum, absInfo.maximum);
+ qCDebug(qLcEvdevTouch, "evdevtouch: min Y: %d max Y: %d", absInfo.minimum, absInfo.maximum);
d->hw_range_y_min = absInfo.minimum;
d->hw_range_y_max = absInfo.maximum;
has_y_range = true;
@@ -285,8 +283,7 @@ QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(const QString &specification,
qWarning("evdevtouch: Invalid ABS limits, behavior unspecified");
if (ioctl(m_fd, EVIOCGABS(ABS_PRESSURE), &absInfo) >= 0) {
- if (printDeviceInfo)
- qDebug("evdevtouch: min pressure: %d max pressure: %d", absInfo.minimum, absInfo.maximum);
+ qCDebug(qLcEvdevTouch, "evdevtouch: min pressure: %d max pressure: %d", absInfo.minimum, absInfo.maximum);
if (absInfo.maximum > absInfo.minimum) {
d->hw_pressure_min = absInfo.minimum;
d->hw_pressure_max = absInfo.maximum;
@@ -296,8 +293,7 @@ QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(const QString &specification,
char name[1024];
if (ioctl(m_fd, EVIOCGNAME(sizeof(name) - 1), name) >= 0) {
d->hw_name = QString::fromLocal8Bit(name);
- if (printDeviceInfo)
- qDebug("evdevtouch: device name: %s", name);
+ qCDebug(qLcEvdevTouch, "evdevtouch: device name: %s", name);
}
// Fix up the coordinate ranges for am335x in case the kernel driver does not have them fixed.
@@ -310,9 +306,8 @@ QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(const QString &specification,
d->hw_range_y_min = 220;
d->hw_range_y_max = 3907;
}
- if (printDeviceInfo)
- qDebug("evdevtouch: found ti-tsc, overriding: min X: %d max X: %d min Y: %d max Y: %d",
- d->hw_range_x_min, d->hw_range_x_max, d->hw_range_y_min, d->hw_range_y_max);
+ qCDebug(qLcEvdevTouch, "evdevtouch: found ti-tsc, overriding: min X: %d max X: %d min Y: %d max Y: %d",
+ d->hw_range_x_min, d->hw_range_x_max, d->hw_range_y_min, d->hw_range_y_max);
}
bool grabSuccess = !ioctl(m_fd, EVIOCGRAB, (void *) 1);
diff --git a/src/platformsupport/input/input.pri b/src/platformsupport/input/input.pri
index 1524eb454e..c1fd95703b 100644
--- a/src/platformsupport/input/input.pri
+++ b/src/platformsupport/input/input.pri
@@ -4,3 +4,7 @@ contains(QT_CONFIG, evdev) {
include($$PWD/evdevtouch/evdevtouch.pri)
include($$PWD/evdevtablet/evdevtablet.pri)
}
+
+contains(QT_CONFIG, tslib) {
+ include($$PWD/tslib/tslib.pri)
+}
diff --git a/src/plugins/generic/tslib/qtslib.cpp b/src/platformsupport/input/tslib/qtslib.cpp
index a8f60b69ff..e75fd9e691 100644
--- a/src/plugins/generic/tslib/qtslib.cpp
+++ b/src/platformsupport/input/tslib/qtslib.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
-** This file is part of the QtGui module of the Qt Toolkit.
+** This file is part of the plugins module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
@@ -31,32 +31,34 @@
**
****************************************************************************/
-
-#include "qtslib.h"
-
+#include "qtslib_p.h"
#include <QSocketNotifier>
#include <QStringList>
#include <QPoint>
+#include <QLoggingCategory>
+
#include <qpa/qwindowsysteminterface.h>
#include <errno.h>
#include <tslib.h>
-#include <qdebug.h>
-
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(qLcTsLib, "qt.qpa.input")
+
QTsLibMouseHandler::QTsLibMouseHandler(const QString &key,
- const QString &specification)
- : m_notify(0), m_x(0), m_y(0), m_pressed(0), m_rawMode(false)
+ const QString &specification,
+ QObject *parent)
+ : QObject(parent),
+ m_notify(0), m_x(0), m_y(0), m_pressed(0), m_rawMode(false)
{
- qDebug() << "QTsLibMouseHandler" << key << specification;
+ qCDebug(qLcTsLib) << "Initializing tslib plugin" << key << specification;
setObjectName(QLatin1String("TSLib Mouse Handler"));
QByteArray device = qgetenv("TSLIB_TSDEVICE");
- if (specification.startsWith("/dev/"))
+ if (specification.startsWith(QStringLiteral("/dev/")))
device = specification.toLocal8Bit();
if (device.isEmpty())
@@ -69,27 +71,26 @@ QTsLibMouseHandler::QTsLibMouseHandler(const QString &key,
}
if (ts_config(m_dev))
- perror("Error configuring\n");
+ qErrnoWarning(errno, "ts_config() failed");
- m_rawMode = !key.compare(QLatin1String("TslibRaw"), Qt::CaseInsensitive);
+ m_rawMode = !key.compare(QLatin1String("TslibRaw"), Qt::CaseInsensitive);
int fd = ts_fd(m_dev);
if (fd >= 0) {
+ qCDebug(qLcTsLib) << "tslib device is" << device;
m_notify = new QSocketNotifier(fd, QSocketNotifier::Read, this);
connect(m_notify, SIGNAL(activated(int)), this, SLOT(readMouseData()));
} else {
- qWarning("Cannot open mouse input device '%s': %s", device.constData(), strerror(errno));
+ qErrnoWarning(errno, "tslib: Cannot open input device %s", device.constData());
}
}
-
QTsLibMouseHandler::~QTsLibMouseHandler()
{
if (m_dev)
ts_close(m_dev);
}
-
static bool get_sample(struct tsdev *dev, struct ts_sample *sample, bool rawMode)
{
if (rawMode)
@@ -98,7 +99,6 @@ static bool get_sample(struct tsdev *dev, struct ts_sample *sample, bool rawMode
return (ts_read(dev, sample, 1) == 1);
}
-
void QTsLibMouseHandler::readMouseData()
{
ts_sample sample;
@@ -123,8 +123,6 @@ void QTsLibMouseHandler::readMouseData()
}
QPoint pos(x, y);
- //printf("handleMouseEvent %d %d %d %ld\n", m_x, m_y, pressed, sample.tv.tv_usec);
-
QWindowSystemInterface::handleMouseEvent(0, pos, pos, pressed ? Qt::LeftButton : Qt::NoButton);
m_x = x;
diff --git a/src/plugins/generic/tslib/qtslib.h b/src/platformsupport/input/tslib/qtslib_p.h
index cd11ca5e2f..4bcefb6cb9 100644
--- a/src/plugins/generic/tslib/qtslib.h
+++ b/src/platformsupport/input/tslib/qtslib_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
-** This file is part of the QtGui module of the Qt Toolkit.
+** This file is part of the plugins module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
@@ -34,19 +34,20 @@
#ifndef QTSLIB_H
#define QTSLIB_H
-#include <qobject.h>
-//#include <Qt>
+#include <QObject>
+
+struct tsdev;
QT_BEGIN_NAMESPACE
class QSocketNotifier;
-struct tsdev;
class QTsLibMouseHandler : public QObject
{
Q_OBJECT
+
public:
- QTsLibMouseHandler(const QString &key, const QString &specification);
+ QTsLibMouseHandler(const QString &key, const QString &specification, QObject *parent = 0);
~QTsLibMouseHandler();
private slots:
diff --git a/src/platformsupport/input/tslib/tslib.pri b/src/platformsupport/input/tslib/tslib.pri
new file mode 100644
index 0000000000..c9fef1ca8f
--- /dev/null
+++ b/src/platformsupport/input/tslib/tslib.pri
@@ -0,0 +1,7 @@
+HEADERS += \
+ $$PWD/qtslib_p.h
+
+SOURCES += \
+ $$PWD/qtslib.cpp
+
+LIBS += -lts
diff --git a/src/platformsupport/linuxaccessibility/application.cpp b/src/platformsupport/linuxaccessibility/application.cpp
index 2ee6b0a203..3e7fd45a09 100644
--- a/src/platformsupport/linuxaccessibility/application.cpp
+++ b/src/platformsupport/linuxaccessibility/application.cpp
@@ -38,6 +38,7 @@
#include <QtDBus/qdbuspendingreply.h>
#include <qdebug.h>
+#ifndef QT_NO_ACCESSIBILITY
#include "deviceeventcontroller_adaptor.h"
#include "atspi/atspi-constants.h"
@@ -229,3 +230,5 @@ void QSpiApplicationAdaptor::notifyKeyboardListenerError(const QDBusError& error
}
QT_END_NAMESPACE
+
+#endif //QT_NO_ACCESSIBILITY
diff --git a/src/platformsupport/linuxaccessibility/application_p.h b/src/platformsupport/linuxaccessibility/application_p.h
index d42f6e3ab0..b3e5ebbfde 100644
--- a/src/platformsupport/linuxaccessibility/application_p.h
+++ b/src/platformsupport/linuxaccessibility/application_p.h
@@ -50,6 +50,8 @@
#include <QtDBus/QDBusConnection>
#include <QtGui/QAccessibleInterface>
+#ifndef QT_NO_ACCESSIBILITY
+
QT_BEGIN_NAMESPACE
/*
@@ -86,4 +88,6 @@ private:
QT_END_NAMESPACE
+#endif //QT_NO_ACCESSIBILITY
+
#endif
diff --git a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
index c3573489e9..7cbda0c745 100644
--- a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
+++ b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
@@ -41,6 +41,7 @@
#include <qdebug.h>
+#ifndef QT_NO_ACCESSIBILITY
#include "socket_interface.h"
#include "constant_mappings_p.h"
#include "../accessibility/qaccessiblebridgeutils_p.h"
@@ -2356,3 +2357,4 @@ bool AtSpiAdaptor::tableInterface(QAccessibleInterface *interface, const QString
}
QT_END_NAMESPACE
+#endif //QT_NO_ACCESSIBILITY
diff --git a/src/platformsupport/linuxaccessibility/atspiadaptor_p.h b/src/platformsupport/linuxaccessibility/atspiadaptor_p.h
index fa3f616c91..342d8ba531 100644
--- a/src/platformsupport/linuxaccessibility/atspiadaptor_p.h
+++ b/src/platformsupport/linuxaccessibility/atspiadaptor_p.h
@@ -55,6 +55,7 @@
#include "dbusconnection_p.h"
#include "struct_marshallers_p.h"
+#ifndef QT_NO_ACCESSIBILITY
QT_BEGIN_NAMESPACE
class QAccessibleInterface;
@@ -215,5 +216,6 @@ private:
};
QT_END_NAMESPACE
+#endif //QT_NO_ACCESSIBILITY
#endif
diff --git a/src/platformsupport/linuxaccessibility/bridge.cpp b/src/platformsupport/linuxaccessibility/bridge.cpp
index 6211aa6e5a..4123181da3 100644
--- a/src/platformsupport/linuxaccessibility/bridge.cpp
+++ b/src/platformsupport/linuxaccessibility/bridge.cpp
@@ -44,6 +44,7 @@
#include "dbusconnection_p.h"
#include "struct_marshallers_p.h"
+#ifndef QT_NO_ACCESSIBILITY
#include "deviceeventcontroller_adaptor.h"
QT_BEGIN_NAMESPACE
@@ -264,3 +265,4 @@ void QSpiAccessibleBridge::initializeConstantMappings()
}
QT_END_NAMESPACE
+#endif //QT_NO_ACCESSIBILITY
diff --git a/src/platformsupport/linuxaccessibility/bridge_p.h b/src/platformsupport/linuxaccessibility/bridge_p.h
index 1daaaf92d2..bb8697622e 100644
--- a/src/platformsupport/linuxaccessibility/bridge_p.h
+++ b/src/platformsupport/linuxaccessibility/bridge_p.h
@@ -51,6 +51,7 @@
class DeviceEventControllerAdaptor;
+#ifndef QT_NO_ACCESSIBILITY
QT_BEGIN_NAMESPACE
class DBusConnection;
@@ -82,5 +83,6 @@ private:
};
QT_END_NAMESPACE
+#endif //QT_NO_ACCESSIBILITY
#endif
diff --git a/src/platformsupport/linuxaccessibility/cache.cpp b/src/platformsupport/linuxaccessibility/cache.cpp
index 296858c391..de3d91f0d2 100644
--- a/src/platformsupport/linuxaccessibility/cache.cpp
+++ b/src/platformsupport/linuxaccessibility/cache.cpp
@@ -33,10 +33,11 @@
#include "cache_p.h"
-#include "cache_adaptor.h"
-
#include "bridge_p.h"
+#ifndef QT_NO_ACCESSIBILITY
+#include "cache_adaptor.h"
+
#define QSPI_OBJECT_PATH_CACHE "/org/a11y/atspi/cache"
QT_BEGIN_NAMESPACE
@@ -82,3 +83,4 @@ QSpiAccessibleCacheArray QSpiDBusCache::GetItems()
}
QT_END_NAMESPACE
+#endif //QT_NO_ACCESSIBILITY
diff --git a/src/platformsupport/linuxaccessibility/cache_p.h b/src/platformsupport/linuxaccessibility/cache_p.h
index 300084c493..6fdb813ebf 100644
--- a/src/platformsupport/linuxaccessibility/cache_p.h
+++ b/src/platformsupport/linuxaccessibility/cache_p.h
@@ -49,6 +49,7 @@
#include <QtCore/QObject>
#include "struct_marshallers_p.h"
+#ifndef QT_NO_ACCESSIBILITY
QT_BEGIN_NAMESPACE
class QSpiDBusCache : public QObject
@@ -69,5 +70,6 @@ public Q_SLOTS:
};
QT_END_NAMESPACE
+#endif //QT_NO_ACCESSIBILITY
#endif /* Q_SPI_CACHE_H */
diff --git a/src/platformsupport/linuxaccessibility/constant_mappings.cpp b/src/platformsupport/linuxaccessibility/constant_mappings.cpp
index 78f18124e5..8cfa8086d8 100644
--- a/src/platformsupport/linuxaccessibility/constant_mappings.cpp
+++ b/src/platformsupport/linuxaccessibility/constant_mappings.cpp
@@ -45,6 +45,7 @@
// "ruler" "autocomplete" "edit bar" "embedded component" "entry" "caption"
// "heading" "page" "section" "redundant object" "form" "input method window" "menu"
+#ifndef QT_NO_ACCESSIBILITY
QT_BEGIN_NAMESPACE
QHash <QAccessible::Role, RoleNames> qSpiRoleMapping;
@@ -142,3 +143,4 @@ AtspiRelationType qAccessibleRelationToAtSpiRelation(QAccessible::Relation relat
}
QT_END_NAMESPACE
+#endif //QT_NO_ACCESSIBILITY
diff --git a/src/platformsupport/linuxaccessibility/constant_mappings_p.h b/src/platformsupport/linuxaccessibility/constant_mappings_p.h
index f616b56c3a..da1ebee060 100644
--- a/src/platformsupport/linuxaccessibility/constant_mappings_p.h
+++ b/src/platformsupport/linuxaccessibility/constant_mappings_p.h
@@ -55,6 +55,7 @@
#include <QtGui/QAccessible>
#include <atspi/atspi-constants.h>
+#ifndef QT_NO_ACCESSIBILITY
// interface names from at-spi2-core/atspi/atspi-misc-private.h
#define ATSPI_DBUS_NAME_REGISTRY "org.a11y.atspi.Registry"
@@ -134,5 +135,6 @@ QSpiUIntList spiStateSetFromSpiStates(quint64 states);
AtspiRelationType qAccessibleRelationToAtSpiRelation(QAccessible::Relation relation);
QT_END_NAMESPACE
+#endif //QT_NO_ACCESSIBILITY
#endif /* Q_SPI_CONSTANT_MAPPINGS_H */
diff --git a/src/platformsupport/linuxaccessibility/struct_marshallers.cpp b/src/platformsupport/linuxaccessibility/struct_marshallers.cpp
index 4b3bee8bdb..66fa564a43 100644
--- a/src/platformsupport/linuxaccessibility/struct_marshallers.cpp
+++ b/src/platformsupport/linuxaccessibility/struct_marshallers.cpp
@@ -40,6 +40,7 @@
#include "bridge_p.h"
+#ifndef QT_NO_ACCESSIBILITY
QT_BEGIN_NAMESPACE
QSpiObjectReference::QSpiObjectReference()
@@ -227,3 +228,4 @@ void qSpiInitializeStructTypes()
}
QT_END_NAMESPACE
+#endif //QT_NO_ACCESSIBILITY
diff --git a/src/platformsupport/linuxaccessibility/struct_marshallers_p.h b/src/platformsupport/linuxaccessibility/struct_marshallers_p.h
index 21e2fdefa5..53a3e723b1 100644
--- a/src/platformsupport/linuxaccessibility/struct_marshallers_p.h
+++ b/src/platformsupport/linuxaccessibility/struct_marshallers_p.h
@@ -52,6 +52,7 @@
#include <QtDBus/QDBusConnection>
#include <QtDBus/QDBusObjectPath>
+#ifndef QT_NO_ACCESSIBILITY
QT_BEGIN_NAMESPACE
typedef QList <int> QSpiIntList;
@@ -175,4 +176,5 @@ Q_DECLARE_METATYPE(QSpiAttributeSet)
Q_DECLARE_METATYPE(QSpiAppUpdate)
Q_DECLARE_METATYPE(QSpiDeviceEvent)
+#endif //QT_NO_ACCESSIBILITY
#endif /* Q_SPI_STRUCT_MARSHALLERS_H */
diff --git a/src/platformsupport/platformcompositor/platformcompositor.pri b/src/platformsupport/platformcompositor/platformcompositor.pri
new file mode 100644
index 0000000000..923d7225da
--- /dev/null
+++ b/src/platformsupport/platformcompositor/platformcompositor.pri
@@ -0,0 +1,7 @@
+contains(QT_CONFIG, opengl) {
+ SOURCES += $$PWD/qopenglcompositor.cpp \
+ $$PWD/qopenglcompositorbackingstore.cpp
+
+ HEADERS += $$PWD/qopenglcompositor_p.h \
+ $$PWD/qopenglcompositorbackingstore_p.h
+}
diff --git a/src/platformsupport/eglconvenience/qeglcompositor.cpp b/src/platformsupport/platformcompositor/qopenglcompositor.cpp
index 5866edc48d..3fefdc4935 100644
--- a/src/platformsupport/eglconvenience/qeglcompositor.cpp
+++ b/src/platformsupport/platformcompositor/qopenglcompositor.cpp
@@ -32,23 +32,46 @@
****************************************************************************/
#include <QtGui/QOpenGLContext>
-#include <QtGui/QOpenGLShaderProgram>
-#include <QtGui/QOpenGLFramebufferObject>
-#include <QtGui/private/qopengltextureblitter_p.h>
+#include <QtGui/QWindow>
+#include <QtGui/QMatrix4x4>
#include <qpa/qplatformbackingstore.h>
-#include "qeglcompositor_p.h"
-#include "qeglplatformwindow_p.h"
-#include "qeglplatformscreen_p.h"
+#include "qopenglcompositor_p.h"
QT_BEGIN_NAMESPACE
-static QEGLCompositor *compositor = 0;
+/*!
+ \class QOpenGLCompositor
+ \brief A generic OpenGL-based compositor
+ \since 5.4
+ \internal
+ \ingroup qpa
-QEGLCompositor::QEGLCompositor()
+ This class provides a lightweight compositor that maintains the
+ basic stacking order of windows and composites them by drawing
+ textured quads via OpenGL.
+
+ It it meant to be used by platform plugins that run without a
+ windowing system.
+
+ It is up to the platform plugin to manage the lifetime of the
+ compositor (instance(), destroy()), set the correct destination
+ context and window as early as possible (setTargetWindow()),
+ register the composited windows as they are shown, activated,
+ raised and lowered (addWindow(), moveToTop(), etc.), and to
+ schedule repaints (update()).
+
+ \note To get support for QWidget-based windows, just use
+ QOpenGLCompositorBackingStore. It will automatically create
+ textures from the raster-rendered content and trigger the
+ necessary repaints.
+ */
+
+static QOpenGLCompositor *compositor = 0;
+
+QOpenGLCompositor::QOpenGLCompositor()
: m_context(0),
- m_window(0),
- m_blitter(0)
+ m_targetWindow(0)
{
Q_ASSERT(!compositor);
m_updateTimer.setSingleShot(true);
@@ -56,45 +79,51 @@ QEGLCompositor::QEGLCompositor()
connect(&m_updateTimer, SIGNAL(timeout()), SLOT(renderAll()));
}
-QEGLCompositor::~QEGLCompositor()
+QOpenGLCompositor::~QOpenGLCompositor()
{
Q_ASSERT(compositor == this);
- if (m_blitter) {
- m_blitter->destroy();
- delete m_blitter;
- }
+ m_blitter.destroy();
compositor = 0;
}
-void QEGLCompositor::schedule(QOpenGLContext *context, QEGLPlatformWindow *window)
+void QOpenGLCompositor::setTarget(QOpenGLContext *context, QWindow *targetWindow)
{
m_context = context;
- m_window = window;
+ m_targetWindow = targetWindow;
+}
+
+void QOpenGLCompositor::update()
+{
if (!m_updateTimer.isActive())
m_updateTimer.start();
}
-void QEGLCompositor::renderAll()
+void QOpenGLCompositor::renderAll()
{
- Q_ASSERT(m_context && m_window);
- m_context->makeCurrent(m_window->window());
+ Q_ASSERT(m_context && m_targetWindow);
+ m_context->makeCurrent(m_targetWindow);
- if (!m_blitter) {
- m_blitter = new QOpenGLTextureBlitter;
- m_blitter->create();
- }
- m_blitter->bind();
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
+
+ const QRect targetWindowRect(QPoint(0, 0), m_targetWindow->geometry().size());
+ glViewport(0, 0, targetWindowRect.width(), targetWindowRect.height());
- QEGLPlatformScreen *screen = static_cast<QEGLPlatformScreen *>(m_window->screen());
- QList<QEGLPlatformWindow *> windows = screen->windows();
- for (int i = 0; i < windows.size(); ++i)
- render(windows.at(i));
+ if (!m_blitter.isCreated())
+ m_blitter.create();
- m_blitter->release();
- m_context->swapBuffers(m_window->window());
+ m_blitter.bind();
- for (int i = 0; i < windows.size(); ++i)
- windows.at(i)->composited();
+ for (int i = 0; i < m_windows.size(); ++i)
+ m_windows.at(i)->beginCompositing();
+
+ for (int i = 0; i < m_windows.size(); ++i)
+ render(m_windows.at(i));
+
+ m_blitter.release();
+ m_context->swapBuffers(m_targetWindow);
+
+ for (int i = 0; i < m_windows.size(); ++i)
+ m_windows.at(i)->endCompositing();
}
struct BlendStateBinder
@@ -120,41 +149,38 @@ struct BlendStateBinder
bool m_blend;
};
-void QEGLCompositor::render(QEGLPlatformWindow *window)
+void QOpenGLCompositor::render(QOpenGLCompositorWindow *window)
{
const QPlatformTextureList *textures = window->textures();
if (!textures)
return;
- const QRect targetWindowRect(QPoint(0, 0), window->screen()->geometry().size());
- glViewport(0, 0, targetWindowRect.width(), targetWindowRect.height());
-
+ const QRect targetWindowRect(QPoint(0, 0), m_targetWindow->geometry().size());
float currentOpacity = 1.0f;
BlendStateBinder blend;
for (int i = 0; i < textures->count(); ++i) {
uint textureId = textures->textureId(i);
- QMatrix4x4 target = QOpenGLTextureBlitter::targetTransform(textures->geometry(i),
- targetWindowRect);
- const float opacity = window->window()->opacity();
+ QMatrix4x4 target = QOpenGLTextureBlitter::targetTransform(textures->geometry(i), targetWindowRect);
+ const float opacity = window->sourceWindow()->opacity();
if (opacity != currentOpacity) {
currentOpacity = opacity;
- m_blitter->setOpacity(currentOpacity);
+ m_blitter.setOpacity(currentOpacity);
}
if (textures->count() > 1 && i == textures->count() - 1) {
// Backingstore for a widget with QOpenGLWidget subwidgets
blend.set(true);
- m_blitter->blit(textureId, target, QOpenGLTextureBlitter::OriginTopLeft);
+ m_blitter.blit(textureId, target, QOpenGLTextureBlitter::OriginTopLeft);
} else if (textures->count() == 1) {
// A regular QWidget window
- const bool translucent = window->window()->requestedFormat().alphaBufferSize() > 0;
+ const bool translucent = window->sourceWindow()->requestedFormat().alphaBufferSize() > 0;
blend.set(translucent);
- m_blitter->blit(textureId, target, QOpenGLTextureBlitter::OriginTopLeft);
+ m_blitter.blit(textureId, target, QOpenGLTextureBlitter::OriginTopLeft);
} else if (!textures->stacksOnTop(i)) {
// Texture from an FBO belonging to a QOpenGLWidget
blend.set(false);
- m_blitter->blit(textureId, target, QOpenGLTextureBlitter::OriginBottomLeft);
+ m_blitter.blit(textureId, target, QOpenGLTextureBlitter::OriginBottomLeft);
}
}
@@ -162,24 +188,56 @@ void QEGLCompositor::render(QEGLPlatformWindow *window)
if (textures->stacksOnTop(i)) {
QMatrix4x4 target = QOpenGLTextureBlitter::targetTransform(textures->geometry(i), targetWindowRect);
blend.set(true);
- m_blitter->blit(textures->textureId(i), target, QOpenGLTextureBlitter::OriginBottomLeft);
+ m_blitter.blit(textures->textureId(i), target, QOpenGLTextureBlitter::OriginBottomLeft);
}
}
- m_blitter->setOpacity(1.0f);
+ m_blitter.setOpacity(1.0f);
}
-QEGLCompositor *QEGLCompositor::instance()
+QOpenGLCompositor *QOpenGLCompositor::instance()
{
if (!compositor)
- compositor = new QEGLCompositor;
+ compositor = new QOpenGLCompositor;
return compositor;
}
-void QEGLCompositor::destroy()
+void QOpenGLCompositor::destroy()
{
delete compositor;
compositor = 0;
}
+void QOpenGLCompositor::addWindow(QOpenGLCompositorWindow *window)
+{
+ if (!m_windows.contains(window)) {
+ m_windows.append(window);
+ emit topWindowChanged(window);
+ }
+}
+
+void QOpenGLCompositor::removeWindow(QOpenGLCompositorWindow *window)
+{
+ m_windows.removeOne(window);
+ if (!m_windows.isEmpty())
+ emit topWindowChanged(m_windows.last());
+}
+
+void QOpenGLCompositor::moveToTop(QOpenGLCompositorWindow *window)
+{
+ m_windows.removeOne(window);
+ m_windows.append(window);
+ emit topWindowChanged(window);
+}
+
+void QOpenGLCompositor::changeWindowIndex(QOpenGLCompositorWindow *window, int newIdx)
+{
+ int idx = m_windows.indexOf(window);
+ if (idx != -1 && idx != newIdx) {
+ m_windows.move(idx, newIdx);
+ if (newIdx == m_windows.size() - 1)
+ emit topWindowChanged(m_windows.last());
+ }
+}
+
QT_END_NAMESPACE
diff --git a/src/platformsupport/platformcompositor/qopenglcompositor_p.h b/src/platformsupport/platformcompositor/qopenglcompositor_p.h
new file mode 100644
index 0000000000..9c876f5af1
--- /dev/null
+++ b/src/platformsupport/platformcompositor/qopenglcompositor_p.h
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QOPENGLCOMPOSITOR_H
+#define QOPENGLCOMPOSITOR_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/QTimer>
+#include <QtGui/private/qopengltextureblitter_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QOpenGLContext;
+class QWindow;
+class QPlatformTextureList;
+
+class QOpenGLCompositorWindow
+{
+public:
+ virtual QWindow *sourceWindow() const = 0;
+ virtual const QPlatformTextureList *textures() const = 0;
+ virtual void beginCompositing() { }
+ virtual void endCompositing() { }
+};
+
+class QOpenGLCompositor : public QObject
+{
+ Q_OBJECT
+
+public:
+ static QOpenGLCompositor *instance();
+ static void destroy();
+
+ void setTarget(QOpenGLContext *context, QWindow *window);
+ QOpenGLContext *context() const { return m_context; }
+ QWindow *targetWindow() const { return m_targetWindow; }
+
+ void update();
+
+ QList<QOpenGLCompositorWindow *> windows() const { return m_windows; }
+ void addWindow(QOpenGLCompositorWindow *window);
+ void removeWindow(QOpenGLCompositorWindow *window);
+ void moveToTop(QOpenGLCompositorWindow *window);
+ void changeWindowIndex(QOpenGLCompositorWindow *window, int newIdx);
+
+signals:
+ void topWindowChanged(QOpenGLCompositorWindow *window);
+
+private slots:
+ void renderAll();
+
+private:
+ QOpenGLCompositor();
+ ~QOpenGLCompositor();
+
+ void render(QOpenGLCompositorWindow *window);
+
+ QOpenGLContext *m_context;
+ QWindow *m_targetWindow;
+ QTimer m_updateTimer;
+ QOpenGLTextureBlitter m_blitter;
+ QList<QOpenGLCompositorWindow *> m_windows;
+};
+
+QT_END_NAMESPACE
+
+#endif // QOPENGLCOMPOSITOR_H
diff --git a/src/platformsupport/eglconvenience/qeglplatformbackingstore.cpp b/src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp
index 43c18573f2..9c254bead3 100644
--- a/src/platformsupport/eglconvenience/qeglplatformbackingstore.cpp
+++ b/src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp
@@ -31,62 +31,58 @@
**
****************************************************************************/
-#include <QtGui/QOpenGLShaderProgram>
#include <QtGui/QOpenGLContext>
+#include <QtGui/QWindow>
#include <QtGui/QPainter>
+#include <qpa/qplatformbackingstore.h>
-#include "qeglplatformbackingstore_p.h"
-#include "qeglcompositor_p.h"
-#include "qeglplatformwindow_p.h"
-#include "qeglplatformscreen_p.h"
+#include "qopenglcompositorbackingstore_p.h"
+#include "qopenglcompositor_p.h"
QT_BEGIN_NAMESPACE
/*!
- \class QEGLPlatformBackingStore
- \brief A backing store implementation for EGL and GLES.
- \since 5.2
+ \class QOpenGLCompositorBackingStore
+ \brief A backing store implementation for OpenGL
+ \since 5.4
\internal
\ingroup qpa
This implementation uploads raster-rendered widget windows into
- textures and composites them onto a single native window using
- QEGLCompositor. This means that multiple top-level widgets are
- supported without creating actual native windows for each of them.
-
- The class is ready to be used as-is, the default
- QEGLPlatformIntegration::createPlatformBackingStore()
- implementation creates an instance which is ready to be used
- without further customization.
-
- If QEGLCompositor is not suitable, this backing store
- implementation can also be used without it. In this case a
- subclass must reimplement composite() and schedule an update in
- its custom compositor when this function is called. The textures
- are accessible via QEGLPlatformWindow::texture().
+ textures. It is meant to be used with QOpenGLCompositor that
+ composites the textures onto a single native window using OpenGL.
+ This means that multiple top-level widgets are supported without
+ creating actual native windows for each of them.
+
+ \note It is important to call notifyComposited() from the
+ corresponding platform window's endCompositing() callback
+ (inherited from QOpenGLCompositorWindow).
+
+ \note When implementing QOpenGLCompositorWindow::textures() for
+ windows of type RasterSurface or RasterGLSurface, simply return
+ the list provided by this class' textures().
*/
-QEGLPlatformBackingStore::QEGLPlatformBackingStore(QWindow *window)
+QOpenGLCompositorBackingStore::QOpenGLCompositorBackingStore(QWindow *window)
: QPlatformBackingStore(window),
- m_window(static_cast<QEGLPlatformWindow *>(window->handle())),
+ m_window(window),
m_bsTexture(0),
m_textures(new QPlatformTextureList),
m_lockedWidgetTextures(0)
{
- m_window->setBackingStore(this);
}
-QEGLPlatformBackingStore::~QEGLPlatformBackingStore()
+QOpenGLCompositorBackingStore::~QOpenGLCompositorBackingStore()
{
delete m_textures;
}
-QPaintDevice *QEGLPlatformBackingStore::paintDevice()
+QPaintDevice *QOpenGLCompositorBackingStore::paintDevice()
{
return &m_image;
}
-void QEGLPlatformBackingStore::updateTexture()
+void QOpenGLCompositorBackingStore::updateTexture()
{
if (!m_bsTexture) {
glGenTextures(1, &m_bsTexture);
@@ -134,7 +130,7 @@ void QEGLPlatformBackingStore::updateTexture()
}
}
-void QEGLPlatformBackingStore::flush(QWindow *window, const QRegion &region, const QPoint &offset)
+void QOpenGLCompositorBackingStore::flush(QWindow *window, const QRegion &region, const QPoint &offset)
{
// Called for ordinary raster windows. This is rare since RasterGLSurface
// support is claimed which leads to having all QWidget windows marked as
@@ -144,35 +140,38 @@ void QEGLPlatformBackingStore::flush(QWindow *window, const QRegion &region, con
Q_UNUSED(region);
Q_UNUSED(offset);
- QEGLPlatformScreen *screen = static_cast<QEGLPlatformScreen *>(m_window->screen());
- QEGLPlatformWindow *dstWin = screen->compositingWindow();
- if (!dstWin || !dstWin->isRaster())
+ QOpenGLCompositor *compositor = QOpenGLCompositor::instance();
+ QOpenGLContext *dstCtx = compositor->context();
+ QWindow *dstWin = compositor->targetWindow();
+ if (!dstWin)
return;
- screen->compositingContext()->makeCurrent(dstWin->window());
+ dstCtx->makeCurrent(dstWin);
updateTexture();
m_textures->clear();
m_textures->appendTexture(m_bsTexture, window->geometry());
- composite(screen->compositingContext(), dstWin);
+
+ compositor->update();
}
-void QEGLPlatformBackingStore::composeAndFlush(QWindow *window, const QRegion &region, const QPoint &offset,
+void QOpenGLCompositorBackingStore::composeAndFlush(QWindow *window, const QRegion &region, const QPoint &offset,
QPlatformTextureList *textures, QOpenGLContext *context,
bool translucentBackground)
{
- // QOpenGLWidget content provided as textures. The raster content should go on top.
+ // QOpenGLWidget/QQuickWidget content provided as textures. The raster content should go on top.
Q_UNUSED(region);
Q_UNUSED(offset);
Q_UNUSED(context);
Q_UNUSED(translucentBackground);
- QEGLPlatformScreen *screen = static_cast<QEGLPlatformScreen *>(m_window->screen());
- QEGLPlatformWindow *dstWin = screen->compositingWindow();
- if (!dstWin || !dstWin->isRaster())
+ QOpenGLCompositor *compositor = QOpenGLCompositor::instance();
+ QOpenGLContext *dstCtx = compositor->context();
+ QWindow *dstWin = compositor->targetWindow();
+ if (!dstWin)
return;
- screen->compositingContext()->makeCurrent(dstWin->window());
+ dstCtx->makeCurrent(dstWin);
m_textures->clear();
for (int i = 0; i < textures->count(); ++i)
@@ -184,15 +183,10 @@ void QEGLPlatformBackingStore::composeAndFlush(QWindow *window, const QRegion &r
textures->lock(true);
m_lockedWidgetTextures = textures;
- composite(screen->compositingContext(), dstWin);
-}
-
-void QEGLPlatformBackingStore::composite(QOpenGLContext *context, QEGLPlatformWindow *window)
-{
- QEGLCompositor::instance()->schedule(context, window);
+ compositor->update();
}
-void QEGLPlatformBackingStore::composited()
+void QOpenGLCompositorBackingStore::notifyComposited()
{
if (m_lockedWidgetTextures) {
QPlatformTextureList *textureList = m_lockedWidgetTextures;
@@ -201,7 +195,7 @@ void QEGLPlatformBackingStore::composited()
}
}
-void QEGLPlatformBackingStore::beginPaint(const QRegion &region)
+void QOpenGLCompositorBackingStore::beginPaint(const QRegion &region)
{
m_dirty |= region;
@@ -213,27 +207,28 @@ void QEGLPlatformBackingStore::beginPaint(const QRegion &region)
}
}
-void QEGLPlatformBackingStore::resize(const QSize &size, const QRegion &staticContents)
+void QOpenGLCompositorBackingStore::resize(const QSize &size, const QRegion &staticContents)
{
Q_UNUSED(staticContents);
- QEGLPlatformScreen *screen = static_cast<QEGLPlatformScreen *>(m_window->screen());
- QEGLPlatformWindow *dstWin = screen->compositingWindow();
- if (!dstWin || (!dstWin->isRaster() && dstWin->window()->surfaceType() != QSurface::RasterGLSurface))
+ QOpenGLCompositor *compositor = QOpenGLCompositor::instance();
+ QOpenGLContext *dstCtx = compositor->context();
+ QWindow *dstWin = compositor->targetWindow();
+ if (!dstWin)
return;
m_image = QImage(size, QImage::Format_RGBA8888);
m_window->create();
- screen->compositingContext()->makeCurrent(dstWin->window());
+ dstCtx->makeCurrent(dstWin);
if (m_bsTexture) {
glDeleteTextures(1, &m_bsTexture);
m_bsTexture = 0;
}
}
-QImage QEGLPlatformBackingStore::toImage() const
+QImage QOpenGLCompositorBackingStore::toImage() const
{
return m_image;
}
diff --git a/src/platformsupport/eglconvenience/qeglplatformbackingstore_p.h b/src/platformsupport/platformcompositor/qopenglcompositorbackingstore_p.h
index 502ca5a639..0501cd868c 100644
--- a/src/platformsupport/eglconvenience/qeglplatformbackingstore_p.h
+++ b/src/platformsupport/platformcompositor/qopenglcompositorbackingstore_p.h
@@ -31,8 +31,8 @@
**
****************************************************************************/
-#ifndef QEGLPLATFORMBACKINGSTORE_H
-#define QEGLPLATFORMBACKINGSTORE_H
+#ifndef QOPENGLCOMPOSITORBACKINGSTORE_H
+#define QOPENGLCOMPOSITORBACKINGSTORE_H
//
// W A R N I N G
@@ -46,7 +46,6 @@
//
#include <qpa/qplatformbackingstore.h>
-
#include <QImage>
#include <QRegion>
@@ -54,13 +53,12 @@ QT_BEGIN_NAMESPACE
class QOpenGLContext;
class QPlatformTextureList;
-class QEGLPlatformWindow;
-class QEGLPlatformBackingStore : public QPlatformBackingStore
+class QOpenGLCompositorBackingStore : public QPlatformBackingStore
{
public:
- QEGLPlatformBackingStore(QWindow *window);
- ~QEGLPlatformBackingStore();
+ QOpenGLCompositorBackingStore(QWindow *window);
+ ~QOpenGLCompositorBackingStore();
QPaintDevice *paintDevice() Q_DECL_OVERRIDE;
@@ -76,14 +74,12 @@ public:
const QPlatformTextureList *textures() const { return m_textures; }
- virtual void composite(QOpenGLContext *context, QEGLPlatformWindow *window);
-
- void composited();
+ void notifyComposited();
private:
void updateTexture();
- QEGLPlatformWindow *m_window;
+ QWindow *m_window;
QImage m_image;
QRegion m_dirty;
uint m_bsTexture;
@@ -93,4 +89,4 @@ private:
QT_END_NAMESPACE
-#endif // QEGLPLATFORMBACKINGSTORE_H
+#endif // QOPENGLCOMPOSITORBACKINGSTORE_H
diff --git a/src/platformsupport/platformsupport.pro b/src/platformsupport/platformsupport.pro
index 32ce2e3887..39cbd9d181 100644
--- a/src/platformsupport/platformsupport.pro
+++ b/src/platformsupport/platformsupport.pro
@@ -21,5 +21,6 @@ include(themes/themes.pri)
include(accessibility/accessibility.pri)
include(linuxaccessibility/linuxaccessibility.pri)
include(clipboard/clipboard.pri)
+include(platformcompositor/platformcompositor.pri)
load(qt_module)
diff --git a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp
index e66fdeb7c3..a28fbd62f4 100644
--- a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp
+++ b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp
@@ -135,6 +135,11 @@ QStringList QGenericUnixTheme::xdgIconThemePaths()
if (xdgIconsDir.isDir())
paths.append(xdgIconsDir.absoluteFilePath());
}
+
+ const QFileInfo pixmapsIconsDir(QStringLiteral("/usr/share/pixmaps"));
+ if (pixmapsIconsDir.isDir())
+ paths.append(pixmapsIconsDir.absoluteFilePath());
+
return paths;
}
@@ -170,6 +175,7 @@ public:
, toolButtonStyle(Qt::ToolButtonTextBesideIcon)
, toolBarIconSize(0)
, singleClick(true)
+ , wheelScrollLines(3)
{ }
static QString kdeGlobals(const QString &kdeDir)
@@ -193,6 +199,7 @@ public:
int toolButtonStyle;
int toolBarIconSize;
bool singleClick;
+ int wheelScrollLines;
};
void QKdeThemePrivate::refresh()
@@ -242,6 +249,10 @@ void QKdeThemePrivate::refresh()
toolButtonStyle = Qt::ToolButtonTextUnderIcon;
}
+ const QVariant wheelScrollLinesValue = readKdeSetting(QStringLiteral("KDE/WheelScrollLines"), kdeDirs, kdeSettings);
+ if (wheelScrollLinesValue.isValid())
+ wheelScrollLines = wheelScrollLinesValue.toInt();
+
// Read system font, ignore 'smallestReadableFont'
if (QFont *systemFont = kdeFont(readKdeSetting(QStringLiteral("font"), kdeDirs, kdeSettings)))
resources.fonts[QPlatformTheme::SystemFont] = systemFont;
@@ -428,6 +439,8 @@ QVariant QKdeTheme::themeHint(QPlatformTheme::ThemeHint hint) const
return QVariant(int(KdeKeyboardScheme));
case QPlatformTheme::ItemViewActivateItemOnSingleClick:
return QVariant(d->singleClick);
+ case QPlatformTheme::WheelScrollLines:
+ return QVariant(d->wheelScrollLines);
default:
break;
}
diff --git a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp b/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
index abbfd445a5..f4460c1be0 100644
--- a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
+++ b/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
@@ -295,14 +295,10 @@ QString QOfonoDataConnectionManagerInterface::bearer()
QVariant QOfonoDataConnectionManagerInterface::getProperty(const QString &property)
{
- QVariant var;
- QVariantMap map = getProperties();
- if (map.contains(property))
- var = map.value(property);
- return var;
+ return getProperties().value(property);
}
-QVariantMap QOfonoDataConnectionManagerInterface::getProperties()
+QVariantMap &QOfonoDataConnectionManagerInterface::getProperties()
{
if (propertiesMap.isEmpty()) {
QList<QVariant> argumentList;
diff --git a/src/plugins/bearer/linux_common/qofonoservice_linux_p.h b/src/plugins/bearer/linux_common/qofonoservice_linux_p.h
index 3b97e06dd3..8adb8db19c 100644
--- a/src/plugins/bearer/linux_common/qofonoservice_linux_p.h
+++ b/src/plugins/bearer/linux_common/qofonoservice_linux_p.h
@@ -160,11 +160,11 @@ public:
Q_SIGNALS:
void roamingAllowedChanged(bool);
private:
- QVariantMap getProperties();
+ QVariantMap &getProperties();
QVariantMap propertiesMap;
QStringList contextList;
PathPropertiesList contextListProperties;
-private slots:
+private Q_SLOTS:
void propertyChanged(const QString &, const QDBusVariant &value);
};
diff --git a/src/plugins/generic/tslib/main.cpp b/src/plugins/generic/tslib/main.cpp
index 737b175941..1fbe440bb5 100644
--- a/src/plugins/generic/tslib/main.cpp
+++ b/src/plugins/generic/tslib/main.cpp
@@ -32,7 +32,7 @@
****************************************************************************/
#include <QtGui/qgenericplugin.h>
-#include "qtslib.h"
+#include <QtPlatformSupport/private/qtslib_p.h>
QT_BEGIN_NAMESPACE
@@ -42,21 +42,16 @@ class QTsLibPlugin : public QGenericPlugin
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QGenericPluginFactoryInterface" FILE "tslib.json")
public:
- QTsLibPlugin();
-
QObject* create(const QString &key, const QString &specification);
};
-QTsLibPlugin::QTsLibPlugin()
- : QGenericPlugin()
-{
-}
-
QObject* QTsLibPlugin::create(const QString &key,
- const QString &specification)
+ const QString &specification)
{
- if (!key.compare(QLatin1String("Tslib"), Qt::CaseInsensitive) || !key.compare(QLatin1String("TslibRaw"), Qt::CaseInsensitive))
+ if (!key.compare(QLatin1String("Tslib"), Qt::CaseInsensitive)
+ || !key.compare(QLatin1String("TslibRaw"), Qt::CaseInsensitive))
return new QTsLibMouseHandler(key, specification);
+
return 0;
}
diff --git a/src/plugins/generic/tslib/tslib.pro b/src/plugins/generic/tslib/tslib.pro
index bc05efcc32..be6fc4fbea 100644
--- a/src/plugins/generic/tslib/tslib.pro
+++ b/src/plugins/generic/tslib/tslib.pro
@@ -5,12 +5,9 @@ PLUGIN_EXTENDS = -
PLUGIN_CLASS_NAME = QTsLibPlugin
load(qt_plugin)
-HEADERS = qtslib.h
+SOURCES = main.cpp
-SOURCES = main.cpp \
- qtslib.cpp
-
-QT += gui-private
+QT += gui-private platformsupport-private
LIBS += -lts
diff --git a/src/plugins/platforms/android/androidjniinput.cpp b/src/plugins/platforms/android/androidjniinput.cpp
index 595892c1d1..62da60ab92 100644
--- a/src/plugins/platforms/android/androidjniinput.cpp
+++ b/src/plugins/platforms/android/androidjniinput.cpp
@@ -155,7 +155,7 @@ namespace QtAndroidInput
static void longPress(JNIEnv */*env*/, jobject /*thiz*/, jint /*winId*/, jint x, jint y)
{
//### TODO: add proper API for Qt 5.2
- static bool rightMouseFromLongPress = qgetenv("QT_NECESSITAS_COMPATIBILITY_LONG_PRESS").toInt();
+ static bool rightMouseFromLongPress = qEnvironmentVariableIntValue("QT_NECESSITAS_COMPATIBILITY_LONG_PRESS");
if (!rightMouseFromLongPress)
return;
m_ignoreMouseEvents = true;
diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp
index d1e78dfe5d..df0a8c56cb 100644
--- a/src/plugins/platforms/android/androidjnimain.cpp
+++ b/src/plugins/platforms/android/androidjnimain.cpp
@@ -412,7 +412,7 @@ namespace QtAndroid
bool blockEventLoopsWhenSuspended()
{
- static bool block = qgetenv("QT_BLOCK_EVENT_LOOPS_WHEN_SUSPENDED").toInt();
+ static bool block = qEnvironmentVariableIntValue("QT_BLOCK_EVENT_LOOPS_WHEN_SUSPENDED");
return block;
}
diff --git a/src/plugins/platforms/android/androidjnimenu.cpp b/src/plugins/platforms/android/androidjnimenu.cpp
index 23182c6e57..36c349f6b4 100644
--- a/src/plugins/platforms/android/androidjnimenu.cpp
+++ b/src/plugins/platforms/android/androidjnimenu.cpp
@@ -199,7 +199,7 @@ namespace QtAndroidMenu
env->DeleteLocalRef(env->CallObjectMethod(menuItem, setEnabledMenuItemMethodID, enabled));
if (!icon.isNull()) { // isNull() only checks the d pointer, not the actual image data.
- int sz = qMax(36, qgetenv("QT_ANDROID_APP_ICON_SIZE").toInt());
+ int sz = qMax(36, qEnvironmentVariableIntValue("QT_ANDROID_APP_ICON_SIZE"));
QImage img = icon.pixmap(QSize(sz,sz),
enabled
? QIcon::Normal
diff --git a/src/plugins/platforms/android/qandroidassetsfileenginehandler.cpp b/src/plugins/platforms/android/qandroidassetsfileenginehandler.cpp
index 06303cdd10..2010c19bd4 100644
--- a/src/plugins/platforms/android/qandroidassetsfileenginehandler.cpp
+++ b/src/plugins/platforms/android/qandroidassetsfileenginehandler.cpp
@@ -254,7 +254,7 @@ private:
AndroidAssetsFileEngineHandler::AndroidAssetsFileEngineHandler()
- : m_assetsCache(std::max(5, qgetenv("QT_ANDROID_MAX_ASSETS_CACHE_SIZE").toInt()))
+ : m_assetsCache(std::max(5, qEnvironmentVariableIntValue("QT_ANDROID_MAX_ASSETS_CACHE_SIZE")))
, m_hasPrepopulatedCache(false)
, m_hasTriedPrepopulatingCache(false)
{
diff --git a/src/plugins/platforms/android/qandroidplatformscreen.cpp b/src/plugins/platforms/android/qandroidplatformscreen.cpp
index 684ae64703..8a07735e5f 100644
--- a/src/plugins/platforms/android/qandroidplatformscreen.cpp
+++ b/src/plugins/platforms/android/qandroidplatformscreen.cpp
@@ -85,7 +85,7 @@ QAndroidPlatformScreen::QAndroidPlatformScreen():QObject(),QPlatformScreen()
m_size = QSize(QAndroidPlatformIntegration::m_defaultScreenWidth, QAndroidPlatformIntegration::m_defaultScreenHeight);
// Raster only apps should set QT_ANDROID_RASTER_IMAGE_DEPTH to 16
// is way much faster than 32
- if (qgetenv("QT_ANDROID_RASTER_IMAGE_DEPTH").toInt() == 16) {
+ if (qEnvironmentVariableIntValue("QT_ANDROID_RASTER_IMAGE_DEPTH") == 16) {
m_format = QImage::Format_RGB16;
m_depth = 16;
} else {
diff --git a/src/plugins/platforms/android/qandroidplatformtheme.cpp b/src/plugins/platforms/android/qandroidplatformtheme.cpp
index 8cece443b1..ef7093942c 100644
--- a/src/plugins/platforms/android/qandroidplatformtheme.cpp
+++ b/src/plugins/platforms/android/qandroidplatformtheme.cpp
@@ -441,7 +441,7 @@ QVariant QAndroidPlatformTheme::themeHint(ThemeHint hint) const
{
switch (hint) {
case StyleNames:
- if (qgetenv("QT_USE_ANDROID_NATIVE_STYLE").toInt()
+ if (qEnvironmentVariableIntValue("QT_USE_ANDROID_NATIVE_STYLE")
&& m_androidStyleData) {
return QStringList("android");
}
@@ -449,7 +449,7 @@ QVariant QAndroidPlatformTheme::themeHint(ThemeHint hint) const
case MouseDoubleClickDistance:
{
- int minimumDistance = qgetenv("QT_ANDROID_MINIMUM_MOUSE_DOUBLE_CLICK_DISTANCE").toInt();
+ int minimumDistance = qEnvironmentVariableIntValue("QT_ANDROID_MINIMUM_MOUSE_DOUBLE_CLICK_DISTANCE");
int ret = minimumDistance;
QAndroidPlatformIntegration *platformIntegration
@@ -493,7 +493,7 @@ QString QAndroidPlatformTheme::standardButtonText(int button) const
bool QAndroidPlatformTheme::usePlatformNativeDialog(QPlatformTheme::DialogType type) const
{
if (type == MessageDialog)
- return qgetenv("QT_USE_ANDROID_NATIVE_DIALOGS").toInt() == 1;
+ return qEnvironmentVariableIntValue("QT_USE_ANDROID_NATIVE_DIALOGS") == 1;
return false;
}
diff --git a/src/plugins/platforms/cocoa/qnsview.h b/src/plugins/platforms/cocoa/qnsview.h
index 8d8df13dc3..ffa616f968 100644
--- a/src/plugins/platforms/cocoa/qnsview.h
+++ b/src/plugins/platforms/cocoa/qnsview.h
@@ -74,6 +74,7 @@ Q_FORWARD_DECLARE_OBJC_CLASS(QNSViewMouseMoveHelper);
NSString *m_inputSource;
QNSViewMouseMoveHelper *m_mouseMoveHelper;
bool m_resendKeyEvent;
+ bool m_scrolling;
}
- (id)init;
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index 699340795d..798e349538 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the plugins of the Qt Toolkit.
@@ -160,6 +160,7 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil;
m_inputSource = 0;
m_mouseMoveHelper = [[QNSViewMouseMoveHelper alloc] initWithView:self];
m_resendKeyEvent = false;
+ m_scrolling = false;
if (!touchDevice) {
touchDevice = new QTouchDevice;
@@ -1265,12 +1266,9 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
{
if (m_window->flags() & Qt::WindowTransparentForInput)
return [super scrollWheel:theEvent];
- const EventRef carbonEvent = (EventRef)[theEvent eventRef];
- const UInt32 carbonEventKind = carbonEvent ? ::GetEventKind(carbonEvent) : 0;
- const bool scrollEvent = carbonEventKind == kEventMouseScroll;
QPoint angleDelta;
- if (scrollEvent) {
+ if ([theEvent hasPreciseScrollingDeltas]) {
// The mouse device contains pixel scroll wheel support (Mighty Mouse, Trackpad).
// Since deviceDelta is delivered as pixels rather than degrees, we need to
// convert from pixels to degrees in a sensible manner.
@@ -1280,7 +1278,6 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
angleDelta.setX([theEvent scrollingDeltaX] * pixelsToDegrees);
angleDelta.setY([theEvent scrollingDeltaY] * pixelsToDegrees);
} else {
- // carbonEventKind == kEventMouseWheelMoved
// Remove acceleration, and use either -120 or 120 as delta:
angleDelta.setX(qBound(-120, int([theEvent deltaX] * 10000), 120));
angleDelta.setY(qBound(-120, int([theEvent deltaY] * 10000), 120));
@@ -1321,16 +1318,20 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_8
if (QSysInfo::QSysInfo::MacintoshVersion >= QSysInfo::MV_10_8) {
// On 10.8 and above, MayBegin is likely to happen. We treat it the same as an actual begin.
- if (phase == NSEventPhaseMayBegin)
+ if (phase == NSEventPhaseMayBegin) {
+ m_scrolling = true;
ph = Qt::ScrollBegin;
- } else
+ }
+ }
#endif
- if (phase == NSEventPhaseBegan) {
- // On 10.7, MayBegin will not happen, so Began is the actual beginning.
+ if (phase == NSEventPhaseBegan) {
+ // If MayBegin did not happen, Began is the actual beginning.
+ if (!m_scrolling)
ph = Qt::ScrollBegin;
- }
- if (phase == NSEventPhaseEnded || phase == NSEventPhaseCancelled) {
+ m_scrolling = true;
+ } else if (phase == NSEventPhaseEnded || phase == NSEventPhaseCancelled) {
ph = Qt::ScrollEnd;
+ m_scrolling = false;
}
QWindowSystemInterface::handleWheelEvent(m_window, qt_timestamp, qt_windowPoint, qt_screenPoint, pixelDelta, angleDelta, currentWheelModifiers, ph);
@@ -1419,7 +1420,7 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
if (m_sendKeyEvent && m_composingText.isEmpty())
QWindowSystemInterface::handleExtendedKeyEvent(focusWindow, timestamp, QEvent::Type(eventType), keyCode, modifiers,
- nativeScanCode, nativeVirtualKey, nativeModifiers, text, [nsevent isARepeat]);
+ nativeScanCode, nativeVirtualKey, nativeModifiers, text, [nsevent isARepeat], false);
m_sendKeyEvent = false;
m_resendKeyEvent = false;
diff --git a/src/plugins/platforms/eglfs/eglfs.pri b/src/plugins/platforms/eglfs/eglfs.pri
index 6f463ba7d9..182539d8fe 100644
--- a/src/plugins/platforms/eglfs/eglfs.pri
+++ b/src/plugins/platforms/eglfs/eglfs.pri
@@ -17,13 +17,15 @@ SOURCES += $$PWD/qeglfsintegration.cpp \
$$PWD/qeglfswindow.cpp \
$$PWD/qeglfsscreen.cpp \
$$PWD/qeglfshooks_stub.cpp \
- $$PWD/qeglfscontext.cpp
+ $$PWD/qeglfscontext.cpp \
+ $$PWD/qeglfsoffscreenwindow.cpp
HEADERS += $$PWD/qeglfsintegration.h \
$$PWD/qeglfswindow.h \
$$PWD/qeglfsscreen.h \
$$PWD/qeglfshooks.h \
- $$PWD/qeglfscontext.h
+ $$PWD/qeglfscontext.h \
+ $$PWD/qeglfsoffscreenwindow.h
QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
diff --git a/src/plugins/platforms/eglfs/qeglfscontext.cpp b/src/plugins/platforms/eglfs/qeglfscontext.cpp
index 6216fa8575..00778373ae 100644
--- a/src/plugins/platforms/eglfs/qeglfscontext.cpp
+++ b/src/plugins/platforms/eglfs/qeglfscontext.cpp
@@ -45,7 +45,8 @@ QT_BEGIN_NAMESPACE
QEglFSContext::QEglFSContext(const QSurfaceFormat &format, QPlatformOpenGLContext *share, EGLDisplay display,
EGLConfig *config, const QVariant &nativeHandle)
- : QEGLPlatformContext(format, share, display, config, nativeHandle)
+ : QEGLPlatformContext(format, share, display, config, nativeHandle),
+ m_tempWindow(0)
{
}
@@ -57,17 +58,45 @@ EGLSurface QEglFSContext::eglSurfaceForPlatformSurface(QPlatformSurface *surface
return static_cast<QEGLPbuffer *>(surface)->pbuffer();
}
+EGLSurface QEglFSContext::createTemporaryOffscreenSurface()
+{
+ if (QEglFSHooks::hooks()->supportsPBuffers())
+ return QEGLPlatformContext::createTemporaryOffscreenSurface();
+
+ if (!m_tempWindow) {
+ m_tempWindow = QEglFSHooks::hooks()->createNativeOffscreenWindow(format());
+ if (!m_tempWindow) {
+ qWarning("QEglFSContext: Failed to create temporary native window");
+ return EGL_NO_SURFACE;
+ }
+ }
+ EGLConfig config = q_configFromGLFormat(eglDisplay(), format());
+ return eglCreateWindowSurface(eglDisplay(), config, m_tempWindow, 0);
+}
+
+void QEglFSContext::destroyTemporaryOffscreenSurface(EGLSurface surface)
+{
+ if (QEglFSHooks::hooks()->supportsPBuffers()) {
+ QEGLPlatformContext::destroyTemporaryOffscreenSurface(surface);
+ } else {
+ eglDestroySurface(eglDisplay(), surface);
+ QEglFSHooks::hooks()->destroyNativeWindow(m_tempWindow);
+ m_tempWindow = 0;
+ }
+}
+
void QEglFSContext::swapBuffers(QPlatformSurface *surface)
{
// draw the cursor
if (surface->surface()->surfaceClass() == QSurface::Window) {
QPlatformWindow *window = static_cast<QPlatformWindow *>(surface);
- if (QEGLPlatformCursor *cursor = static_cast<QEGLPlatformCursor *>(window->screen()->cursor()))
+ if (QEGLPlatformCursor *cursor = qobject_cast<QEGLPlatformCursor *>(window->screen()->cursor()))
cursor->paintOnScreen();
}
- QEglFSHooks::hooks()->waitForVSync();
+ QEglFSHooks::hooks()->waitForVSync(surface);
QEGLPlatformContext::swapBuffers(surface);
+ QEglFSHooks::hooks()->presentBuffer(surface);
}
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/qeglfscontext.h b/src/plugins/platforms/eglfs/qeglfscontext.h
index fcdad5ed22..a656a50e2f 100644
--- a/src/plugins/platforms/eglfs/qeglfscontext.h
+++ b/src/plugins/platforms/eglfs/qeglfscontext.h
@@ -45,7 +45,12 @@ public:
QEglFSContext(const QSurfaceFormat &format, QPlatformOpenGLContext *share, EGLDisplay display,
EGLConfig *config, const QVariant &nativeHandle);
EGLSurface eglSurfaceForPlatformSurface(QPlatformSurface *surface) Q_DECL_OVERRIDE;
+ EGLSurface createTemporaryOffscreenSurface() Q_DECL_OVERRIDE;
+ void destroyTemporaryOffscreenSurface(EGLSurface surface) Q_DECL_OVERRIDE;
void swapBuffers(QPlatformSurface *surface) Q_DECL_OVERRIDE;
+
+private:
+ EGLNativeWindowType m_tempWindow;
};
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/qeglfshooks.h b/src/plugins/platforms/eglfs/qeglfshooks.h
index c51af17a56..b2b8d46741 100644
--- a/src/plugins/platforms/eglfs/qeglfshooks.h
+++ b/src/plugins/platforms/eglfs/qeglfshooks.h
@@ -42,8 +42,9 @@
QT_BEGIN_NAMESPACE
-class QEGLPlatformCursor;
class QEglFSScreen;
+class QEglFSIntegration;
+class QPlatformSurface;
class QEglFSHooks
{
@@ -52,6 +53,8 @@ public:
virtual void platformInit();
virtual void platformDestroy();
virtual EGLNativeDisplayType platformDisplay() const;
+ virtual void screenInit();
+ virtual void screenDestroy();
virtual QSizeF physicalScreenSize() const;
virtual QSize screenSize() const;
virtual QDpi logicalDpi() const;
@@ -63,15 +66,19 @@ public:
virtual EGLNativeWindowType createNativeWindow(QPlatformWindow *platformWindow,
const QSize &size,
const QSurfaceFormat &format);
+ virtual EGLNativeWindowType createNativeOffscreenWindow(const QSurfaceFormat &format);
virtual void destroyNativeWindow(EGLNativeWindowType window);
virtual bool hasCapability(QPlatformIntegration::Capability cap) const;
- virtual QEGLPlatformCursor *createCursor(QPlatformScreen *screen) const;
+ virtual QPlatformCursor *createCursor(QPlatformScreen *screen) const;
virtual bool filterConfig(EGLDisplay display, EGLConfig config) const;
- virtual void waitForVSync() const;
+ virtual void waitForVSync(QPlatformSurface *surface) const;
+ virtual void presentBuffer(QPlatformSurface *surface);
virtual QByteArray fbDeviceName() const;
virtual int framebufferIndex() const;
+ virtual bool supportsPBuffers() const;
+
static QEglFSHooks *hooks()
{
#ifdef EGLFS_PLATFORM_HOOKS
diff --git a/src/plugins/platforms/eglfs/qeglfshooks_kms.cpp b/src/plugins/platforms/eglfs/qeglfshooks_kms.cpp
index 9e5d624d87..4c430964a3 100644
--- a/src/plugins/platforms/eglfs/qeglfshooks_kms.cpp
+++ b/src/plugins/platforms/eglfs/qeglfshooks_kms.cpp
@@ -40,17 +40,185 @@
****************************************************************************/
#include "qeglfshooks.h"
+#include "qeglfsintegration.h"
+#include "qeglfsscreen.h"
+
+#include <QtPlatformSupport/private/qeglplatformcursor_p.h>
#include <QtPlatformSupport/private/qdevicediscovery_p.h>
#include <QtCore/private/qcore_unix_p.h>
#include <QtCore/QScopedPointer>
+#include <QtCore/QJsonDocument>
+#include <QtCore/QJsonObject>
+#include <QtCore/QJsonArray>
+#include <QtCore/QLoggingCategory>
#include <QtGui/qpa/qplatformwindow.h>
+#include <QtGui/qpa/qplatformcursor.h>
+#include <QtGui/QPainter>
+#include <QtGui/private/qguiapplication_p.h>
#include <xf86drm.h>
#include <xf86drmMode.h>
#include <gbm.h>
+#ifndef DRM_CAP_CURSOR_WIDTH
+#define DRM_CAP_CURSOR_WIDTH 0x8
+#endif
+
+#ifndef DRM_CAP_CURSOR_HEIGHT
+#define DRM_CAP_CURSOR_HEIGHT 0x9
+#endif
+
+#define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
+
QT_USE_NAMESPACE
+Q_LOGGING_CATEGORY(qLcEglfsKmsDebug, "qt.qpa.eglfs.kms")
+
+class QEglFSKmsCursor;
+class QEglFSKmsScreen;
+
+enum OutputConfiguration {
+ OutputConfigOff,
+ OutputConfigPreferred,
+ OutputConfigCurrent,
+ OutputConfigMode,
+ OutputConfigModeline
+};
+
+struct QEglFSKmsOutput {
+ QString name;
+ uint32_t connector_id;
+ uint32_t crtc_id;
+ QSizeF physical_size;
+ int mode; // index of selected mode in list below
+ bool mode_set;
+ drmModeCrtcPtr saved_crtc;
+ QList<drmModeModeInfo> modes;
+};
+
+class QEglFSKmsDevice
+{
+ Q_DISABLE_COPY(QEglFSKmsDevice)
+
+ QString m_path;
+ int m_dri_fd;
+ gbm_device *m_gbm_device;
+
+ quint32 m_crtc_allocator;
+ quint32 m_connector_allocator;
+
+ int crtcForConnector(drmModeResPtr resources, drmModeConnectorPtr connector);
+ QEglFSKmsScreen *screenForConnector(drmModeResPtr resources, drmModeConnectorPtr connector, QPoint pos);
+
+ static void pageFlipHandler(int fd,
+ unsigned int sequence,
+ unsigned int tv_sec,
+ unsigned int tv_usec,
+ void *user_data);
+public:
+ QEglFSKmsDevice(const QString &path);
+
+ bool open();
+ void close();
+
+ void createScreens();
+
+ gbm_device *device() const;
+ int fd() const;
+
+ void handleDrmEvent();
+};
+
+class QEglFSKmsScreen : public QEglFSScreen
+{
+ QEglFSKmsDevice *m_device;
+ gbm_surface *m_gbm_surface;
+
+ gbm_bo *m_gbm_bo_current;
+ gbm_bo *m_gbm_bo_next;
+
+ QEglFSKmsOutput m_output;
+ QPoint m_pos;
+ QScopedPointer<QEglFSKmsCursor> m_cursor;
+
+ struct FrameBuffer {
+ FrameBuffer() : fb(0) {}
+ uint32_t fb;
+ };
+ static void bufferDestroyedHandler(gbm_bo *bo, void *data);
+ FrameBuffer *framebufferForBufferObject(gbm_bo *bo);
+
+ static QMutex m_waitForFlipMutex;
+
+public:
+ QEglFSKmsScreen(QEglFSKmsDevice *device, QEglFSKmsOutput output, QPoint position);
+ ~QEglFSKmsScreen();
+
+ QRect geometry() const Q_DECL_OVERRIDE;
+ int depth() const Q_DECL_OVERRIDE;
+ QImage::Format format() const Q_DECL_OVERRIDE;
+
+ QSizeF physicalSize() const Q_DECL_OVERRIDE;
+ QDpi logicalDpi() const Q_DECL_OVERRIDE;
+ Qt::ScreenOrientation nativeOrientation() const Q_DECL_OVERRIDE;
+ Qt::ScreenOrientation orientation() const Q_DECL_OVERRIDE;
+
+ QString name() const Q_DECL_OVERRIDE;
+
+ QPlatformCursor *cursor() const Q_DECL_OVERRIDE;
+
+ QEglFSKmsDevice *device() const { return m_device; }
+
+ gbm_surface *surface() const { return m_gbm_surface; }
+ gbm_surface *createSurface();
+ void destroySurface();
+
+ void waitForFlip();
+ void flip();
+ void flipFinished();
+
+ QEglFSKmsOutput &output() { return m_output; }
+ void restoreMode();
+};
+
+QMutex QEglFSKmsScreen::m_waitForFlipMutex;
+
+class QEglFSKmsCursor : public QPlatformCursor
+{
+ Q_OBJECT
+public:
+ QEglFSKmsCursor(QEglFSKmsScreen *screen);
+ ~QEglFSKmsCursor();
+
+ // input methods
+ void pointerEvent(const QMouseEvent & event) Q_DECL_OVERRIDE;
+#ifndef QT_NO_CURSOR
+ void changeCursor(QCursor * windowCursor, QWindow * window) Q_DECL_OVERRIDE;
+#endif
+ QPoint pos() const Q_DECL_OVERRIDE;
+ void setPos(const QPoint &pos) Q_DECL_OVERRIDE;
+
+private:
+ void initCursorAtlas();
+
+ QEglFSKmsScreen *m_screen;
+ QSize m_cursorSize;
+ gbm_bo *m_bo;
+ QPoint m_pos;
+ QPlatformCursorImage m_cursorImage;
+ bool m_visible;
+
+ // cursor atlas information
+ struct CursorAtlas {
+ CursorAtlas() : cursorsPerRow(0), cursorWidth(0), cursorHeight(0) { }
+ int cursorsPerRow;
+ int width, height; // width and height of the atlas
+ int cursorWidth, cursorHeight; // width and height of cursors inside the atlas
+ QList<QPoint> hotSpots;
+ QImage image;
+ } m_cursorAtlas;
+};
+
class QEglKmsHooks : public QEglFSHooks
{
public:
@@ -59,111 +227,83 @@ public:
void platformInit() Q_DECL_OVERRIDE;
void platformDestroy() Q_DECL_OVERRIDE;
EGLNativeDisplayType platformDisplay() const Q_DECL_OVERRIDE;
- QSizeF physicalScreenSize() const Q_DECL_OVERRIDE;
- QSize screenSize() const Q_DECL_OVERRIDE;
- int screenDepth() const Q_DECL_OVERRIDE;
+ void screenInit() Q_DECL_OVERRIDE;
QSurfaceFormat surfaceFormatFor(const QSurfaceFormat &inputFormat) const Q_DECL_OVERRIDE;
EGLNativeWindowType createNativeWindow(QPlatformWindow *platformWindow,
const QSize &size,
const QSurfaceFormat &format) Q_DECL_OVERRIDE;
+ EGLNativeWindowType createNativeOffscreenWindow(const QSurfaceFormat &format) Q_DECL_OVERRIDE;
void destroyNativeWindow(EGLNativeWindowType window) Q_DECL_OVERRIDE;
bool hasCapability(QPlatformIntegration::Capability cap) const Q_DECL_OVERRIDE;
- void waitForVSync() const Q_DECL_OVERRIDE;
+ QPlatformCursor *createCursor(QPlatformScreen *screen) const Q_DECL_OVERRIDE;
+ void waitForVSync(QPlatformSurface *surface) const Q_DECL_OVERRIDE;
+ void presentBuffer(QPlatformSurface *surface) Q_DECL_OVERRIDE;
+ bool supportsPBuffers() const Q_DECL_OVERRIDE;
- void waitForVSyncImpl();
- bool setup_kms();
-
- struct FrameBuffer {
- FrameBuffer() : fb(0) {}
- uint32_t fb;
- };
- FrameBuffer *framebufferForBufferObject(gbm_bo *bo);
+ bool hwCursor() const;
+ QMap<QString, QVariantMap> outputSettings() const;
private:
- // device bits
- QByteArray m_device;
- int m_dri_fd;
- gbm_device *m_gbm_device;
+ void loadConfig();
- // KMS bits
- drmModeConnector *m_drm_connector;
- drmModeEncoder *m_drm_encoder;
- drmModeModeInfo m_drm_mode;
- quint32 m_drm_crtc;
+ QEglFSKmsDevice *m_device;
- // Drawing bits
- gbm_surface *m_gbm_surface;
+ bool m_hwCursor;
+ bool m_pbuffers;
+ QString m_devicePath;
+ QMap<QString, QVariantMap> m_outputSettings;
};
static QEglKmsHooks kms_hooks;
QEglFSHooks *platformHooks = &kms_hooks;
QEglKmsHooks::QEglKmsHooks()
- : m_dri_fd(-1)
- , m_gbm_device(Q_NULLPTR)
- , m_drm_connector(Q_NULLPTR)
- , m_drm_encoder(Q_NULLPTR)
- , m_drm_crtc(0)
- , m_gbm_surface(Q_NULLPTR)
-{
-
-}
+ : m_device(Q_NULLPTR)
+ , m_hwCursor(true)
+ , m_pbuffers(false)
+{}
void QEglKmsHooks::platformInit()
{
- QDeviceDiscovery *d = QDeviceDiscovery::create(QDeviceDiscovery::Device_VideoMask);
- QStringList devices = d->scanConnectedDevices();
- d->deleteLater();
+ loadConfig();
- if (devices.isEmpty())
- qFatal("Could not find DRM device!");
+ if (!m_devicePath.isEmpty()) {
+ qCDebug(qLcEglfsKmsDebug) << "Using DRM device" << m_devicePath << "specified in config file";
+ } else {
- m_device = devices.first().toLocal8Bit();
- m_dri_fd = qt_safe_open(m_device.constData(), O_RDWR | O_CLOEXEC);
- if (m_dri_fd == -1) {
- qErrnoWarning("Could not open DRM device %s", m_device.constData());
- qFatal("DRM device required, aborting.");
- }
+ QDeviceDiscovery *d = QDeviceDiscovery::create(QDeviceDiscovery::Device_VideoMask);
+ QStringList devices = d->scanConnectedDevices();
+ qCDebug(qLcEglfsKmsDebug) << "Found the following video devices:" << devices;
+ d->deleteLater();
- if (!setup_kms())
- qFatal("Could not set up KMS on device %s!", m_device.constData());
+ if (devices.isEmpty())
+ qFatal("Could not find DRM device!");
- m_gbm_device = gbm_create_device(m_dri_fd);
- if (!m_gbm_device)
- qFatal("Could not initialize gbm on device %s!", m_device.constData());
+ m_devicePath = devices.first();
+ qCDebug(qLcEglfsKmsDebug) << "Using" << m_devicePath;
+ }
+
+ m_device = new QEglFSKmsDevice(m_devicePath);
+ if (!m_device->open())
+ qFatal("Could not open device %s - aborting!", qPrintable(m_devicePath));
}
void QEglKmsHooks::platformDestroy()
{
- gbm_device_destroy(m_gbm_device);
- m_gbm_device = Q_NULLPTR;
-
- if (qt_safe_close(m_dri_fd) == -1)
- qErrnoWarning("Could not close DRM device %s", m_device.constData());
-
- m_dri_fd = -1;
+ m_device->close();
+ delete m_device;
+ m_device = Q_NULLPTR;
}
EGLNativeDisplayType QEglKmsHooks::platformDisplay() const
{
- return static_cast<EGLNativeDisplayType>(m_gbm_device);
-}
-
-QSizeF QEglKmsHooks::physicalScreenSize() const
-{
- return QSizeF(m_drm_connector->mmWidth,
- m_drm_connector->mmHeight);
-}
-
-QSize QEglKmsHooks::screenSize() const
-{
- return QSize(m_drm_mode.hdisplay,
- m_drm_mode.vdisplay);
+ Q_ASSERT(m_device);
+ return reinterpret_cast<EGLNativeDisplayType>(m_device->device());
}
-int QEglKmsHooks::screenDepth() const
+void QEglKmsHooks::screenInit()
{
- return 32;
+ m_device->createScreens();
}
QSurfaceFormat QEglKmsHooks::surfaceFormatFor(const QSurfaceFormat &inputFormat) const
@@ -181,31 +321,35 @@ EGLNativeWindowType QEglKmsHooks::createNativeWindow(QPlatformWindow *platformWi
const QSize &size,
const QSurfaceFormat &format)
{
- Q_UNUSED(platformWindow);
Q_UNUSED(size);
Q_UNUSED(format);
- if (m_gbm_surface) {
- qWarning("Only single window apps supported!");
+ QEglFSKmsScreen *screen = static_cast<QEglFSKmsScreen *>(platformWindow->screen());
+ if (screen->surface()) {
+ qWarning("Only single window per screen supported!");
return 0;
}
- m_gbm_surface = gbm_surface_create(m_gbm_device,
- screenSize().width(),
- screenSize().height(),
- GBM_FORMAT_XRGB8888,
- GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING);
- if (!m_gbm_surface)
- qFatal("Could not initialize GBM surface");
+ return reinterpret_cast<EGLNativeWindowType>(screen->createSurface());
+}
+
+EGLNativeWindowType QEglKmsHooks::createNativeOffscreenWindow(const QSurfaceFormat &format)
+{
+ Q_UNUSED(format);
+ Q_ASSERT(m_device);
- return reinterpret_cast<EGLNativeWindowType>(m_gbm_surface);
+ qCDebug(qLcEglfsKmsDebug) << "Creating native off screen window";
+ gbm_surface *surface = gbm_surface_create(m_device->device(),
+ 1, 1,
+ GBM_FORMAT_XRGB8888,
+ GBM_BO_USE_RENDERING);
+
+ return reinterpret_cast<EGLNativeWindowType>(surface);
}
void QEglKmsHooks::destroyNativeWindow(EGLNativeWindowType window)
{
gbm_surface *surface = reinterpret_cast<gbm_surface *>(window);
- if (surface == m_gbm_surface)
- m_gbm_surface = Q_NULLPTR;
gbm_surface_destroy(surface);
}
@@ -215,16 +359,250 @@ bool QEglKmsHooks::hasCapability(QPlatformIntegration::Capability cap) const
case QPlatformIntegration::ThreadedPixmaps:
case QPlatformIntegration::OpenGL:
case QPlatformIntegration::ThreadedOpenGL:
- case QPlatformIntegration::BufferQueueingOpenGL:
return true;
default:
return false;
}
}
-static void gbm_bo_destroyed_callback(gbm_bo *bo, void *data)
+QPlatformCursor *QEglKmsHooks::createCursor(QPlatformScreen *screen) const
+{
+ if (m_hwCursor)
+ return Q_NULLPTR;
+ else
+ return new QEGLPlatformCursor(screen);
+}
+
+void QEglKmsHooks::waitForVSync(QPlatformSurface *surface) const
+{
+ QWindow *window = static_cast<QWindow *>(surface->surface());
+ QEglFSKmsScreen *screen = static_cast<QEglFSKmsScreen *>(window->screen()->handle());
+
+ screen->waitForFlip();
+}
+
+void QEglKmsHooks::presentBuffer(QPlatformSurface *surface)
+{
+ QWindow *window = static_cast<QWindow *>(surface->surface());
+ QEglFSKmsScreen *screen = static_cast<QEglFSKmsScreen *>(window->screen()->handle());
+
+ screen->flip();
+}
+
+bool QEglKmsHooks::supportsPBuffers() const
+{
+ return m_pbuffers;
+}
+
+bool QEglKmsHooks::hwCursor() const
+{
+ return m_hwCursor;
+}
+
+QMap<QString, QVariantMap> QEglKmsHooks::outputSettings() const
+{
+ return m_outputSettings;
+}
+
+void QEglKmsHooks::loadConfig()
+{
+ static QByteArray json = qgetenv("QT_QPA_EGLFS_KMS_CONFIG");
+ if (json.isEmpty())
+ return;
+
+ qCDebug(qLcEglfsKmsDebug) << "Loading KMS setup from" << json;
+
+ QFile file(QString::fromUtf8(json));
+ if (!file.open(QFile::ReadOnly)) {
+ qCDebug(qLcEglfsKmsDebug) << "Could not open config file"
+ << json << "for reading";
+ return;
+ }
+
+ QJsonDocument doc = QJsonDocument::fromJson(file.readAll());
+ if (!doc.isObject()) {
+ qCDebug(qLcEglfsKmsDebug) << "Invalid config file" << json
+ << "- no top-level JSON object";
+ return;
+ }
+
+ QJsonObject object = doc.object();
+
+ m_hwCursor = object.value("hwcursor").toBool(m_hwCursor);
+ m_pbuffers = object.value("pbuffers").toBool(m_pbuffers);
+ m_devicePath = object.value("device").toString();
+
+ QJsonArray outputs = object.value("outputs").toArray();
+ for (int i = 0; i < outputs.size(); i++) {
+ QVariantMap outputSettings = outputs.at(i).toObject().toVariantMap();
+
+ if (outputSettings.contains("name")) {
+ QString name = outputSettings.value("name").toString();
+
+ if (m_outputSettings.contains(name)) {
+ qCDebug(qLcEglfsKmsDebug) << "Output" << name << "configured multiple times!";
+ }
+
+ m_outputSettings.insert(name, outputSettings);
+ }
+ }
+
+ qCDebug(qLcEglfsKmsDebug) << "Configuration:\n"
+ << "\thwcursor:" << m_hwCursor << "\n"
+ << "\tpbuffers:" << m_pbuffers << "\n"
+ << "\toutputs:" << m_outputSettings;
+}
+
+QEglFSKmsCursor::QEglFSKmsCursor(QEglFSKmsScreen *screen)
+ : m_screen(screen)
+ , m_cursorSize(64, 64) // 64x64 is the old standard size, we now try to query the real size below
+ , m_bo(Q_NULLPTR)
+ , m_cursorImage(0, 0, 0, 0, 0, 0)
+ , m_visible(true)
{
- QEglKmsHooks::FrameBuffer *fb = static_cast<QEglKmsHooks::FrameBuffer *>(data);
+ uint64_t width, height;
+ if ((drmGetCap(m_screen->device()->fd(), DRM_CAP_CURSOR_WIDTH, &width) == 0)
+ && (drmGetCap(m_screen->device()->fd(), DRM_CAP_CURSOR_HEIGHT, &height) == 0)) {
+ m_cursorSize.setWidth(width);
+ m_cursorSize.setHeight(height);
+ }
+
+ m_bo = gbm_bo_create(m_screen->device()->device(), m_cursorSize.width(), m_cursorSize.height(),
+ GBM_FORMAT_ARGB8888, GBM_BO_USE_CURSOR_64X64 | GBM_BO_USE_WRITE);
+ if (!m_bo) {
+ qWarning("Could not create buffer for cursor!");
+ } else {
+ initCursorAtlas();
+ }
+
+ drmModeMoveCursor(m_screen->device()->fd(), m_screen->output().crtc_id, 0, 0);
+}
+
+QEglFSKmsCursor::~QEglFSKmsCursor()
+{
+ drmModeSetCursor(m_screen->device()->fd(), m_screen->output().crtc_id, 0, 0, 0);
+ drmModeMoveCursor(m_screen->device()->fd(), m_screen->output().crtc_id, 0, 0);
+
+ gbm_bo_destroy(m_bo);
+ m_bo = Q_NULLPTR;
+}
+
+void QEglFSKmsCursor::pointerEvent(const QMouseEvent &event)
+{
+ setPos(event.screenPos().toPoint());
+}
+
+#ifndef QT_NO_CURSOR
+void QEglFSKmsCursor::changeCursor(QCursor *windowCursor, QWindow *window)
+{
+ Q_UNUSED(window);
+
+ if (!m_visible)
+ return;
+
+ const Qt::CursorShape newShape = windowCursor ? windowCursor->shape() : Qt::ArrowCursor;
+ if (newShape == Qt::BitmapCursor) {
+ m_cursorImage.set(windowCursor->pixmap().toImage(),
+ windowCursor->hotSpot().x(),
+ windowCursor->hotSpot().y());
+ } else {
+ // Standard cursor, look up in atlas
+ const int width = m_cursorAtlas.cursorWidth;
+ const int height = m_cursorAtlas.cursorHeight;
+ const qreal ws = (qreal)m_cursorAtlas.cursorWidth / m_cursorAtlas.width;
+ const qreal hs = (qreal)m_cursorAtlas.cursorHeight / m_cursorAtlas.height;
+
+ QRect textureRect(ws * (newShape % m_cursorAtlas.cursorsPerRow) * m_cursorAtlas.width,
+ hs * (newShape / m_cursorAtlas.cursorsPerRow) * m_cursorAtlas.height,
+ width,
+ height);
+ QPoint hotSpot = m_cursorAtlas.hotSpots[newShape];
+ m_cursorImage.set(m_cursorAtlas.image.copy(textureRect),
+ hotSpot.x(),
+ hotSpot.y());
+ }
+
+ if (m_cursorImage.image()->width() > m_cursorSize.width() || m_cursorImage.image()->height() > m_cursorSize.height())
+ qWarning("Cursor larger than %dx%d, cursor will be clipped.", m_cursorSize.width(), m_cursorSize.height());
+
+ QImage cursorImage(m_cursorSize, QImage::Format_ARGB32);
+ cursorImage.fill(Qt::transparent);
+
+ QPainter painter;
+ painter.begin(&cursorImage);
+ painter.drawImage(0, 0, *m_cursorImage.image());
+ painter.end();
+
+ gbm_bo_write(m_bo, cursorImage.constBits(), cursorImage.byteCount());
+
+ uint32_t handle = gbm_bo_get_handle(m_bo).u32;
+ int status = drmModeSetCursor(m_screen->device()->fd(), m_screen->output().crtc_id, handle,
+ m_cursorSize.width(), m_cursorSize.height());
+ if (status != 0)
+ qWarning("Could not set cursor: %d", status);
+}
+#endif // QT_NO_CURSOR
+
+QPoint QEglFSKmsCursor::pos() const
+{
+ return m_pos;
+}
+
+void QEglFSKmsCursor::setPos(const QPoint &pos)
+{
+ QPoint adjustedPos = pos - m_cursorImage.hotspot();
+ int ret = drmModeMoveCursor(m_screen->device()->fd(), m_screen->output().crtc_id, adjustedPos.x(), adjustedPos.y());
+ if (ret == 0) {
+ m_pos = pos;
+ } else {
+ qWarning("Failed to move cursor: %d", ret);
+ }
+}
+
+void QEglFSKmsCursor::initCursorAtlas()
+{
+ static QByteArray json = qgetenv("QT_QPA_EGLFS_CURSOR");
+ if (json.isEmpty())
+ json = ":/cursor.json";
+
+ qCDebug(qLcEglfsKmsDebug) << "Initializing cursor atlas from" << json;
+
+ QFile file(QString::fromUtf8(json));
+ if (!file.open(QFile::ReadOnly)) {
+ drmModeSetCursor(m_screen->device()->fd(), m_screen->output().crtc_id, 0, 0, 0);
+ drmModeMoveCursor(m_screen->device()->fd(), m_screen->output().crtc_id, 0, 0);
+ m_visible = false;
+ return;
+ }
+
+ QJsonDocument doc = QJsonDocument::fromJson(file.readAll());
+ QJsonObject object = doc.object();
+
+ QString atlas = object.value(QLatin1String("image")).toString();
+ Q_ASSERT(!atlas.isEmpty());
+
+ const int cursorsPerRow = object.value(QLatin1String("cursorsPerRow")).toDouble();
+ Q_ASSERT(cursorsPerRow);
+ m_cursorAtlas.cursorsPerRow = cursorsPerRow;
+
+ const QJsonArray hotSpots = object.value(QLatin1String("hotSpots")).toArray();
+ Q_ASSERT(hotSpots.count() == Qt::LastCursor + 1);
+ for (int i = 0; i < hotSpots.count(); i++) {
+ QPoint hotSpot(hotSpots[i].toArray()[0].toDouble(), hotSpots[i].toArray()[1].toDouble());
+ m_cursorAtlas.hotSpots << hotSpot;
+ }
+
+ QImage image = QImage(atlas).convertToFormat(QImage::Format_ARGB32);
+ m_cursorAtlas.cursorWidth = image.width() / m_cursorAtlas.cursorsPerRow;
+ m_cursorAtlas.cursorHeight = image.height() / ((Qt::LastCursor + cursorsPerRow) / cursorsPerRow);
+ m_cursorAtlas.width = image.width();
+ m_cursorAtlas.height = image.height();
+ m_cursorAtlas.image = image;
+}
+
+void QEglFSKmsScreen::bufferDestroyedHandler(gbm_bo *bo, void *data)
+{
+ FrameBuffer *fb = static_cast<FrameBuffer *>(data);
if (fb->fb) {
gbm_device *device = gbm_bo_get_device(bo);
@@ -234,7 +612,7 @@ static void gbm_bo_destroyed_callback(gbm_bo *bo, void *data)
delete fb;
}
-QEglKmsHooks::FrameBuffer *QEglKmsHooks::framebufferForBufferObject(gbm_bo *bo)
+QEglFSKmsScreen::FrameBuffer *QEglFSKmsScreen::framebufferForBufferObject(gbm_bo *bo)
{
{
FrameBuffer *fb = static_cast<FrameBuffer *>(gbm_bo_get_user_data(bo));
@@ -249,7 +627,7 @@ QEglKmsHooks::FrameBuffer *QEglKmsHooks::framebufferForBufferObject(gbm_bo *bo)
QScopedPointer<FrameBuffer> fb(new FrameBuffer);
- int ret = drmModeAddFB(m_dri_fd, width, height, 24, 32,
+ int ret = drmModeAddFB(m_device->fd(), width, height, 24, 32,
stride, handle, &fb->fb);
if (ret) {
@@ -257,166 +635,542 @@ QEglKmsHooks::FrameBuffer *QEglKmsHooks::framebufferForBufferObject(gbm_bo *bo)
return Q_NULLPTR;
}
- gbm_bo_set_user_data(bo, fb.data(), gbm_bo_destroyed_callback);
+ gbm_bo_set_user_data(bo, fb.data(), bufferDestroyedHandler);
return fb.take();
+
}
-static void page_flip_handler(int fd,
- unsigned int sequence,
- unsigned int tv_sec,
- unsigned int tv_usec,
- void *user_data)
+QEglFSKmsScreen::QEglFSKmsScreen(QEglFSKmsDevice *device, QEglFSKmsOutput output, QPoint position)
+ : QEglFSScreen(eglGetDisplay(reinterpret_cast<EGLNativeDisplayType>(device->device())))
+ , m_device(device)
+ , m_gbm_surface(Q_NULLPTR)
+ , m_gbm_bo_current(Q_NULLPTR)
+ , m_gbm_bo_next(Q_NULLPTR)
+ , m_output(output)
+ , m_pos(position)
+ , m_cursor(Q_NULLPTR)
{
- Q_UNUSED(fd);
- Q_UNUSED(sequence);
- Q_UNUSED(tv_sec);
- Q_UNUSED(tv_usec);
+}
+
+QEglFSKmsScreen::~QEglFSKmsScreen()
+{
+ restoreMode();
+}
+
+QRect QEglFSKmsScreen::geometry() const
+{
+ const int mode = m_output.mode;
+ return QRect(m_pos.x(), m_pos.y(),
+ m_output.modes[mode].hdisplay,
+ m_output.modes[mode].vdisplay);
+}
+
+int QEglFSKmsScreen::depth() const
+{
+ return 32;
+}
+
+QImage::Format QEglFSKmsScreen::format() const
+{
+ return QImage::Format_RGB32;
+}
- // We are no longer flipping
- *static_cast<bool *>(user_data) = false;
+QSizeF QEglFSKmsScreen::physicalSize() const
+{
+ return m_output.physical_size;
+}
+
+QDpi QEglFSKmsScreen::logicalDpi() const
+{
+ QSizeF ps = physicalSize();
+ QSize s = geometry().size();
+
+ if (ps.isValid() && s.isValid())
+ return QDpi(25.4 * s.width() / ps.width(),
+ 25.4 * s.height() / ps.height());
+ else
+ return QDpi(100, 100);
+}
+
+Qt::ScreenOrientation QEglFSKmsScreen::nativeOrientation() const
+{
+ return Qt::PrimaryOrientation;
+}
+
+Qt::ScreenOrientation QEglFSKmsScreen::orientation() const
+{
+ return Qt::PrimaryOrientation;
+}
+
+QString QEglFSKmsScreen::name() const
+{
+ return m_output.name;
}
-void QEglKmsHooks::waitForVSync() const
+QPlatformCursor *QEglFSKmsScreen::cursor() const
{
- const_cast<QEglKmsHooks*>(this)->waitForVSyncImpl();
+ if (kms_hooks.hwCursor()) {
+ if (m_cursor.isNull()) {
+ QEglFSKmsScreen *that = const_cast<QEglFSKmsScreen *>(this);
+ that->m_cursor.reset(new QEglFSKmsCursor(that));
+ }
+
+ return m_cursor.data();
+ } else {
+ return QEglFSScreen::cursor();
+ }
}
-void QEglKmsHooks::waitForVSyncImpl()
+gbm_surface *QEglFSKmsScreen::createSurface()
{
if (!m_gbm_surface) {
- qWarning("Cannot sync before platform init!");
- return;
+ qCDebug(qLcEglfsKmsDebug) << "Creating window for screen" << name();
+ m_gbm_surface = gbm_surface_create(m_device->device(),
+ geometry().width(),
+ geometry().height(),
+ GBM_FORMAT_XRGB8888,
+ GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING);
+ }
+ return m_gbm_surface;
+}
+
+void QEglFSKmsScreen::destroySurface()
+{
+ if (m_gbm_bo_current) {
+ gbm_bo_destroy(m_gbm_bo_current);
+ m_gbm_bo_current = Q_NULLPTR;
}
- if (!gbm_surface_has_free_buffers(m_gbm_surface)) {
- qWarning("Out of free GBM buffers!");
+ if (m_gbm_bo_next) {
+ gbm_bo_destroy(m_gbm_bo_next);
+ m_gbm_bo_next = Q_NULLPTR;
+ }
+
+ if (m_gbm_surface) {
+ gbm_surface_destroy(m_gbm_surface);
+ m_gbm_surface = Q_NULLPTR;
+ }
+}
+
+void QEglFSKmsScreen::waitForFlip()
+{
+ // Don't lock the mutex unless we actually need to
+ if (!m_gbm_bo_next)
+ return;
+
+ QMutexLocker lock(&m_waitForFlipMutex);
+ while (m_gbm_bo_next)
+ m_device->handleDrmEvent();
+}
+
+void QEglFSKmsScreen::flip()
+{
+ if (!m_gbm_surface) {
+ qWarning("Cannot sync before platform init!");
return;
}
- gbm_bo *front_buffer = gbm_surface_lock_front_buffer(m_gbm_surface);
- if (!front_buffer) {
+ m_gbm_bo_next = gbm_surface_lock_front_buffer(m_gbm_surface);
+ if (!m_gbm_bo_next) {
qWarning("Could not lock GBM surface front buffer!");
return;
}
- QEglKmsHooks::FrameBuffer *fb = framebufferForBufferObject(front_buffer);
+ FrameBuffer *fb = framebufferForBufferObject(m_gbm_bo_next);
- int ret = drmModeSetCrtc(m_dri_fd,
- m_drm_crtc,
- fb->fb,
- 0, 0,
- &m_drm_connector->connector_id, 1,
- &m_drm_mode);
- if (ret) {
- qErrnoWarning("Could not set DRM mode!");
- return;
+ if (!m_output.mode_set) {
+ int ret = drmModeSetCrtc(m_device->fd(),
+ m_output.crtc_id,
+ fb->fb,
+ 0, 0,
+ &m_output.connector_id, 1,
+ &m_output.modes[m_output.mode]);
+
+ if (ret)
+ qErrnoWarning("Could not set DRM mode!");
+ else
+ m_output.mode_set = true;
}
- bool flipping = true;
- ret = drmModePageFlip(m_dri_fd,
- m_drm_encoder->crtc_id,
- fb->fb,
- DRM_MODE_PAGE_FLIP_EVENT,
- &flipping);
+ int ret = drmModePageFlip(m_device->fd(),
+ m_output.crtc_id,
+ fb->fb,
+ DRM_MODE_PAGE_FLIP_EVENT,
+ this);
if (ret) {
qErrnoWarning("Could not queue DRM page flip!");
- return;
+ gbm_surface_release_buffer(m_gbm_surface, m_gbm_bo_next);
+ m_gbm_bo_next = Q_NULLPTR;
}
+}
- drmEventContext drmEvent = {
- DRM_EVENT_CONTEXT_VERSION,
- Q_NULLPTR, // vblank handler
- page_flip_handler // page flip handler
- };
+void QEglFSKmsScreen::flipFinished()
+{
+ if (m_gbm_bo_current)
+ gbm_surface_release_buffer(m_gbm_surface,
+ m_gbm_bo_current);
- fd_set fds;
- FD_ZERO(&fds);
- FD_SET(m_dri_fd, &fds);
+ m_gbm_bo_current = m_gbm_bo_next;
+ m_gbm_bo_next = Q_NULLPTR;
+}
- time_t start, cur;
- time(&start);
+void QEglFSKmsScreen::restoreMode()
+{
+ if (m_output.mode_set && m_output.saved_crtc) {
+ drmModeSetCrtc(m_device->fd(),
+ m_output.saved_crtc->crtc_id,
+ m_output.saved_crtc->buffer_id,
+ 0, 0,
+ &m_output.connector_id, 1,
+ &m_output.saved_crtc->mode);
+
+ drmModeFreeCrtc(m_output.saved_crtc);
+ m_output.saved_crtc = Q_NULLPTR;
+
+ m_output.mode_set = false;
+ }
+}
- while (flipping && (time(&cur) < start + 1)) {
- timespec v;
- memset(&v, 0, sizeof(v));
- v.tv_sec = start + 1 - cur;
+int QEglFSKmsDevice::crtcForConnector(drmModeResPtr resources, drmModeConnectorPtr connector)
+{
+ for (int i = 0; i < connector->count_encoders; i++) {
+ drmModeEncoderPtr encoder = drmModeGetEncoder(m_dri_fd, connector->encoders[i]);
+ if (!encoder) {
+ qWarning("Failed to get encoder");
+ continue;
+ }
+
+ quint32 possibleCrtcs = encoder->possible_crtcs;
+ drmModeFreeEncoder(encoder);
- ret = qt_safe_select(m_dri_fd + 1, &fds, Q_NULLPTR, Q_NULLPTR, &v);
+ for (int j = 0; j < resources->count_crtcs; j++) {
+ bool isPossible = possibleCrtcs & (1 << j);
+ bool isAvailable = !(m_crtc_allocator & 1 << resources->crtcs[j]);
- if (ret == 0) {
- // timeout
- break;
- } else if (ret == -1) {
- qErrnoWarning("Error while selecting on DRM fd");
- break;
- } else if (drmHandleEvent(m_dri_fd, &drmEvent)) {
- qWarning("Could not handle DRM event!");
+ if (isPossible && isAvailable)
+ return j;
}
}
- gbm_surface_release_buffer(m_gbm_surface, front_buffer);
+ return -1;
}
-bool QEglKmsHooks::setup_kms()
+static const char * const connector_type_names[] = {
+ "None",
+ "VGA",
+ "DVI",
+ "DVI",
+ "DVI",
+ "Composite",
+ "TV",
+ "LVDS",
+ "CTV",
+ "DIN",
+ "DP",
+ "HDMI",
+ "HDMI",
+ "TV",
+ "eDP",
+};
+
+static QString nameForConnector(const drmModeConnectorPtr connector)
{
- drmModeRes *resources;
- drmModeConnector *connector;
- drmModeEncoder *encoder;
- quint32 crtc = 0;
- int i;
+ QString connectorName = "UNKNOWN";
- resources = drmModeGetResources(m_dri_fd);
- if (!resources) {
- qWarning("drmModeGetResources failed");
- return false;
- }
+ if (connector->connector_type < ARRAY_LENGTH(connector_type_names))
+ connectorName = connector_type_names[connector->connector_type];
+
+ connectorName += QString::number(connector->connector_type_id);
+
+ return connectorName;
+}
+
+static bool parseModeline(const QString &s, drmModeModeInfoPtr mode)
+{
+ char hsync[16];
+ char vsync[16];
+ float fclock;
+
+ mode->type = DRM_MODE_TYPE_USERDEF;
+ mode->hskew = 0;
+ mode->vscan = 0;
+ mode->vrefresh = 0;
+ mode->flags = 0;
+
+ if (sscanf(qPrintable(s), "%f %hd %hd %hd %hd %hd %hd %hd %hd %15s %15s",
+ &fclock,
+ &mode->hdisplay,
+ &mode->hsync_start,
+ &mode->hsync_end,
+ &mode->htotal,
+ &mode->vdisplay,
+ &mode->vsync_start,
+ &mode->vsync_end,
+ &mode->vtotal, hsync, vsync) != 11)
+ return false;
+
+ mode->clock = fclock * 1000;
+
+ if (strcmp(hsync, "+hsync") == 0)
+ mode->flags |= DRM_MODE_FLAG_PHSYNC;
+ else if (strcmp(hsync, "-hsync") == 0)
+ mode->flags |= DRM_MODE_FLAG_NHSYNC;
+ else
+ return false;
+
+ if (strcmp(vsync, "+vsync") == 0)
+ mode->flags |= DRM_MODE_FLAG_PVSYNC;
+ else if (strcmp(vsync, "-vsync") == 0)
+ mode->flags |= DRM_MODE_FLAG_NVSYNC;
+ else
+ return false;
- for (i = 0; i < resources->count_connectors; i++) {
- connector = drmModeGetConnector(m_dri_fd, resources->connectors[i]);
- if (connector == NULL)
- continue;
+ return true;
+}
- if (connector->connection == DRM_MODE_CONNECTED &&
- connector->count_modes > 0) {
- break;
- }
+QEglFSKmsScreen *QEglFSKmsDevice::screenForConnector(drmModeResPtr resources, drmModeConnectorPtr connector, QPoint pos)
+{
+ const QString connectorName = nameForConnector(connector);
- drmModeFreeConnector(connector);
+ const int crtc = crtcForConnector(resources, connector);
+ if (crtc < 0) {
+ qWarning() << "No usable crtc/encoder pair for connector" << connectorName;
+ return Q_NULLPTR;
+ }
+
+ OutputConfiguration configuration;
+ QSize configurationSize;
+ drmModeModeInfo configurationModeline;
+
+ const QString mode = kms_hooks.outputSettings().value(connectorName).value("mode", "preferred").toString().toLower();
+ if (mode == "off") {
+ configuration = OutputConfigOff;
+ } else if (mode == "preferred") {
+ configuration = OutputConfigPreferred;
+ } else if (mode == "current") {
+ configuration = OutputConfigCurrent;
+ } else if (sscanf(qPrintable(mode), "%dx%d", &configurationSize.rwidth(), &configurationSize.rheight()) == 2) {
+ configuration = OutputConfigMode;
+ } else if (parseModeline(mode, &configurationModeline)) {
+ configuration = OutputConfigModeline;
+ } else {
+ qWarning("Invalid mode \"%s\" for output %s", qPrintable(mode), qPrintable(connectorName));
+ configuration = OutputConfigPreferred;
}
- if (i == resources->count_connectors) {
- qWarning("No currently active connector found.");
- return false;
+ const uint32_t crtc_id = resources->crtcs[crtc];
+
+ if (configuration == OutputConfigOff) {
+ qCDebug(qLcEglfsKmsDebug) << "Turning off output" << connectorName;
+ drmModeSetCrtc(m_dri_fd, crtc_id, 0, 0, 0, 0, 0, Q_NULLPTR);
+ return Q_NULLPTR;
}
- for (i = 0; i < resources->count_encoders; i++) {
- encoder = drmModeGetEncoder(m_dri_fd, resources->encoders[i]);
+ // Get the current mode on the current crtc
+ drmModeModeInfo crtc_mode;
+ memset(&crtc_mode, 0, sizeof crtc_mode);
+ if (drmModeEncoderPtr encoder = drmModeGetEncoder(m_dri_fd, connector->connector_id)) {
+ drmModeCrtcPtr crtc = drmModeGetCrtc(m_dri_fd, encoder->crtc_id);
+ drmModeFreeEncoder(encoder);
- if (encoder == NULL)
- continue;
+ if (!crtc)
+ return Q_NULLPTR;
- if (encoder->encoder_id == connector->encoder_id)
- break;
+ if (crtc->mode_valid)
+ crtc_mode = crtc->mode;
- drmModeFreeEncoder(encoder);
+ drmModeFreeCrtc(crtc);
}
- for (int j = 0; j < resources->count_crtcs; j++) {
- if ((encoder->possible_crtcs & (1 << j))) {
- crtc = resources->crtcs[j];
- break;
+ QList<drmModeModeInfo> modes;
+ qCDebug(qLcEglfsKmsDebug) << connectorName << "mode count:" << connector->count_modes;
+ for (int i = 0; i < connector->count_modes; i++) {
+ const drmModeModeInfo &mode = connector->modes[i];
+ qCDebug(qLcEglfsKmsDebug) << "mode" << i << mode.hdisplay << "x" << mode.vdisplay
+ << "@" << mode.vrefresh << "hz";
+ modes << connector->modes[i];
+ }
+
+ int preferred = -1;
+ int current = -1;
+ int configured = -1;
+ int best = -1;
+
+ for (int i = modes.size() - 1; i >= 0; i--) {
+ const drmModeModeInfo &m = modes.at(i);
+
+ if (configuration == OutputConfigMode &&
+ m.hdisplay == configurationSize.width() &&
+ m.vdisplay == configurationSize.height()) {
+ configured = i;
}
+
+ if (!memcmp(&crtc_mode, &m, sizeof m))
+ current = i;
+
+ if (m.type & DRM_MODE_TYPE_PREFERRED)
+ preferred = i;
+
+ best = i;
}
- if (crtc == 0)
- qFatal("No suitable CRTC available");
+ if (configuration == OutputConfigModeline) {
+ modes << configurationModeline;
+ configured = modes.size() - 1;
+ }
- m_drm_connector = connector;
- m_drm_encoder = encoder;
- m_drm_mode = connector->modes[0];
- m_drm_crtc = crtc;
+ if (current < 0 && crtc_mode.clock != 0) {
+ modes << crtc_mode;
+ current = mode.size() - 1;
+ }
- drmModeFreeResources(resources);
+ if (configuration == OutputConfigCurrent)
+ configured = current;
+
+ int selected_mode = -1;
+
+ if (configured >= 0)
+ selected_mode = configured;
+ else if (preferred >= 0)
+ selected_mode = preferred;
+ else if (current >= 0)
+ selected_mode = current;
+ else if (best >= 0)
+ selected_mode = best;
+
+ if (selected_mode < 0) {
+ qWarning() << "No modes available for output" << connectorName;
+ return Q_NULLPTR;
+ } else {
+ int width = modes[selected_mode].hdisplay;
+ int height = modes[selected_mode].vdisplay;
+ int refresh = modes[selected_mode].vrefresh;
+ qCDebug(qLcEglfsKmsDebug) << "Selected mode" << selected_mode << ":" << width << "x" << height
+ << "@" << refresh << "hz for output" << connectorName;
+ }
+
+ QEglFSKmsOutput output = {
+ connectorName,
+ connector->connector_id,
+ crtc_id,
+ QSizeF(connector->mmWidth, connector->mmHeight),
+ selected_mode,
+ false,
+ drmModeGetCrtc(m_dri_fd, crtc_id),
+ modes
+ };
+
+ m_crtc_allocator |= (1 << output.crtc_id);
+ m_connector_allocator |= (1 << output.connector_id);
+
+ return new QEglFSKmsScreen(this, output, pos);
+}
+
+void QEglFSKmsDevice::pageFlipHandler(int fd, unsigned int sequence, unsigned int tv_sec, unsigned int tv_usec, void *user_data)
+{
+ Q_UNUSED(fd);
+ Q_UNUSED(sequence);
+ Q_UNUSED(tv_sec);
+ Q_UNUSED(tv_usec);
+
+ QEglFSKmsScreen *screen = static_cast<QEglFSKmsScreen *>(user_data);
+ screen->flipFinished();
+}
+
+QEglFSKmsDevice::QEglFSKmsDevice(const QString &path)
+ : m_path(path)
+ , m_dri_fd(-1)
+ , m_gbm_device(Q_NULLPTR)
+ , m_crtc_allocator(0)
+ , m_connector_allocator(0)
+{
+}
+
+bool QEglFSKmsDevice::open()
+{
+ Q_ASSERT(m_dri_fd == -1);
+ Q_ASSERT(m_gbm_device == Q_NULLPTR);
+
+ qCDebug(qLcEglfsKmsDebug) << "Opening device" << m_path;
+ m_dri_fd = qt_safe_open(m_path.toLocal8Bit().constData(), O_RDWR | O_CLOEXEC);
+ if (m_dri_fd == -1) {
+ qErrnoWarning("Could not open DRM device %s", qPrintable(m_path));
+ return false;
+ }
+
+ qCDebug(qLcEglfsKmsDebug) << "Creating GBM device for file descriptor" << m_dri_fd
+ << "obtained from" << m_path;
+ m_gbm_device = gbm_create_device(m_dri_fd);
+ if (!m_gbm_device) {
+ qErrnoWarning("Could not create GBM device");
+ qt_safe_close(m_dri_fd);
+ m_dri_fd = -1;
+ return false;
+ }
return true;
}
+
+void QEglFSKmsDevice::close()
+{
+ if (m_gbm_device) {
+ gbm_device_destroy(m_gbm_device);
+ m_gbm_device = Q_NULLPTR;
+ }
+
+ if (m_dri_fd != -1) {
+ qt_safe_close(m_dri_fd);
+ m_dri_fd = -1;
+ }
+}
+
+void QEglFSKmsDevice::createScreens()
+{
+ drmModeResPtr resources = drmModeGetResources(m_dri_fd);
+ if (!resources) {
+ qWarning("drmModeGetResources failed");
+ return;
+ }
+
+ QPoint pos(0, 0);
+ QEglFSIntegration *integration = static_cast<QEglFSIntegration *>(QGuiApplicationPrivate::platformIntegration());
+
+ for (int i = 0; i < resources->count_connectors; i++) {
+ drmModeConnectorPtr connector = drmModeGetConnector(m_dri_fd, resources->connectors[i]);
+ if (!connector)
+ continue;
+
+ QEglFSKmsScreen *screen = screenForConnector(resources, connector, pos);
+ if (screen) {
+ integration->addScreen(screen);
+ pos.rx() += screen->geometry().width();
+ }
+
+ drmModeFreeConnector(connector);
+ }
+
+ drmModeFreeResources(resources);
+}
+
+gbm_device *QEglFSKmsDevice::device() const
+{
+ return m_gbm_device;
+}
+
+int QEglFSKmsDevice::fd() const
+{
+ return m_dri_fd;
+}
+
+void QEglFSKmsDevice::handleDrmEvent()
+{
+ drmEventContext drmEvent = {
+ DRM_EVENT_CONTEXT_VERSION,
+ Q_NULLPTR, // vblank handler
+ pageFlipHandler // page flip handler
+ };
+
+ drmHandleEvent(m_dri_fd, &drmEvent);
+}
+
+#include "qeglfshooks_kms.moc"
diff --git a/src/plugins/platforms/eglfs/qeglfshooks_stub.cpp b/src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
index 26d77a2abb..1b042a0743 100644
--- a/src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
+++ b/src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
@@ -32,9 +32,13 @@
****************************************************************************/
#include "qeglfshooks.h"
+#include "qeglfsintegration.h"
+#include "qeglfsscreen.h"
+
#include <QtPlatformSupport/private/qeglplatformcursor_p.h>
#include <QtPlatformSupport/private/qeglconvenience_p.h>
#include <QtCore/QRegularExpression>
+#include <QtGui/private/qguiapplication_p.h>
#if defined(Q_OS_LINUX)
#include <fcntl.h>
@@ -96,6 +100,18 @@ EGLNativeDisplayType QEglFSHooks::platformDisplay() const
return EGL_DEFAULT_DISPLAY;
}
+void QEglFSHooks::screenInit()
+{
+ QEglFSIntegration *integration = static_cast<QEglFSIntegration *>(QGuiApplicationPrivate::platformIntegration());
+ integration->addScreen(new QEglFSScreen(integration->display()));
+}
+
+void QEglFSHooks::screenDestroy()
+{
+ while (!qApp->screens().isEmpty())
+ delete qApp->screens().last()->handle();
+}
+
QSizeF QEglFSHooks::physicalScreenSize() const
{
return q_physicalScreenSizeFromFb(framebuffer, screenSize());
@@ -139,7 +155,7 @@ QSurfaceFormat QEglFSHooks::surfaceFormatFor(const QSurfaceFormat &inputFormat)
{
QSurfaceFormat format = inputFormat;
- static const bool force888 = qgetenv("QT_QPA_EGLFS_FORCE888").toInt();
+ static const bool force888 = qEnvironmentVariableIntValue("QT_QPA_EGLFS_FORCE888");
if (force888) {
format.setRedBufferSize(8);
format.setGreenBufferSize(8);
@@ -164,6 +180,12 @@ EGLNativeWindowType QEglFSHooks::createNativeWindow(QPlatformWindow *platformWin
return 0;
}
+EGLNativeWindowType QEglFSHooks::createNativeOffscreenWindow(const QSurfaceFormat &format)
+{
+ Q_UNUSED(format);
+ return 0;
+}
+
void QEglFSHooks::destroyNativeWindow(EGLNativeWindowType window)
{
Q_UNUSED(window);
@@ -175,15 +197,17 @@ bool QEglFSHooks::hasCapability(QPlatformIntegration::Capability cap) const
return false;
}
-QEGLPlatformCursor *QEglFSHooks::createCursor(QPlatformScreen *screen) const
+QPlatformCursor *QEglFSHooks::createCursor(QPlatformScreen *screen) const
{
return new QEGLPlatformCursor(screen);
}
-void QEglFSHooks::waitForVSync() const
+void QEglFSHooks::waitForVSync(QPlatformSurface *surface) const
{
+ Q_UNUSED(surface);
+
#if defined(FBIO_WAITFORVSYNC)
- static const bool forceSync = qgetenv("QT_QPA_EGLFS_FORCEVSYNC").toInt();
+ static const bool forceSync = qEnvironmentVariableIntValue("QT_QPA_EGLFS_FORCEVSYNC");
if (forceSync && framebuffer != -1) {
int arg = 0;
if (ioctl(framebuffer, FBIO_WAITFORVSYNC, &arg) == -1)
@@ -192,6 +216,16 @@ void QEglFSHooks::waitForVSync() const
#endif
}
+void QEglFSHooks::presentBuffer(QPlatformSurface *surface)
+{
+ Q_UNUSED(surface);
+}
+
+bool QEglFSHooks::supportsPBuffers() const
+{
+ return true;
+}
+
#ifndef EGLFS_PLATFORM_HOOKS
QEglFSHooks stubHooks;
#endif
diff --git a/src/plugins/platforms/eglfs/qeglfshooks_x11.cpp b/src/plugins/platforms/eglfs/qeglfshooks_x11.cpp
index b16857297c..c026546ced 100644
--- a/src/plugins/platforms/eglfs/qeglfshooks_x11.cpp
+++ b/src/plugins/platforms/eglfs/qeglfshooks_x11.cpp
@@ -265,7 +265,7 @@ QSize QEglFSX11Hooks::screenSize() const
m_screenSize = QSize(env.at(0).toInt(), env.at(1).toInt());
} else {
m_screenSize = QSize(640, 480);
- qDebug("EGLFS_X11_SIZE not set, falling back to 640x480");
+ qWarning("EGLFS_X11_SIZE not set, falling back to 640x480");
}
}
return m_screenSize;
@@ -313,7 +313,7 @@ EGLNativeWindowType QEglFSX11Hooks::createNativeWindow(QPlatformWindow *platform
xcb_change_property(m_connection, XCB_PROP_MODE_REPLACE, m_window,
m_atoms[Atoms::WM_PROTOCOLS], XCB_ATOM_ATOM, 32, 1, &m_atoms[Atoms::WM_DELETE_WINDOW]);
- if (qgetenv("EGLFS_X11_FULLSCREEN").toInt()) {
+ if (qEnvironmentVariableIntValue("EGLFS_X11_FULLSCREEN")) {
// Go fullscreen. The QScreen and QWindow size is controlled by EGLFS_X11_SIZE regardless,
// this is just the native window.
xcb_change_property(m_connection, XCB_PROP_MODE_REPLACE, m_window,
diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.cpp b/src/plugins/platforms/eglfs/qeglfsintegration.cpp
index 2a4eae3fe2..ffae64d31c 100644
--- a/src/plugins/platforms/eglfs/qeglfsintegration.cpp
+++ b/src/plugins/platforms/eglfs/qeglfsintegration.cpp
@@ -36,6 +36,7 @@
#include "qeglfswindow.h"
#include "qeglfshooks.h"
#include "qeglfscontext.h"
+#include "qeglfsoffscreenwindow.h"
#include <QtGui/private/qguiapplication_p.h>
@@ -62,16 +63,11 @@ QT_BEGIN_NAMESPACE
QEglFSIntegration::QEglFSIntegration()
{
- mDisableInputHandlers = qgetenv("QT_QPA_EGLFS_DISABLE_INPUT").toInt();
+ mDisableInputHandlers = qEnvironmentVariableIntValue("QT_QPA_EGLFS_DISABLE_INPUT");
initResources();
}
-QEglFSIntegration::~QEglFSIntegration()
-{
- QEglFSHooks::hooks()->platformDestroy();
-}
-
bool QEglFSIntegration::hasCapability(QPlatformIntegration::Capability cap) const
{
// We assume that devices will have more and not less capabilities
@@ -81,6 +77,11 @@ bool QEglFSIntegration::hasCapability(QPlatformIntegration::Capability cap) cons
return QEGLPlatformIntegration::hasCapability(cap);
}
+void QEglFSIntegration::addScreen(QPlatformScreen *screen)
+{
+ screenAdded(screen);
+}
+
void QEglFSIntegration::initialize()
{
QEglFSHooks::hooks()->platformInit();
@@ -89,16 +90,20 @@ void QEglFSIntegration::initialize()
if (!mDisableInputHandlers)
createInputHandlers();
+
+ QEglFSHooks::hooks()->screenInit();
}
-EGLNativeDisplayType QEglFSIntegration::nativeDisplay() const
+void QEglFSIntegration::destroy()
{
- return QEglFSHooks::hooks()->platformDisplay();
+ QEglFSHooks::hooks()->screenDestroy();
+ QEGLPlatformIntegration::destroy();
+ QEglFSHooks::hooks()->platformDestroy();
}
-QEGLPlatformScreen *QEglFSIntegration::createScreen() const
+EGLNativeDisplayType QEglFSIntegration::nativeDisplay() const
{
- return new QEglFSScreen(display());
+ return QEglFSHooks::hooks()->platformDisplay();
}
QEGLPlatformWindow *QEglFSIntegration::createWindow(QWindow *window) const
@@ -115,9 +120,9 @@ QEGLPlatformContext *QEglFSIntegration::createContext(const QSurfaceFormat &form
QSurfaceFormat adjustedFormat = QEglFSHooks::hooks()->surfaceFormatFor(format);
if (!nativeHandle || nativeHandle->isNull()) {
EGLConfig config = QEglFSIntegration::chooseConfig(display, adjustedFormat);
- ctx = new QEglFSContext(adjustedFormat, shareContext, display, &config, QVariant());
+ ctx = new QEglFSContext(adjustedFormat, shareContext, display, &config, QVariant());
} else {
- ctx = new QEglFSContext(adjustedFormat, shareContext, display, 0, *nativeHandle);
+ ctx = new QEglFSContext(adjustedFormat, shareContext, display, 0, *nativeHandle);
}
*nativeHandle = QVariant::fromValue<QEGLNativeContext>(QEGLNativeContext(ctx->eglContext(), display));
return ctx;
@@ -127,18 +132,13 @@ QPlatformOffscreenSurface *QEglFSIntegration::createOffscreenSurface(EGLDisplay
const QSurfaceFormat &format,
QOffscreenSurface *surface) const
{
- return new QEGLPbuffer(display, QEglFSHooks::hooks()->surfaceFormatFor(format), surface);
-}
+ QSurfaceFormat fmt = QEglFSHooks::hooks()->surfaceFormatFor(format);
+ if (QEglFSHooks::hooks()->supportsPBuffers())
+ return new QEGLPbuffer(display, fmt, surface);
+ else
+ return new QEglFSOffscreenWindow(display, fmt, surface);
-QVariant QEglFSIntegration::styleHint(QPlatformIntegration::StyleHint hint) const
-{
- switch (hint)
- {
- case QPlatformIntegration::ShowIsFullScreen:
- return screen()->compositingWindow() == 0;
- default:
- return QPlatformIntegration::styleHint(hint);
- }
+ // Never return null. Multiple QWindows are not supported by this plugin.
}
EGLConfig QEglFSIntegration::chooseConfig(EGLDisplay display, const QSurfaceFormat &format)
diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.h b/src/plugins/platforms/eglfs/qeglfsintegration.h
index d612a270f2..86038910ca 100644
--- a/src/plugins/platforms/eglfs/qeglfsintegration.h
+++ b/src/plugins/platforms/eglfs/qeglfsintegration.h
@@ -44,17 +44,17 @@ class QEglFSIntegration : public QEGLPlatformIntegration
{
public:
QEglFSIntegration();
- ~QEglFSIntegration();
+
+ void addScreen(QPlatformScreen *screen);
void initialize() Q_DECL_OVERRIDE;
+ void destroy() Q_DECL_OVERRIDE;
bool hasCapability(QPlatformIntegration::Capability cap) const Q_DECL_OVERRIDE;
- QVariant styleHint(QPlatformIntegration::StyleHint hint) const Q_DECL_OVERRIDE;
static EGLConfig chooseConfig(EGLDisplay display, const QSurfaceFormat &format);
protected:
- QEGLPlatformScreen *createScreen() const Q_DECL_OVERRIDE;
QEGLPlatformWindow *createWindow(QWindow *window) const Q_DECL_OVERRIDE;
QEGLPlatformContext *createContext(const QSurfaceFormat &format,
QPlatformOpenGLContext *shareContext,
diff --git a/src/plugins/platforms/eglfs/qeglfsoffscreenwindow.cpp b/src/plugins/platforms/eglfs/qeglfsoffscreenwindow.cpp
new file mode 100644
index 0000000000..0e8e3957d0
--- /dev/null
+++ b/src/plugins/platforms/eglfs/qeglfsoffscreenwindow.cpp
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qeglfsoffscreenwindow.h"
+#include "qeglfshooks.h"
+#include <QtGui/QOffscreenSurface>
+#include <QtPlatformSupport/private/qeglconvenience_p.h>
+
+QT_BEGIN_NAMESPACE
+
+/*
+ In some cases pbuffers are not available. Triggering QtGui's built-in
+ fallback for a hidden QWindow is not suitable for eglfs since this would be
+ treated as an attempt to create multiple top-level, native windows.
+
+ Therefore this class is provided as an alternative to QEGLPbuffer.
+
+ This class requires the hooks to implement createNativeOffscreenWindow().
+*/
+
+QEglFSOffscreenWindow::QEglFSOffscreenWindow(EGLDisplay display, const QSurfaceFormat &format, QOffscreenSurface *offscreenSurface)
+ : QPlatformOffscreenSurface(offscreenSurface)
+ , m_format(format)
+ , m_display(display)
+ , m_surface(EGL_NO_SURFACE)
+ , m_window(0)
+{
+ m_window = QEglFSHooks::hooks()->createNativeOffscreenWindow(format);
+ if (!m_window) {
+ qWarning("QEglFSOffscreenWindow: Failed to create native window");
+ return;
+ }
+ EGLConfig config = q_configFromGLFormat(m_display, m_format);
+ m_surface = eglCreateWindowSurface(m_display, config, m_window, 0);
+ if (m_surface != EGL_NO_SURFACE)
+ m_format = q_glFormatFromConfig(m_display, config);
+}
+
+QEglFSOffscreenWindow::~QEglFSOffscreenWindow()
+{
+ if (m_surface != EGL_NO_SURFACE)
+ eglDestroySurface(m_display, m_surface);
+ if (m_window)
+ QEglFSHooks::hooks()->destroyNativeWindow(m_window);
+}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/qeglfsoffscreenwindow.h b/src/plugins/platforms/eglfs/qeglfsoffscreenwindow.h
new file mode 100644
index 0000000000..8bd4089c34
--- /dev/null
+++ b/src/plugins/platforms/eglfs/qeglfsoffscreenwindow.h
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QEGLFSOFFSCREENWINDOW_H
+#define QEGLFSOFFSCREENWINDOW_H
+
+#include <EGL/egl.h>
+#include <qpa/qplatformoffscreensurface.h>
+
+QT_BEGIN_NAMESPACE
+
+class QEglFSOffscreenWindow : public QPlatformOffscreenSurface
+{
+public:
+ QEglFSOffscreenWindow(EGLDisplay display, const QSurfaceFormat &format, QOffscreenSurface *offscreenSurface);
+ ~QEglFSOffscreenWindow();
+
+ QSurfaceFormat format() const Q_DECL_OVERRIDE { return m_format; }
+ bool isValid() const Q_DECL_OVERRIDE { return m_surface != EGL_NO_SURFACE; }
+
+private:
+ QSurfaceFormat m_format;
+ EGLDisplay m_display;
+ EGLSurface m_surface;
+ EGLNativeWindowType m_window;
+};
+
+QT_END_NAMESPACE
+
+#endif // QEGLFSOFFSCREENWINDOW_H
diff --git a/src/plugins/platforms/eglfs/qeglfsscreen.cpp b/src/plugins/platforms/eglfs/qeglfsscreen.cpp
index cd68540581..a66cff165b 100644
--- a/src/plugins/platforms/eglfs/qeglfsscreen.cpp
+++ b/src/plugins/platforms/eglfs/qeglfsscreen.cpp
@@ -34,16 +34,14 @@
#include "qeglfsscreen.h"
#include "qeglfswindow.h"
#include "qeglfshooks.h"
-#include <QtPlatformSupport/private/qeglplatformcursor_p.h>
+#include <QtGui/qpa/qplatformcursor.h>
QT_BEGIN_NAMESPACE
QEglFSScreen::QEglFSScreen(EGLDisplay dpy)
: QEGLPlatformScreen(dpy),
m_surface(EGL_NO_SURFACE),
- m_cursor(0),
- m_rootWindow(0),
- m_rootContext(0)
+ m_cursor(0)
{
m_cursor = QEglFSHooks::hooks()->createCursor(this);
}
diff --git a/src/plugins/platforms/eglfs/qeglfsscreen.h b/src/plugins/platforms/eglfs/qeglfsscreen.h
index 132646d7a6..d109ad9d9b 100644
--- a/src/plugins/platforms/eglfs/qeglfsscreen.h
+++ b/src/plugins/platforms/eglfs/qeglfsscreen.h
@@ -42,7 +42,6 @@
QT_BEGIN_NAMESPACE
-class QEGLPlatformCursor;
class QEglFSWindow;
class QOpenGLContext;
@@ -65,12 +64,6 @@ public:
EGLSurface primarySurface() const { return m_surface; }
- QEGLPlatformWindow *compositingWindow() Q_DECL_OVERRIDE { return m_rootWindow; }
- QOpenGLContext *compositingContext() Q_DECL_OVERRIDE { return m_rootContext; }
-
- void setRootWindow(QEGLPlatformWindow *window) { m_rootWindow = window; }
- void setRootContext(QOpenGLContext *context) { m_rootContext = context; }
-
protected:
void setPrimarySurface(EGLSurface surface);
@@ -78,9 +71,7 @@ private:
friend class QEglFSWindow;
EGLSurface m_surface;
- QEGLPlatformCursor *m_cursor;
- QEGLPlatformWindow *m_rootWindow;
- QOpenGLContext *m_rootContext;
+ QPlatformCursor *m_cursor;
};
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/qeglfswindow.cpp b/src/plugins/platforms/eglfs/qeglfswindow.cpp
index f5839e086d..0ab19e6065 100644
--- a/src/plugins/platforms/eglfs/qeglfswindow.cpp
+++ b/src/plugins/platforms/eglfs/qeglfswindow.cpp
@@ -39,7 +39,6 @@
#include <QtGui/QOpenGLContext>
#include <QtPlatformSupport/private/qeglplatformcursor_p.h>
#include <QtPlatformSupport/private/qeglconvenience_p.h>
-
#include <QtDebug>
QT_BEGIN_NAMESPACE
@@ -73,9 +72,10 @@ void QEglFSWindow::create()
// raster windows will not have their own native window, surface and context. Instead,
// they will be composited onto the root window's surface.
QEglFSScreen *screen = this->screen();
+ QOpenGLCompositor *compositor = QOpenGLCompositor::instance();
if (screen->primarySurface() != EGL_NO_SURFACE) {
- if (isRaster() && screen->compositingWindow()) {
- m_format = screen->compositingWindow()->format();
+ if (isRaster() && compositor->targetWindow()) {
+ m_format = compositor->targetWindow()->format();
return;
}
@@ -107,8 +107,7 @@ void QEglFSWindow::create()
context->setScreen(window()->screen());
if (!context->create())
qFatal("EGLFS: Failed to create compositing context");
- screen->setRootContext(context);
- screen->setRootWindow(this);
+ compositor->setTarget(context, window());
}
}
@@ -116,7 +115,7 @@ void QEglFSWindow::destroy()
{
QEglFSScreen *screen = this->screen();
if (m_flags.testFlag(HasNativeWindow)) {
- QEGLPlatformCursor *cursor = static_cast<QEGLPlatformCursor *>(screen->cursor());
+ QEGLPlatformCursor *cursor = qobject_cast<QEGLPlatformCursor *>(screen->cursor());
if (cursor)
cursor->resetResources();
@@ -127,7 +126,7 @@ void QEglFSWindow::destroy()
}
m_flags = 0;
- screen->removeWindow(this);
+ QOpenGLCompositor::instance()->removeWindow(this);
}
// The virtual functions resetSurface and invalidateSurface may get overridden
@@ -147,8 +146,9 @@ void QEglFSWindow::invalidateSurface()
void QEglFSWindow::resetSurface()
{
- EGLDisplay display = static_cast<QEglFSScreen *>(screen())->display();
- m_window = QEglFSHooks::hooks()->createNativeWindow(this, QEglFSHooks::hooks()->screenSize(), m_format);
+ QEglFSScreen *nativeScreen = static_cast<QEglFSScreen *>(screen());
+ EGLDisplay display = nativeScreen->display();
+ m_window = QEglFSHooks::hooks()->createNativeWindow(this, nativeScreen->geometry().size(), m_format);
m_surface = eglCreateWindowSurface(display, m_config, m_window, NULL);
if (m_surface == EGL_NO_SURFACE) {
EGLint error = eglGetError();
@@ -159,17 +159,18 @@ void QEglFSWindow::resetSurface()
void QEglFSWindow::setVisible(bool visible)
{
- QList<QEGLPlatformWindow *> windows = screen()->windows();
+ QOpenGLCompositor *compositor = QOpenGLCompositor::instance();
+ QList<QOpenGLCompositorWindow *> windows = compositor->windows();
QWindow *wnd = window();
if (wnd->type() != Qt::Desktop) {
if (visible) {
- screen()->addWindow(this);
+ compositor->addWindow(this);
} else {
- screen()->removeWindow(this);
- windows = screen()->windows();
+ compositor->removeWindow(this);
+ windows = compositor->windows();
if (windows.size())
- windows.last()->requestActivateWindow();
+ windows.last()->sourceWindow()->requestActivate();
}
}
@@ -209,7 +210,7 @@ QRect QEglFSWindow::geometry() const
void QEglFSWindow::requestActivateWindow()
{
if (window()->type() != Qt::Desktop)
- screen()->moveToTop(this);
+ QOpenGLCompositor::instance()->moveToTop(this);
QWindow *wnd = window();
QWindowSystemInterface::handleWindowActivated(wnd);
@@ -220,20 +221,21 @@ void QEglFSWindow::raise()
{
QWindow *wnd = window();
if (wnd->type() != Qt::Desktop) {
- screen()->moveToTop(this);
+ QOpenGLCompositor::instance()->moveToTop(this);
QWindowSystemInterface::handleExposeEvent(wnd, QRect(QPoint(0, 0), wnd->geometry().size()));
}
}
void QEglFSWindow::lower()
{
- QList<QEGLPlatformWindow *> windows = screen()->windows();
+ QOpenGLCompositor *compositor = QOpenGLCompositor::instance();
+ QList<QOpenGLCompositorWindow *> windows = compositor->windows();
if (window()->type() != Qt::Desktop && windows.count() > 1) {
int idx = windows.indexOf(this);
if (idx > 0) {
- screen()->changeWindowIndex(this, idx - 1);
- QWindowSystemInterface::handleExposeEvent(windows.last()->window(),
- QRect(QPoint(0, 0), windows.last()->geometry().size()));
+ compositor->changeWindowIndex(this, idx - 1);
+ QWindowSystemInterface::handleExposeEvent(windows.last()->sourceWindow(),
+ QRect(QPoint(0, 0), windows.last()->sourceWindow()->geometry().size()));
}
}
}
diff --git a/src/plugins/platforms/ios/quiaccessibilityelement.mm b/src/plugins/platforms/ios/quiaccessibilityelement.mm
index 63b6827ad3..3dff271d00 100644
--- a/src/plugins/platforms/ios/quiaccessibilityelement.mm
+++ b/src/plugins/platforms/ios/quiaccessibilityelement.mm
@@ -193,4 +193,33 @@
action->doAction(QAccessibleActionInterface::decreaseAction());
}
+- (BOOL) accessibilityScroll : (UIAccessibilityScrollDirection) direction
+{
+ QAccessibleInterface *iface = QAccessible::accessibleInterface(self.axid);
+ QAccessibleActionInterface *action = iface->actionInterface();
+ if (!action)
+ return NO;
+ switch (direction) {
+ case UIAccessibilityScrollDirectionRight:
+ action->doAction(QAccessibleActionInterface::scrollRightAction());
+ return YES;
+ case UIAccessibilityScrollDirectionLeft:
+ action->doAction(QAccessibleActionInterface::scrollLeftAction());
+ return YES;
+ case UIAccessibilityScrollDirectionUp:
+ action->doAction(QAccessibleActionInterface::scrollUpAction());
+ return YES;
+ case UIAccessibilityScrollDirectionDown:
+ action->doAction(QAccessibleActionInterface::scrollDownAction());
+ return YES;
+ case UIAccessibilityScrollDirectionNext:
+ action->doAction(QAccessibleActionInterface::nextPageAction());
+ return YES;
+ case UIAccessibilityScrollDirectionPrevious:
+ action->doAction(QAccessibleActionInterface::previousPageAction());
+ return YES;
+ }
+ return NO;
+}
+
@end
diff --git a/src/plugins/platforms/kms/qkmsscreen.cpp b/src/plugins/platforms/kms/qkmsscreen.cpp
index ddcdd10928..84c1eba448 100644
--- a/src/plugins/platforms/kms/qkmsscreen.cpp
+++ b/src/plugins/platforms/kms/qkmsscreen.cpp
@@ -216,7 +216,7 @@ void QKmsScreen::performPageFlip()
// Initialize cursor
- static int hideCursor = qgetenv("QT_QPA_KMS_HIDECURSOR").toInt();
+ static int hideCursor = qEnvironmentVariableIntValue("QT_QPA_KMS_HIDECURSOR");
if (!hideCursor) {
QCursor cursor(Qt::ArrowCursor);
m_cursor->changeCursor(&cursor, 0);
diff --git a/src/plugins/platforms/minimal/qminimalintegration.cpp b/src/plugins/platforms/minimal/qminimalintegration.cpp
index 252f842df4..6bd9d8c96d 100644
--- a/src/plugins/platforms/minimal/qminimalintegration.cpp
+++ b/src/plugins/platforms/minimal/qminimalintegration.cpp
@@ -66,7 +66,7 @@ QMinimalIntegration::QMinimalIntegration(const QStringList &parameters)
, m_options(parseOptions(parameters))
{
if (qEnvironmentVariableIsSet(debugBackingStoreEnvironmentVariable)
- && qgetenv(debugBackingStoreEnvironmentVariable).toInt() > 0) {
+ && qEnvironmentVariableIntValue(debugBackingStoreEnvironmentVariable) > 0) {
m_options |= DebugBackingStore | EnableFonts;
}
diff --git a/src/plugins/platforms/qnx/qqnxglcontext.cpp b/src/plugins/platforms/qnx/qqnxglcontext.cpp
index 09736304e1..7133d01e87 100644
--- a/src/plugins/platforms/qnx/qqnxglcontext.cpp
+++ b/src/plugins/platforms/qnx/qqnxglcontext.cpp
@@ -164,7 +164,7 @@ EGLenum QQnxGLContext::checkEGLError(const char *msg)
return error;
}
-void QQnxGLContext::initialize()
+void QQnxGLContext::initializeContext()
{
qGLContextDebug() << Q_FUNC_INFO;
@@ -182,7 +182,7 @@ void QQnxGLContext::initialize()
}
}
-void QQnxGLContext::shutdown()
+void QQnxGLContext::shutdownContext()
{
qGLContextDebug() << Q_FUNC_INFO;
diff --git a/src/plugins/platforms/qnx/qqnxglcontext.h b/src/plugins/platforms/qnx/qqnxglcontext.h
index 090c7ed49d..a91a89901f 100644
--- a/src/plugins/platforms/qnx/qqnxglcontext.h
+++ b/src/plugins/platforms/qnx/qqnxglcontext.h
@@ -53,8 +53,8 @@ public:
static EGLenum checkEGLError(const char *msg);
- static void initialize();
- static void shutdown();
+ static void initializeContext();
+ static void shutdownContext();
void requestSurfaceChange();
diff --git a/src/plugins/platforms/qnx/qqnxintegration.cpp b/src/plugins/platforms/qnx/qqnxintegration.cpp
index 34b79b61da..6a3cd902af 100644
--- a/src/plugins/platforms/qnx/qqnxintegration.cpp
+++ b/src/plugins/platforms/qnx/qqnxintegration.cpp
@@ -182,7 +182,7 @@ QQnxIntegration::QQnxIntegration(const QStringList &paramList)
#if !defined(QT_NO_OPENGL)
// Initialize global OpenGL resources
- QQnxGLContext::initialize();
+ QQnxGLContext::initializeContext();
#endif
// Create/start event thread
@@ -306,7 +306,7 @@ QQnxIntegration::~QQnxIntegration()
#if !defined(QT_NO_OPENGL)
// Cleanup global OpenGL resources
- QQnxGLContext::shutdown();
+ QQnxGLContext::shutdownContext();
#endif
#if defined(QQNX_PPS)
diff --git a/src/plugins/platforms/qnx/qqnxscreen.cpp b/src/plugins/platforms/qnx/qqnxscreen.cpp
index f3f93e7f64..04a6611cc4 100644
--- a/src/plugins/platforms/qnx/qqnxscreen.cpp
+++ b/src/plugins/platforms/qnx/qqnxscreen.cpp
@@ -305,7 +305,7 @@ static int defaultDepth()
if (defaultDepth == 0) {
// check if display depth was specified in environment variable;
// use default value if no valid value found
- defaultDepth = qgetenv("QQNX_DISPLAY_DEPTH").toInt();
+ defaultDepth = qEnvironmentVariableIntValue("QQNX_DISPLAY_DEPTH");
if (defaultDepth != 16 && defaultDepth != 32)
defaultDepth = 32;
}
@@ -679,7 +679,7 @@ void QQnxScreen::adjustOrientation()
return;
bool ok = false;
- const int rotation = qgetenv("ORIENTATION").toInt(&ok);
+ const int rotation = qEnvironmentVariableIntValue("ORIENTATION", &ok);
if (ok)
setRotation(rotation);
@@ -858,7 +858,7 @@ void QQnxScreen::setRootWindow(QQnxWindow *window)
{
// Optionally disable the screen power save
bool ok = false;
- const int disablePowerSave = qgetenv("QQNX_DISABLE_POWER_SAVE").toInt(&ok);
+ const int disablePowerSave = qEnvironmentVariableIntValue("QQNX_DISABLE_POWER_SAVE", &ok);
if (ok && disablePowerSave) {
const int mode = SCREEN_IDLE_MODE_KEEP_AWAKE;
int result = screen_set_window_property_iv(window->nativeHandle(), SCREEN_PROPERTY_IDLE_MODE, &mode);
diff --git a/src/plugins/platforms/windows/accessible/iaccessible2.cpp b/src/plugins/platforms/windows/accessible/iaccessible2.cpp
index 7f60be0d50..3d6a6ced6e 100644
--- a/src/plugins/platforms/windows/accessible/iaccessible2.cpp
+++ b/src/plugins/platforms/windows/accessible/iaccessible2.cpp
@@ -121,7 +121,7 @@ AccessibleRelation::AccessibleRelation(const QList<QAccessibleInterface *> &targ
HRESULT STDMETHODCALLTYPE AccessibleRelation::QueryInterface(REFIID id, LPVOID *iface)
{
*iface = 0;
- if (id == IID_IUnknown)
+ if (id == IID_IUnknown || id == IID_IAccessibleRelation)
*iface = (IUnknown*)this;
if (*iface) {
diff --git a/src/plugins/platforms/windows/accessible/iaccessible2.h b/src/plugins/platforms/windows/accessible/iaccessible2.h
index 351bf2555c..f7f5e022c3 100644
--- a/src/plugins/platforms/windows/accessible/iaccessible2.h
+++ b/src/plugins/platforms/windows/accessible/iaccessible2.h
@@ -39,24 +39,7 @@
#include "qwindowsmsaaaccessible.h"
#include "comutils.h"
-#include "Accessible2.h"
-#include "AccessibleAction.h"
-#include "AccessibleApplication.h"
-#include "AccessibleComponent.h"
-#include "AccessibleEditableText.h"
-#include "AccessibleHyperlink.h"
-#include "AccessibleHypertext.h"
-#include "AccessibleImage.h"
-#include "AccessibleRelation.h"
-#include "AccessibleTable.h"
-#include "AccessibleTable2.h"
-#include "AccessibleTableCell.h"
-#include "AccessibleText.h"
-#include "AccessibleValue.h"
-
-#include "AccessibleEventID.h"
-#include "AccessibleRole.h"
-#include "AccessibleStates.h"
+#include "ia2_api_all.h"
#include <servprov.h>
diff --git a/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h
index a78d821b1d..c522cf281e 100644
--- a/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h
+++ b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h
@@ -42,7 +42,7 @@
#include <QtGui/qaccessible.h>
#ifndef Q_CC_MINGW
# include <oleacc.h>
-# include "Accessible2.h" // IAccessible2 inherits from IAccessible
+# include "ia2_api_all.h" // IAccessible2 inherits from IAccessible
#else
// MinGW
# include <basetyps.h>
diff --git a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp
index 449453cf28..7492423e69 100644
--- a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp
+++ b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp
@@ -1087,7 +1087,7 @@ QFontEngineMulti *QWindowsFontDatabase::fontEngineMulti(QFontEngine *fontEngine,
if (script == QChar::Script_Common)
return new QWindowsMultiFontEngine(fontEngine, script);
// ### as long as fallbacksForFamily() does not take script parameter into account,
- // prefer QFontEngineMultiBasicImpl's loadEngine() implementation for complex scripts
+ // prefer QFontEngineMulti's loadEngine() implementation for complex scripts
return QPlatformFontDatabase::fontEngineMulti(fontEngine, script);
}
diff --git a/src/plugins/platforms/windows/qwindowsfontengine.cpp b/src/plugins/platforms/windows/qwindowsfontengine.cpp
index 38856a69de..6b13d93259 100644
--- a/src/plugins/platforms/windows/qwindowsfontengine.cpp
+++ b/src/plugins/platforms/windows/qwindowsfontengine.cpp
@@ -1182,19 +1182,13 @@ QImage QWindowsFontEngine::alphaMapForGlyph(glyph_t glyph, const QTransform &xfo
return QImage();
}
- QImage indexed(mask->width(), mask->height(), QImage::Format_Indexed8);
+ QImage alphaMap(mask->width(), mask->height(), QImage::Format_Alpha8);
- // ### This part is kinda pointless, but we'll crash later if we don't because some
- // code paths expects there to be colortables for index8-bit...
- QVector<QRgb> colors(256);
- for (int i=0; i<256; ++i)
- colors[i] = qRgba(0, 0, 0, i);
- indexed.setColorTable(colors);
// Copy data... Cannot use QPainter here as GDI has messed up the
// Alpha channel of the ni.image pixels...
for (int y=0; y<mask->height(); ++y) {
- uchar *dest = indexed.scanLine(y);
+ uchar *dest = alphaMap.scanLine(y);
if (mask->image().format() == QImage::Format_RGB16) {
const qint16 *src = (qint16 *) ((const QImage &) mask->image()).scanLine(y);
for (int x=0; x<mask->width(); ++x)
@@ -1216,7 +1210,7 @@ QImage QWindowsFontEngine::alphaMapForGlyph(glyph_t glyph, const QTransform &xfo
DeleteObject(font);
}
- return indexed;
+ return alphaMap;
}
#define SPI_GETFONTSMOOTHINGCONTRAST 0x200C
@@ -1309,17 +1303,13 @@ void QWindowsFontEngine::initFontInfo(const QFontDef &request,
Will probably be superseded by a common Free Type font engine in Qt 5.X.
*/
QWindowsMultiFontEngine::QWindowsMultiFontEngine(QFontEngine *fe, int script)
- : QFontEngineMultiBasicImpl(fe, script)
+ : QFontEngineMulti(fe, script)
{
}
-void QWindowsMultiFontEngine::loadEngine(int at)
+QFontEngine *QWindowsMultiFontEngine::loadEngine(int at)
{
- ensureFallbackFamiliesQueried();
- Q_ASSERT(at < engines.size());
- Q_ASSERT(engines.at(at) == 0);
-
- QFontEngine *fontEngine = engines.at(0);
+ QFontEngine *fontEngine = engine(0);
QSharedPointer<QWindowsFontEngineData> data;
LOGFONT lf;
@@ -1352,23 +1342,18 @@ void QWindowsMultiFontEngine::loadEngine(int at)
if (FAILED(hr)) {
qErrnoWarning("%s: CreateFontFromLOGFONT failed", __FUNCTION__);
} else {
+ Q_ASSERT(directWriteFont);
IDWriteFontFace *directWriteFontFace = NULL;
HRESULT hr = directWriteFont->CreateFontFace(&directWriteFontFace);
if (SUCCEEDED(hr)) {
+ Q_ASSERT(directWriteFontFace);
QWindowsFontEngineDirectWrite *fedw = new QWindowsFontEngineDirectWrite(directWriteFontFace,
fontEngine->fontDef.pixelSize,
data);
- fedw->fontDef = fontDef;
- fedw->fontDef.family = fam;
- fedw->ref.ref();
- engines[at] = fedw;
-
- qCDebug(lcQpaFonts) << __FUNCTION__ << at << fam;
- return;
+ return fedw;
} else {
qErrnoWarning("%s: CreateFontFace failed", __FUNCTION__);
}
-
}
}
#endif
@@ -1382,13 +1367,8 @@ void QWindowsMultiFontEngine::loadEngine(int at)
hfont = (HFONT)GetStockObject(ANSI_VAR_FONT);
stockFont = true;
}
- engines[at] = new QWindowsFontEngine(fam, hfont, stockFont, lf, data);
- engines[at]->ref.ref();
- engines[at]->fontDef = fontDef;
- engines[at]->fontDef.family = fam;
- qCDebug(lcQpaFonts) << __FUNCTION__ << at << fam;
- // TODO: increase cost in QFontCache for the font engine loaded here
+ return new QWindowsFontEngine(fam, hfont, stockFont, lf, data);
}
bool QWindowsFontEngine::supportsTransformation(const QTransform &transform) const
diff --git a/src/plugins/platforms/windows/qwindowsfontengine.h b/src/plugins/platforms/windows/qwindowsfontengine.h
index 02bc4008d1..fdcb74d67d 100644
--- a/src/plugins/platforms/windows/qwindowsfontengine.h
+++ b/src/plugins/platforms/windows/qwindowsfontengine.h
@@ -163,13 +163,12 @@ private:
mutable int designAdvancesSize;
};
-
-class QWindowsMultiFontEngine : public QFontEngineMultiBasicImpl
+class QWindowsMultiFontEngine : public QFontEngineMulti
{
public:
explicit QWindowsMultiFontEngine(QFontEngine *fe, int script);
- void loadEngine(int at);
+ QFontEngine *loadEngine(int at) Q_DECL_OVERRIDE;
};
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp
index 648f68bb19..f8747a741e 100644
--- a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp
+++ b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp
@@ -485,15 +485,11 @@ QImage QWindowsFontEngineDirectWrite::alphaMapForGlyph(glyph_t glyph, QFixed sub
{
QImage im = imageForGlyph(glyph, subPixelPosition, 0, QTransform());
- QImage indexed(im.width(), im.height(), QImage::Format_Indexed8);
- QVector<QRgb> colors(256);
- for (int i=0; i<256; ++i)
- colors[i] = qRgba(0, 0, 0, i);
- indexed.setColorTable(colors);
+ QImage alphaMap(im.width(), im.height(), QImage::Format_Alpha8);
for (int y=0; y<im.height(); ++y) {
uint *src = (uint*) im.scanLine(y);
- uchar *dst = indexed.scanLine(y);
+ uchar *dst = alphaMap.scanLine(y);
for (int x=0; x<im.width(); ++x) {
*dst = 255 - (m_fontEngineData->pow_gamma[qGray(0xffffffff - *src)] * 255. / 2047.);
++dst;
@@ -501,7 +497,7 @@ QImage QWindowsFontEngineDirectWrite::alphaMapForGlyph(glyph_t glyph, QFixed sub
}
}
- return indexed;
+ return alphaMap;
}
bool QWindowsFontEngineDirectWrite::supportsSubPixelPositions() const
diff --git a/src/plugins/platforms/windows/qwindowsmime.cpp b/src/plugins/platforms/windows/qwindowsmime.cpp
index bc8e9347dc..42f4e66d6c 100644
--- a/src/plugins/platforms/windows/qwindowsmime.cpp
+++ b/src/plugins/platforms/windows/qwindowsmime.cpp
@@ -343,10 +343,11 @@ static bool setData(const QByteArray &data, STGMEDIUM *pmedium)
return true;
}
-static QByteArray getData(int cf, IDataObject *pDataObj)
+static QByteArray getData(int cf, IDataObject *pDataObj, int lindex = -1)
{
QByteArray data;
FORMATETC formatetc = setCf(cf);
+ formatetc.lindex = lindex;
STGMEDIUM s;
if (pDataObj->GetData(&formatetc, &s) == S_OK) {
DWORD * val = (DWORD*)GlobalLock(s.hGlobal);
@@ -791,7 +792,6 @@ QVariant QWindowsMimeURI::convertToMime(const QString &mimeType, LPDATAOBJECT pD
{
if (mimeType == QLatin1String("text/uri-list")) {
if (canGetData(CF_HDROP, pDataObj)) {
- QByteArray texturi;
QList<QVariant> urls;
QByteArray data = getData(CF_HDROP, pDataObj);
@@ -1340,21 +1340,34 @@ static bool isCustomMimeType(const QString &mimeType)
return mimeType.startsWith(QLatin1String(x_qt_windows_mime), Qt::CaseInsensitive);
}
-static QString customMimeType(const QString &mimeType)
+static QString customMimeType(const QString &mimeType, int *lindex = 0)
{
int len = sizeof(x_qt_windows_mime) - 1;
- int n = mimeType.lastIndexOf(QLatin1Char('\"'))-len;
- return mimeType.mid(len, n);
+ int n = mimeType.lastIndexOf(QLatin1Char('\"')) - len;
+ QString ret = mimeType.mid(len, n);
+
+ const int beginPos = mimeType.indexOf(QLatin1String(";index="));
+ if (beginPos > -1) {
+ const int endPos = mimeType.indexOf(QLatin1Char(';'), beginPos + 1);
+ const int indexStartPos = beginPos + 7;
+ if (lindex)
+ *lindex = mimeType.midRef(indexStartPos, endPos == -1 ? endPos : endPos - indexStartPos).toInt();
+ } else {
+ if (lindex)
+ *lindex = -1;
+ }
+ return ret;
}
bool QLastResortMimes::canConvertToMime(const QString &mimeType, IDataObject *pDataObj) const
{
if (isCustomMimeType(mimeType)) {
+ // MSDN documentation for QueryGetData says only -1 is supported, so ignore lindex here.
QString clipFormat = customMimeType(mimeType);
int cf = RegisterClipboardFormat(reinterpret_cast<const wchar_t *> (clipFormat.utf16()));
return canGetData(cf, pDataObj);
} else if (formats.keys(mimeType).isEmpty()) {
- // if it is not in there then register it an see if we can get it
+ // if it is not in there then register it and see if we can get it
int cf = QWindowsMime::registerMimeType(mimeType);
return canGetData(cf, pDataObj);
} else {
@@ -1370,9 +1383,10 @@ QVariant QLastResortMimes::convertToMime(const QString &mimeType, IDataObject *p
if (canConvertToMime(mimeType, pDataObj)) {
QByteArray data;
if (isCustomMimeType(mimeType)) {
- QString clipFormat = customMimeType(mimeType);
+ int lindex;
+ QString clipFormat = customMimeType(mimeType, &lindex);
int cf = RegisterClipboardFormat(reinterpret_cast<const wchar_t *> (clipFormat.utf16()));
- data = getData(cf, pDataObj);
+ data = getData(cf, pDataObj, lindex);
} else if (formats.keys(mimeType).isEmpty()) {
int cf = QWindowsMime::registerMimeType(mimeType);
data = getData(cf, pDataObj);
@@ -1452,6 +1466,7 @@ QWindowsMime * QWindowsMimeConverter::converterToMime(const QString &mimeType, I
QStringList QWindowsMimeConverter::allMimesForFormats(IDataObject *pDataObj) const
{
+ qCDebug(lcQpaMime) << "QWindowsMime::allMimesForFormats()";
ensureInitialized();
QStringList formats;
LPENUMFORMATETC FAR fmtenum;
@@ -1461,10 +1476,9 @@ QStringList QWindowsMimeConverter::allMimesForFormats(IDataObject *pDataObj) con
FORMATETC fmtetc;
while (S_OK == fmtenum->Next(1, &fmtetc, 0)) {
#if defined(QMIME_DEBUG)
- qDebug("QWindowsMime::allMimesForFormats()");
wchar_t buf[256] = {0};
GetClipboardFormatName(fmtetc.cfFormat, buf, 255);
- qDebug("CF = %d : %s", fmtetc.cfFormat, QString::fromWCharArray(buf));
+ qDebug("CF = %d : %s", fmtetc.cfFormat, qPrintable(QString::fromWCharArray(buf)));
#endif
for (int i= m_mimes.size() - 1; i >= 0; --i) {
QString format = m_mimes.at(i)->mimeForFormat(fmtetc);
@@ -1478,7 +1492,7 @@ QStringList QWindowsMimeConverter::allMimesForFormats(IDataObject *pDataObj) con
}
fmtenum->Release();
}
- qCDebug(lcQpaMime) << __FUNCTION__ << pDataObj << formats;
+ qCDebug(lcQpaMime) << pDataObj << formats;
return formats;
}
diff --git a/src/plugins/platforms/winrt/qwinrttheme.cpp b/src/plugins/platforms/winrt/qwinrttheme.cpp
index f64b47960a..339a658c3e 100644
--- a/src/plugins/platforms/winrt/qwinrttheme.cpp
+++ b/src/plugins/platforms/winrt/qwinrttheme.cpp
@@ -170,7 +170,7 @@ QWinRTTheme::QWinRTTheme()
bool QWinRTTheme::usePlatformNativeDialog(DialogType type) const
{
static bool useNativeDialogs = qEnvironmentVariableIsSet("QT_USE_WINRT_NATIVE_DIALOGS")
- ? qgetenv("QT_USE_WINRT_NATIVE_DIALOGS").toInt() : true;
+ ? qEnvironmentVariableIntValue("QT_USE_WINRT_NATIVE_DIALOGS") : true;
if (type == FileDialog || type == MessageDialog)
return useNativeDialogs;
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
index 8bdedba8ac..def6e2ce9a 100644
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
@@ -320,7 +320,7 @@ QDpi QXcbScreen::logicalDpi() const
qreal QXcbScreen::devicePixelRatio() const
{
- static int override_dpr = qgetenv("QT_DEVICE_PIXEL_RATIO").toInt();
+ static int override_dpr = qEnvironmentVariableIntValue("QT_DEVICE_PIXEL_RATIO");
static bool auto_dpr = qgetenv("QT_DEVICE_PIXEL_RATIO").toLower() == "auto";
if (override_dpr > 0)
return override_dpr;
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index d1cbff59c1..587063b100 100644
--- a/src/plugins/plugins.pro
+++ b/src/plugins/plugins.pro
@@ -3,5 +3,6 @@ TEMPLATE = subdirs
SUBDIRS *= sqldrivers
!winrt:qtHaveModule(network): SUBDIRS += bearer
qtHaveModule(gui): SUBDIRS *= imageformats platforms platforminputcontexts platformthemes generic
+qtHaveModule(widgets): SUBDIRS *= styles
!winrt:!wince*:qtHaveModule(widgets):SUBDIRS += printsupport
diff --git a/src/plugins/styles/bb10style/bb10lightstyle.qrc b/src/plugins/styles/bb10style/bb10lightstyle.qrc
new file mode 100644
index 0000000000..0777e009bb
--- /dev/null
+++ b/src/plugins/styles/bb10style/bb10lightstyle.qrc
@@ -0,0 +1,54 @@
+<RCC>
+ <qresource prefix="/">
+ <file>light/button/core_button_disabled.png</file>
+ <file>light/button/core_button_inactive.png</file>
+ <file>light/button/core_button_pressed.png</file>
+ <file>light/checkbox/core_checkbox_checked.png</file>
+ <file>light/checkbox/core_checkbox_disabled.png</file>
+ <file>light/checkbox/core_checkbox_disabledchecked.png</file>
+ <file>light/checkbox/core_checkbox_enabled.png</file>
+ <file>light/checkbox/core_checkbox_pressed.png</file>
+ <file>light/checkbox/core_checkbox_pressedchecked.png</file>
+ <file>light/radiobutton/core_radiobutton_checked.png</file>
+ <file>light/radiobutton/core_radiobutton_disabled.png</file>
+ <file>light/radiobutton/core_radiobutton_disabledchecked.png</file>
+ <file>light/radiobutton/core_radiobutton_enabled.png</file>
+ <file>light/radiobutton/core_radiobutton_pressed.png</file>
+ <file>light/slider/core_slider_active.png</file>
+ <file>light/slider/core_slider_disabled.png</file>
+ <file>light/slider/core_slider_handle.png</file>
+ <file>light/slider/core_slider_handle_disabled.png</file>
+ <file>light/slider/core_slider_handle_pressed.png</file>
+ <file>light/slider/core_slider_inactive.png</file>
+ <file>light/slider/core_slider_vactive.png</file>
+ <file>light/slider/core_slider_vdisabled.png</file>
+ <file>light/slider/core_slider_vinactive.png</file>
+ <file>light/slider/core_slider_black.png</file>
+ <file>light/slider/core_slider_enabled.png</file>
+ <file>light/slider/core_slider_vblack.png</file>
+ <file>light/slider/core_slider_venabled.png</file>
+ <file>light/button/core_button_active.png</file>
+ <file>light/lineedit/core_textinput_bg.png</file>
+ <file>light/lineedit/core_textinput_bg_disabled.png</file>
+ <file>light/lineedit/core_textinput_bg_focused.png</file>
+ <file>light/progressbar/core_progressindicator_bg.png</file>
+ <file>light/progressbar/core_progressindicator_complete.png</file>
+ <file>light/progressbar/core_progressindicator_fill.png</file>
+ <file>light/progressbar/core_progressindicator_vbg.png</file>
+ <file>light/progressbar/core_progressindicator_vcomplete.png</file>
+ <file>light/progressbar/core_progressindicator_vfill.png</file>
+ <file>light/combobox/core_dropdown_button.png</file>
+ <file>light/combobox/core_dropdown_button_arrowdown.png</file>
+ <file>light/combobox/core_dropdown_button_arrowdown_pressed.png</file>
+ <file>light/combobox/core_dropdown_button_arrowup.png</file>
+ <file>light/combobox/core_dropdown_button_disabled.png</file>
+ <file>light/combobox/core_dropdown_button_pressed.png</file>
+ <file>light/combobox/core_dropdown_checkmark.png</file>
+ <file>light/combobox/core_dropdown_divider.png</file>
+ <file>light/combobox/core_dropdown_menu.png</file>
+ <file>light/combobox/core_dropdown_menuup.png</file>
+ <file>light/combobox/core_listitem_active.png</file>
+ <file>light/listitem/core_listitem_active.png</file>
+ <file>light/listitem/core_listitem_divider.png</file>
+ </qresource>
+</RCC>
diff --git a/src/plugins/styles/bb10style/bb10style.pro b/src/plugins/styles/bb10style/bb10style.pro
new file mode 100644
index 0000000000..ad35df6de7
--- /dev/null
+++ b/src/plugins/styles/bb10style/bb10style.pro
@@ -0,0 +1,28 @@
+TARGET = bb10styleplugin
+
+PLUGIN_TYPE = styles
+PLUGIN_CLASS_NAME = BlackBerry10StylePlugin
+load(qt_plugin)
+
+INCLUDEPATH += $$PWD
+
+QT += widgets
+
+HEADERS += \
+ qpixmapstyle.h \
+ qbb10brightstyle.h \
+ qbb10darkstyle.h \
+ qbb10styleplugin.h
+
+SOURCES += \
+ qpixmapstyle.cpp \
+ qbb10brightstyle.cpp \
+ qbb10darkstyle.cpp \
+ qbb10styleplugin.cpp
+
+RESOURCES += \
+ qbb10brightstyle.qrc \
+ qbb10darkstyle.qrc
+
+OTHER_FILES += qbb10styleplugin.json
+
diff --git a/src/plugins/styles/bb10style/bright/button/core_button_disabled.png b/src/plugins/styles/bb10style/bright/button/core_button_disabled.png
new file mode 100644
index 0000000000..578a2383b8
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/button/core_button_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/button/core_button_disabled_selected.png b/src/plugins/styles/bb10style/bright/button/core_button_disabled_selected.png
new file mode 100644
index 0000000000..7cd998af46
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/button/core_button_disabled_selected.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/button/core_button_enabled_selected.png b/src/plugins/styles/bb10style/bright/button/core_button_enabled_selected.png
new file mode 100644
index 0000000000..ff0850f616
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/button/core_button_enabled_selected.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/button/core_button_inactive.png b/src/plugins/styles/bb10style/bright/button/core_button_inactive.png
new file mode 100755
index 0000000000..7769f15e44
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/button/core_button_inactive.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/button/core_button_pressed.png b/src/plugins/styles/bb10style/bright/button/core_button_pressed.png
new file mode 100755
index 0000000000..59b5bfa7c2
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/button/core_button_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_checked.png b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_checked.png
new file mode 100644
index 0000000000..c59f60633c
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_checked.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_disabled.png b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_disabled.png
new file mode 100644
index 0000000000..49d9cfdf94
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_disabled_checked.png b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_disabled_checked.png
new file mode 100644
index 0000000000..35751553e1
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_disabled_checked.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_enabled.png b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_enabled.png
new file mode 100644
index 0000000000..2a0c56b503
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_enabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_pressed.png b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_pressed.png
new file mode 100755
index 0000000000..f1c2ee3bed
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_pressed_checked.png b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_pressed_checked.png
new file mode 100644
index 0000000000..d58df47cbf
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/checkbox/core_checkbox_pressed_checked.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button.png b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button.png
new file mode 100644
index 0000000000..1aa844309f
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowdown.png b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowdown.png
new file mode 100644
index 0000000000..9ac049fb3d
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowdown.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowdown_pressed.png b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowdown_pressed.png
new file mode 100644
index 0000000000..d11af56b71
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowdown_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowup.png b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowup.png
new file mode 100644
index 0000000000..d10779d8d7
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_arrowup.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_disabled.png b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_disabled.png
new file mode 100644
index 0000000000..f9e1c9465b
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_pressed.png b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_pressed.png
new file mode 100644
index 0000000000..27a321e387
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_button_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/combobox/core_dropdown_checkmark.png b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_checkmark.png
new file mode 100644
index 0000000000..a8270aed56
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_checkmark.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/combobox/core_dropdown_divider.png b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_divider.png
new file mode 100644
index 0000000000..0198293ad6
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_divider.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/combobox/core_dropdown_menu.png b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_menu.png
new file mode 100644
index 0000000000..47e7b2d4b6
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_menu.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/combobox/core_dropdown_menuup.png b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_menuup.png
new file mode 100644
index 0000000000..2bde84e71d
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/combobox/core_dropdown_menuup.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/combobox/core_listitem_active.png b/src/plugins/styles/bb10style/bright/combobox/core_listitem_active.png
new file mode 100644
index 0000000000..4935d13c05
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/combobox/core_listitem_active.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/lineedit/core_textinput_bg.png b/src/plugins/styles/bb10style/bright/lineedit/core_textinput_bg.png
new file mode 100755
index 0000000000..07b8ea21bf
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/lineedit/core_textinput_bg.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/lineedit/core_textinput_bg_disabled.png b/src/plugins/styles/bb10style/bright/lineedit/core_textinput_bg_disabled.png
new file mode 100644
index 0000000000..ab1083e9fa
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/lineedit/core_textinput_bg_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/lineedit/core_textinput_bg_highlight.png b/src/plugins/styles/bb10style/bright/lineedit/core_textinput_bg_highlight.png
new file mode 100755
index 0000000000..55f8aee066
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/lineedit/core_textinput_bg_highlight.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/listitem/core_listitem_active.png b/src/plugins/styles/bb10style/bright/listitem/core_listitem_active.png
new file mode 100755
index 0000000000..34daccc27e
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/listitem/core_listitem_active.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/listitem/core_listitem_divider.png b/src/plugins/styles/bb10style/bright/listitem/core_listitem_divider.png
new file mode 100755
index 0000000000..7a1e22321d
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/listitem/core_listitem_divider.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_bg.png b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_bg.png
new file mode 100755
index 0000000000..3ff930dea7
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_bg.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_complete.png b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_complete.png
new file mode 100644
index 0000000000..87974668ff
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_complete.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_fill.png b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_fill.png
new file mode 100644
index 0000000000..8ff257dad3
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_fill.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vbg.png b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vbg.png
new file mode 100644
index 0000000000..66cf8cac8f
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vbg.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vcomplete.png b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vcomplete.png
new file mode 100644
index 0000000000..f18e0abafb
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vcomplete.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vfill.png b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vfill.png
new file mode 100644
index 0000000000..94e388a7aa
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/progressbar/core_progressindicator_vfill.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_checked.png b/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_checked.png
new file mode 100644
index 0000000000..5dc5e52d88
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_checked.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_disabled.png b/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_disabled.png
new file mode 100644
index 0000000000..077aa79c65
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_disabled_checked.png b/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_disabled_checked.png
new file mode 100644
index 0000000000..439499040a
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_disabled_checked.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_inactive.png b/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_inactive.png
new file mode 100755
index 0000000000..cb4c6a8136
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_inactive.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_pressed.png b/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_pressed.png
new file mode 100755
index 0000000000..88fd1344d2
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/radiobutton/core_radiobutton_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/scrollbar/core_scrollbar.png b/src/plugins/styles/bb10style/bright/scrollbar/core_scrollbar.png
new file mode 100755
index 0000000000..79154e0568
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/scrollbar/core_scrollbar.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/scrollbar/core_scrollbar_v.png b/src/plugins/styles/bb10style/bright/scrollbar/core_scrollbar_v.png
new file mode 100644
index 0000000000..169a4e1656
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/scrollbar/core_scrollbar_v.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_active.png b/src/plugins/styles/bb10style/bright/slider/core_slider_active.png
new file mode 100644
index 0000000000..c23c0ebc26
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_active.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_cache.png b/src/plugins/styles/bb10style/bright/slider/core_slider_cache.png
new file mode 100644
index 0000000000..6b7224d702
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_cache.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_disabled.png b/src/plugins/styles/bb10style/bright/slider/core_slider_disabled.png
new file mode 100644
index 0000000000..9de7567e68
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_enabled.png b/src/plugins/styles/bb10style/bright/slider/core_slider_enabled.png
new file mode 100644
index 0000000000..ad5c35076c
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_enabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_handle.png b/src/plugins/styles/bb10style/bright/slider/core_slider_handle.png
new file mode 100644
index 0000000000..076e272794
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_handle.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_handle_disabled.png b/src/plugins/styles/bb10style/bright/slider/core_slider_handle_disabled.png
new file mode 100644
index 0000000000..5989fcaaeb
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_handle_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_handle_pressed.png b/src/plugins/styles/bb10style/bright/slider/core_slider_handle_pressed.png
new file mode 100755
index 0000000000..8cb79118b9
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_handle_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_inactive.png b/src/plugins/styles/bb10style/bright/slider/core_slider_inactive.png
new file mode 100644
index 0000000000..8836534923
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_inactive.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_vactive.png b/src/plugins/styles/bb10style/bright/slider/core_slider_vactive.png
new file mode 100644
index 0000000000..03062326f2
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_vactive.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_vcache.png b/src/plugins/styles/bb10style/bright/slider/core_slider_vcache.png
new file mode 100644
index 0000000000..b0d94d7127
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_vcache.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_vdisabled.png b/src/plugins/styles/bb10style/bright/slider/core_slider_vdisabled.png
new file mode 100644
index 0000000000..ce99b1a3ac
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_vdisabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_venabled.png b/src/plugins/styles/bb10style/bright/slider/core_slider_venabled.png
new file mode 100644
index 0000000000..910b6627d4
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_venabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/bright/slider/core_slider_vinactive.png b/src/plugins/styles/bb10style/bright/slider/core_slider_vinactive.png
new file mode 100644
index 0000000000..18a9819af8
--- /dev/null
+++ b/src/plugins/styles/bb10style/bright/slider/core_slider_vinactive.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/button/core_button_disabled.png b/src/plugins/styles/bb10style/dark/button/core_button_disabled.png
new file mode 100644
index 0000000000..79245dbf11
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/button/core_button_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/button/core_button_disabled_selected.png b/src/plugins/styles/bb10style/dark/button/core_button_disabled_selected.png
new file mode 100644
index 0000000000..5eb86b70f3
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/button/core_button_disabled_selected.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/button/core_button_enabled_selected.png b/src/plugins/styles/bb10style/dark/button/core_button_enabled_selected.png
new file mode 100644
index 0000000000..7b1a6ce40b
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/button/core_button_enabled_selected.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/button/core_button_inactive.png b/src/plugins/styles/bb10style/dark/button/core_button_inactive.png
new file mode 100755
index 0000000000..97842e1ac4
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/button/core_button_inactive.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/button/core_button_pressed.png b/src/plugins/styles/bb10style/dark/button/core_button_pressed.png
new file mode 100755
index 0000000000..c149b64a26
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/button/core_button_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_checked.png b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_checked.png
new file mode 100644
index 0000000000..5a8af33094
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_checked.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_disabled.png b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_disabled.png
new file mode 100644
index 0000000000..74a24522fa
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_disabled_checked.png b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_disabled_checked.png
new file mode 100644
index 0000000000..1e953221b6
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_disabled_checked.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_enabled.png b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_enabled.png
new file mode 100644
index 0000000000..5e51e7f39b
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_enabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_pressed.png b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_pressed.png
new file mode 100755
index 0000000000..507a77b3ea
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_pressed_checked.png b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_pressed_checked.png
new file mode 100644
index 0000000000..7fa85428a0
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/checkbox/core_checkbox_pressed_checked.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button.png b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button.png
new file mode 100644
index 0000000000..a68d93acb5
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowdown.png b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowdown.png
new file mode 100644
index 0000000000..4c1d085360
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowdown.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowdown_pressed.png b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowdown_pressed.png
new file mode 100644
index 0000000000..1ee578e07c
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowdown_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowup.png b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowup.png
new file mode 100644
index 0000000000..3239ef4bd6
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_arrowup.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_disabled.png b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_disabled.png
new file mode 100644
index 0000000000..af6793b87c
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_pressed.png b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_pressed.png
new file mode 100644
index 0000000000..df6d402554
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_button_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/combobox/core_dropdown_checkmark.png b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_checkmark.png
new file mode 100644
index 0000000000..578c80aa5f
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_checkmark.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/combobox/core_dropdown_divider.png b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_divider.png
new file mode 100644
index 0000000000..43b1025d36
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_divider.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/combobox/core_dropdown_menu.png b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_menu.png
new file mode 100644
index 0000000000..1f52362050
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_menu.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/combobox/core_dropdown_menuup.png b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_menuup.png
new file mode 100644
index 0000000000..62c7a2e558
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/combobox/core_dropdown_menuup.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/combobox/core_listitem_active.png b/src/plugins/styles/bb10style/dark/combobox/core_listitem_active.png
new file mode 100644
index 0000000000..1df4a7aad9
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/combobox/core_listitem_active.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/lineedit/core_textinput_bg.png b/src/plugins/styles/bb10style/dark/lineedit/core_textinput_bg.png
new file mode 100755
index 0000000000..07b8ea21bf
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/lineedit/core_textinput_bg.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/lineedit/core_textinput_bg_disabled.png b/src/plugins/styles/bb10style/dark/lineedit/core_textinput_bg_disabled.png
new file mode 100644
index 0000000000..6bcaf91f87
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/lineedit/core_textinput_bg_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/lineedit/core_textinput_bg_highlight.png b/src/plugins/styles/bb10style/dark/lineedit/core_textinput_bg_highlight.png
new file mode 100755
index 0000000000..9b115897e8
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/lineedit/core_textinput_bg_highlight.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/listitem/core_listitem_active.png b/src/plugins/styles/bb10style/dark/listitem/core_listitem_active.png
new file mode 100755
index 0000000000..52aa4e4aa2
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/listitem/core_listitem_active.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/listitem/core_listitem_divider.png b/src/plugins/styles/bb10style/dark/listitem/core_listitem_divider.png
new file mode 100755
index 0000000000..39e3a8a4f5
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/listitem/core_listitem_divider.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_bg.png b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_bg.png
new file mode 100755
index 0000000000..95fcafb437
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_bg.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_complete.png b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_complete.png
new file mode 100644
index 0000000000..e849c8f179
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_complete.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_fill.png b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_fill.png
new file mode 100644
index 0000000000..e8fd3b0173
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_fill.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vbg.png b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vbg.png
new file mode 100644
index 0000000000..1433f3ec33
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vbg.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vcomplete.png b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vcomplete.png
new file mode 100644
index 0000000000..d750e4671c
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vcomplete.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vfill.png b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vfill.png
new file mode 100644
index 0000000000..2c3c0a5e6c
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/progressbar/core_progressindicator_vfill.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_checked.png b/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_checked.png
new file mode 100644
index 0000000000..1721586ac5
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_checked.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_disabled.png b/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_disabled.png
new file mode 100644
index 0000000000..e646c9174b
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_disabled_checked.png b/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_disabled_checked.png
new file mode 100644
index 0000000000..93b3118e8d
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_disabled_checked.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_inactive.png b/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_inactive.png
new file mode 100755
index 0000000000..fd61937d65
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_inactive.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_pressed.png b/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_pressed.png
new file mode 100755
index 0000000000..58a1a57b4c
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/radiobutton/core_radiobutton_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/scrollbar/core_scrollbar.png b/src/plugins/styles/bb10style/dark/scrollbar/core_scrollbar.png
new file mode 100755
index 0000000000..384f60758a
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/scrollbar/core_scrollbar.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/scrollbar/core_scrollbar_v.png b/src/plugins/styles/bb10style/dark/scrollbar/core_scrollbar_v.png
new file mode 100644
index 0000000000..2542f2acaf
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/scrollbar/core_scrollbar_v.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_active.png b/src/plugins/styles/bb10style/dark/slider/core_slider_active.png
new file mode 100644
index 0000000000..6bdb413ced
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_active.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_cache.png b/src/plugins/styles/bb10style/dark/slider/core_slider_cache.png
new file mode 100644
index 0000000000..eea5b3d78e
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_cache.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_disabled.png b/src/plugins/styles/bb10style/dark/slider/core_slider_disabled.png
new file mode 100644
index 0000000000..6a233315e4
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_enabled.png b/src/plugins/styles/bb10style/dark/slider/core_slider_enabled.png
new file mode 100644
index 0000000000..2b297e5ca2
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_enabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_handle.png b/src/plugins/styles/bb10style/dark/slider/core_slider_handle.png
new file mode 100644
index 0000000000..fbd37e5584
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_handle.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_handle_disabled.png b/src/plugins/styles/bb10style/dark/slider/core_slider_handle_disabled.png
new file mode 100644
index 0000000000..49cb6a42a7
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_handle_disabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_handle_pressed.png b/src/plugins/styles/bb10style/dark/slider/core_slider_handle_pressed.png
new file mode 100755
index 0000000000..803c374015
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_handle_pressed.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_inactive.png b/src/plugins/styles/bb10style/dark/slider/core_slider_inactive.png
new file mode 100644
index 0000000000..08a1aecb6c
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_inactive.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_vactive.png b/src/plugins/styles/bb10style/dark/slider/core_slider_vactive.png
new file mode 100644
index 0000000000..c8e467d9e6
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_vactive.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_vcache.png b/src/plugins/styles/bb10style/dark/slider/core_slider_vcache.png
new file mode 100644
index 0000000000..ff160cbb1d
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_vcache.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_vdisabled.png b/src/plugins/styles/bb10style/dark/slider/core_slider_vdisabled.png
new file mode 100644
index 0000000000..27d348122b
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_vdisabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_venabled.png b/src/plugins/styles/bb10style/dark/slider/core_slider_venabled.png
new file mode 100644
index 0000000000..ff8a74a19f
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_venabled.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/dark/slider/core_slider_vinactive.png b/src/plugins/styles/bb10style/dark/slider/core_slider_vinactive.png
new file mode 100644
index 0000000000..b2b19a5460
--- /dev/null
+++ b/src/plugins/styles/bb10style/dark/slider/core_slider_vinactive.png
Binary files differ
diff --git a/src/plugins/styles/bb10style/qbb10brightstyle.cpp b/src/plugins/styles/bb10style/qbb10brightstyle.cpp
new file mode 100644
index 0000000000..8e6da406ea
--- /dev/null
+++ b/src/plugins/styles/bb10style/qbb10brightstyle.cpp
@@ -0,0 +1,352 @@
+/***************************************************************************
+**
+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qbb10brightstyle.h"
+
+#include <QApplication>
+#include <QFont>
+#include <QStyleOption>
+#include <QProgressBar>
+#include <QComboBox>
+#include <QAbstractItemView>
+#include <QPainter>
+
+QT_BEGIN_NAMESPACE
+
+QBB10BrightStyle::QBB10BrightStyle() :
+ QPixmapStyle()
+{
+ addDescriptor(PB_Enabled,
+ QLatin1String("://bright/button/core_button_inactive.png"),
+ QMargins(13, 13, 13, 13),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_Checked,
+ QLatin1String("://bright/button/core_button_enabled_selected.png"),
+ QMargins(13, 13, 13, 13),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_Pressed,
+ QLatin1String("://bright/button/core_button_pressed.png"),
+ QMargins(13, 13, 13, 13),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_Disabled,
+ QLatin1String("://bright/button/core_button_disabled.png"),
+ QMargins(13, 13, 13, 13),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_PressedDisabled,
+ QLatin1String("://bright/button/core_button_disabled_selected.png"),
+ QMargins(13, 13, 13, 13),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+
+ addDescriptor(LE_Enabled,
+ QLatin1String("://bright/lineedit/core_textinput_bg.png"),
+ QMargins(8, 8, 8, 8));
+ addDescriptor(LE_Disabled,
+ QLatin1String("://bright/lineedit/core_textinput_bg_disabled.png"),
+ QMargins(8, 8, 8, 8));
+ addDescriptor(LE_Focused,
+ QLatin1String("://bright/lineedit/core_textinput_bg_highlight.png"),
+ QMargins(8, 8, 8, 8));
+
+ copyDescriptor(LE_Enabled, TE_Enabled);
+ copyDescriptor(LE_Disabled, TE_Disabled);
+ copyDescriptor(LE_Focused, TE_Focused);
+
+ addPixmap(CB_Enabled,
+ QLatin1String("://bright/checkbox/core_checkbox_enabled.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(CB_Checked,
+ QLatin1String("://bright/checkbox/core_checkbox_checked.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(CB_Pressed,
+ QLatin1String("://bright/checkbox/core_checkbox_pressed.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(CB_PressedChecked,
+ QLatin1String("://bright/checkbox/core_checkbox_pressed_checked.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(CB_Disabled,
+ QLatin1String("://bright/checkbox/core_checkbox_disabled.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(CB_DisabledChecked,
+ QLatin1String("://bright/checkbox/core_checkbox_disabled_checked.png"),
+ QMargins(16, 16, 16, 16));
+
+ addPixmap(RB_Enabled,
+ QLatin1String("://bright/radiobutton/core_radiobutton_inactive.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(RB_Checked,
+ QLatin1String("://bright/radiobutton/core_radiobutton_checked.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(RB_Pressed,
+ QLatin1String("://bright/radiobutton/core_radiobutton_pressed.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(RB_Disabled,
+ QLatin1String("://bright/radiobutton/core_radiobutton_disabled.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(RB_DisabledChecked,
+ QLatin1String("://bright/radiobutton/core_radiobutton_disabled_checked.png"),
+ QMargins(16, 16, 16, 16));
+
+ addDescriptor(PB_HBackground,
+ QLatin1String("://bright/progressbar/core_progressindicator_bg.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_HContent,
+ QLatin1String("://bright/progressbar/core_progressindicator_fill.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_HComplete,
+ QLatin1String("://bright/progressbar/core_progressindicator_complete.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_VBackground,
+ QLatin1String("://bright/progressbar/core_progressindicator_vbg.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(PB_VContent,
+ QLatin1String("://bright/progressbar/core_progressindicator_vfill.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(PB_VComplete,
+ QLatin1String("://bright/progressbar/core_progressindicator_vcomplete.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+
+ addDescriptor(SG_HEnabled,
+ QLatin1String("://bright/slider/core_slider_enabled.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SG_HDisabled,
+ QLatin1String("://bright/slider/core_slider_disabled.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SG_HActiveEnabled,
+ QLatin1String("://bright/slider/core_slider_inactive.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SG_HActivePressed,
+ QLatin1String("://bright/slider/core_slider_active.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SG_HActiveDisabled,
+ QLatin1String("://bright/slider/core_slider_cache.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SG_VEnabled,
+ QLatin1String("://bright/slider/core_slider_venabled.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(SG_VDisabled,
+ QLatin1String("://bright/slider/core_slider_vdisabled.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(SG_VActiveEnabled,
+ QLatin1String("://bright/slider/core_slider_vinactive.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(SG_VActivePressed,
+ QLatin1String("://bright/slider/core_slider_vactive.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(SG_VActiveDisabled,
+ QLatin1String("://bright/slider/core_slider_vcache.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+
+ addPixmap(SH_HEnabled,
+ QLatin1String("://bright/slider/core_slider_handle.png"));
+ addPixmap(SH_HDisabled,
+ QLatin1String("://bright/slider/core_slider_handle_disabled.png"));
+ addPixmap(SH_HPressed,
+ QLatin1String("://bright/slider/core_slider_handle_pressed.png"));
+ addPixmap(SH_VEnabled,
+ QLatin1String("://bright/slider/core_slider_handle.png"));
+ addPixmap(SH_VDisabled,
+ QLatin1String("://bright/slider/core_slider_handle_disabled.png"));
+ addPixmap(SH_VPressed,
+ QLatin1String("://bright/slider/core_slider_handle_pressed.png"));
+
+ addDescriptor(DD_ButtonEnabled,
+ QLatin1String("://bright/combobox/core_dropdown_button.png"),
+ QMargins(14, 14, 14, 14),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(DD_ButtonDisabled,
+ QLatin1String("://bright/combobox/core_dropdown_button_disabled.png"),
+ QMargins(14, 14, 14, 14),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(DD_ButtonPressed,
+ QLatin1String("://bright/combobox/core_dropdown_button_pressed.png"),
+ QMargins(14, 14, 14, 14),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(DD_ItemSelected,
+ QLatin1String("://bright/combobox/core_listitem_active.png"));
+
+ addPixmap(DD_ArrowEnabled,
+ QLatin1String("://bright/combobox/core_dropdown_button_arrowdown.png"),
+ QMargins(35, 39, 35, 39));
+ copyPixmap(DD_ArrowEnabled, DD_ArrowDisabled);
+ addPixmap(DD_ArrowPressed,
+ QLatin1String("://bright/combobox/core_dropdown_button_arrowdown_pressed.png"),
+ QMargins(35, 39, 35, 39));
+ addPixmap(DD_ArrowOpen,
+ QLatin1String("://bright/combobox/core_dropdown_button_arrowup.png"),
+ QMargins(35, 39, 35, 39));
+ addDescriptor(DD_PopupDown,
+ QLatin1String("://bright/combobox/core_dropdown_menu.png"),
+ QMargins(12, 12, 12, 12),
+ QTileRules(Qt::StretchTile, Qt::StretchTile));
+ addDescriptor(DD_PopupUp,
+ QLatin1String("://bright/combobox/core_dropdown_menuup.png"),
+ QMargins(12, 12, 12, 12),
+ QTileRules(Qt::StretchTile, Qt::StretchTile));
+ addPixmap(DD_ItemSeparator,
+ QLatin1String("://bright/combobox/core_dropdown_divider.png"),
+ QMargins(5, 0, 5, 0));
+
+ addDescriptor(ID_Selected,
+ QLatin1String("://bright/listitem/core_listitem_active.png"));
+ addPixmap(ID_Separator,
+ QLatin1String("://bright/listitem/core_listitem_divider.png"));
+
+ addDescriptor(SB_Horizontal,
+ QLatin1String("://bright/scrollbar/core_scrollbar.png"),
+ QMargins(7, 8, 7, 8),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SB_Vertical,
+ QLatin1String("://bright/scrollbar/core_scrollbar_v.png"),
+ QMargins(8, 7, 8, 7),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+}
+
+QBB10BrightStyle::~QBB10BrightStyle()
+{
+}
+
+void QBB10BrightStyle::polish(QApplication *application)
+{
+ QPixmapStyle::polish(application);
+}
+
+void QBB10BrightStyle::polish(QWidget *widget)
+{
+ // Hide the text by default
+ if (QProgressBar *pb = qobject_cast<QProgressBar*>(widget))
+ pb->setTextVisible(false);
+
+ if (QComboBox *cb = qobject_cast<QComboBox*>(widget)) {
+ QAbstractItemView *list = cb->view();
+ QPalette p = list->palette();
+ p.setBrush(QPalette::HighlightedText, p.brush(QPalette::Text));
+ list->setPalette(p);
+ }
+
+ if (qobject_cast<QAbstractItemView*>(widget)) {
+ QPalette p = widget->palette();
+ p.setBrush(QPalette::Disabled, QPalette::HighlightedText, p.brush(QPalette::Text));
+ widget->setPalette(p);
+ }
+
+ QPixmapStyle::polish(widget);
+}
+
+QPalette QBB10BrightStyle::standardPalette() const
+{
+ QPalette p;
+
+ QColor color = QColor(38, 38, 38);
+ p.setBrush(QPalette::ButtonText, color);
+ p.setBrush(QPalette::WindowText, color);
+ p.setBrush(QPalette::Text, color);
+
+ color.setAlpha(179);
+ p.setBrush(QPalette::Disabled, QPalette::ButtonText, color);
+ p.setBrush(QPalette::Disabled, QPalette::WindowText, color);
+ p.setBrush(QPalette::Disabled, QPalette::Text, color);
+
+ p.setColor(QPalette::Window, QColor(248, 248, 248));
+
+ p.setBrush(QPalette::Highlight, QColor(0, 168, 223));
+ p.setBrush(QPalette::HighlightedText, QColor(250, 250,250));
+
+ return p;
+}
+
+void QBB10BrightStyle::drawControl(QStyle::ControlElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ switch (element) {
+ case CE_PushButtonLabel:
+ {
+ const bool on = option->state & State_On || option->state & State_Sunken;
+ const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton*>(option);
+ QStyleOptionButton newOpt = *button;
+ if (on)
+ newOpt.palette.setBrush(QPalette::ButtonText, QColor(250, 250, 250));
+ QPixmapStyle::drawControl(CE_PushButtonLabel, &newOpt, painter, widget);
+ break;
+ }
+ case CE_ProgressBarLabel:
+ // Don't draw the progress bar label
+ break;
+ default:
+ QPixmapStyle::drawControl(element, option, painter, widget);
+ }
+}
+
+void QBB10BrightStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ QPixmapStyle::drawPrimitive(element, option, painter, widget);
+
+ if (element == PE_PanelItemViewItem) {
+ // Draw the checkbox for current item
+ if (widget->property("_pixmap_combobox_list").toBool()
+ && option->state & QStyle::State_Selected) {
+ QPixmap pix(QLatin1String("://bright/combobox/core_dropdown_checkmark.png"));
+ QRect rect = option->rect;
+ const int margin = rect.height() / 2;
+ QPoint pos(rect.right() - margin - pix.width() / 2,
+ rect.top() + margin - pix.height() / 2);
+ painter->drawPixmap(pos, pix);
+ }
+ }
+}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/styles/bb10style/qbb10brightstyle.h b/src/plugins/styles/bb10style/qbb10brightstyle.h
new file mode 100644
index 0000000000..4a63b1dc48
--- /dev/null
+++ b/src/plugins/styles/bb10style/qbb10brightstyle.h
@@ -0,0 +1,70 @@
+/***************************************************************************
+**
+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QBB10BRIGHTSTYLE_H
+#define QBB10BRIGHTSTYLE_H
+
+#include "qpixmapstyle.h"
+
+QT_BEGIN_NAMESPACE
+
+class QBB10BrightStyle : public QPixmapStyle
+{
+ Q_OBJECT
+
+public:
+ QBB10BrightStyle();
+ ~QBB10BrightStyle();
+
+ void polish(QApplication *application);
+ void polish(QWidget *widget);
+
+ QPalette standardPalette() const;
+
+ void drawControl(ControlElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget = 0) const;
+ void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const;
+};
+
+QT_END_NAMESPACE
+
+#endif // QBB10BRIGHTSTYLE_H
diff --git a/src/plugins/styles/bb10style/qbb10brightstyle.qrc b/src/plugins/styles/bb10style/qbb10brightstyle.qrc
new file mode 100644
index 0000000000..2172536fa3
--- /dev/null
+++ b/src/plugins/styles/bb10style/qbb10brightstyle.qrc
@@ -0,0 +1,57 @@
+<RCC>
+ <qresource prefix="/">
+ <file>bright/button/core_button_disabled.png</file>
+ <file>bright/button/core_button_disabled_selected.png</file>
+ <file>bright/button/core_button_inactive.png</file>
+ <file>bright/button/core_button_enabled_selected.png</file>
+ <file>bright/button/core_button_pressed.png</file>
+ <file>bright/checkbox/core_checkbox_checked.png</file>
+ <file>bright/checkbox/core_checkbox_disabled.png</file>
+ <file>bright/checkbox/core_checkbox_disabled_checked.png</file>
+ <file>bright/checkbox/core_checkbox_enabled.png</file>
+ <file>bright/checkbox/core_checkbox_pressed.png</file>
+ <file>bright/checkbox/core_checkbox_pressed_checked.png</file>
+ <file>bright/combobox/core_dropdown_button.png</file>
+ <file>bright/combobox/core_dropdown_button_arrowdown.png</file>
+ <file>bright/combobox/core_dropdown_button_arrowdown_pressed.png</file>
+ <file>bright/combobox/core_dropdown_button_arrowup.png</file>
+ <file>bright/combobox/core_dropdown_button_disabled.png</file>
+ <file>bright/combobox/core_dropdown_button_pressed.png</file>
+ <file>bright/combobox/core_dropdown_checkmark.png</file>
+ <file>bright/combobox/core_dropdown_divider.png</file>
+ <file>bright/combobox/core_dropdown_menu.png</file>
+ <file>bright/combobox/core_dropdown_menuup.png</file>
+ <file>bright/combobox/core_listitem_active.png</file>
+ <file>bright/lineedit/core_textinput_bg.png</file>
+ <file>bright/lineedit/core_textinput_bg_disabled.png</file>
+ <file>bright/lineedit/core_textinput_bg_highlight.png</file>
+ <file>bright/listitem/core_listitem_active.png</file>
+ <file>bright/listitem/core_listitem_divider.png</file>
+ <file>bright/progressbar/core_progressindicator_bg.png</file>
+ <file>bright/progressbar/core_progressindicator_complete.png</file>
+ <file>bright/progressbar/core_progressindicator_fill.png</file>
+ <file>bright/progressbar/core_progressindicator_vbg.png</file>
+ <file>bright/progressbar/core_progressindicator_vcomplete.png</file>
+ <file>bright/progressbar/core_progressindicator_vfill.png</file>
+ <file>bright/radiobutton/core_radiobutton_checked.png</file>
+ <file>bright/radiobutton/core_radiobutton_disabled.png</file>
+ <file>bright/radiobutton/core_radiobutton_disabled_checked.png</file>
+ <file>bright/radiobutton/core_radiobutton_inactive.png</file>
+ <file>bright/radiobutton/core_radiobutton_pressed.png</file>
+ <file>bright/scrollbar/core_scrollbar.png</file>
+ <file>bright/scrollbar/core_scrollbar_v.png</file>
+ <file>bright/slider/core_slider_active.png</file>
+ <file>bright/slider/core_slider_cache.png</file>
+ <file>bright/slider/core_slider_disabled.png</file>
+ <file>bright/slider/core_slider_enabled.png</file>
+ <file>bright/slider/core_slider_handle.png</file>
+ <file>bright/slider/core_slider_handle_disabled.png</file>
+ <file>bright/slider/core_slider_handle_pressed.png</file>
+ <file>bright/slider/core_slider_inactive.png</file>
+ <file>bright/slider/core_slider_vactive.png</file>
+ <file>bright/slider/core_slider_vcache.png</file>
+ <file>bright/slider/core_slider_vdisabled.png</file>
+ <file>bright/slider/core_slider_venabled.png</file>
+ <file>bright/slider/core_slider_vinactive.png</file>
+ </qresource>
+</RCC>
diff --git a/src/plugins/styles/bb10style/qbb10darkstyle.cpp b/src/plugins/styles/bb10style/qbb10darkstyle.cpp
new file mode 100644
index 0000000000..85bf4a7917
--- /dev/null
+++ b/src/plugins/styles/bb10style/qbb10darkstyle.cpp
@@ -0,0 +1,357 @@
+/***************************************************************************
+**
+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qbb10darkstyle.h"
+
+#include <QApplication>
+#include <QFont>
+#include <QStyleOption>
+#include <QProgressBar>
+#include <QComboBox>
+#include <QAbstractItemView>
+#include <QPainter>
+#include <QLineEdit>
+#include <QTextEdit>
+
+QT_BEGIN_NAMESPACE
+
+QBB10DarkStyle::QBB10DarkStyle() :
+ QPixmapStyle()
+{
+ addDescriptor(PB_Enabled,
+ QLatin1String("://dark/button/core_button_inactive.png"),
+ QMargins(13, 13, 13, 13),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_Checked,
+ QLatin1String("://dark/button/core_button_enabled_selected.png"),
+ QMargins(13, 13, 13, 13),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_Pressed,
+ QLatin1String("://dark/button/core_button_pressed.png"),
+ QMargins(13, 13, 13, 13),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_Disabled,
+ QLatin1String("://dark/button/core_button_disabled.png"),
+ QMargins(13, 13, 13, 13),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_PressedDisabled,
+ QLatin1String("://dark/button/core_button_disabled_selected.png"),
+ QMargins(13, 13, 13, 13),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+
+ addDescriptor(LE_Enabled,
+ QLatin1String("://dark/lineedit/core_textinput_bg.png"),
+ QMargins(8, 8, 8, 8));
+ addDescriptor(LE_Disabled,
+ QLatin1String("://dark/lineedit/core_textinput_bg_disabled.png"),
+ QMargins(8, 8, 8, 8));
+ addDescriptor(LE_Focused,
+ QLatin1String("://dark/lineedit/core_textinput_bg_highlight.png"),
+ QMargins(8, 8, 8, 8));
+
+ copyDescriptor(LE_Enabled, TE_Enabled);
+ copyDescriptor(LE_Disabled, TE_Disabled);
+ copyDescriptor(LE_Focused, TE_Focused);
+
+ addPixmap(CB_Enabled,
+ QLatin1String("://dark/checkbox/core_checkbox_enabled.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(CB_Checked,
+ QLatin1String("://dark/checkbox/core_checkbox_checked.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(CB_Pressed,
+ QLatin1String("://dark/checkbox/core_checkbox_pressed.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(CB_PressedChecked,
+ QLatin1String("://dark/checkbox/core_checkbox_pressed_checked.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(CB_Disabled,
+ QLatin1String("://dark/checkbox/core_checkbox_disabled.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(CB_DisabledChecked,
+ QLatin1String("://dark/checkbox/core_checkbox_disabled_checked.png"),
+ QMargins(16, 16, 16, 16));
+
+ addPixmap(RB_Enabled,
+ QLatin1String("://dark/radiobutton/core_radiobutton_inactive.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(RB_Checked,
+ QLatin1String("://dark/radiobutton/core_radiobutton_checked.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(RB_Pressed,
+ QLatin1String("://dark/radiobutton/core_radiobutton_pressed.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(RB_Disabled,
+ QLatin1String("://dark/radiobutton/core_radiobutton_disabled.png"),
+ QMargins(16, 16, 16, 16));
+ addPixmap(RB_DisabledChecked,
+ QLatin1String("://dark/radiobutton/core_radiobutton_disabled_checked.png"),
+ QMargins(16, 16, 16, 16));
+
+ addDescriptor(PB_HBackground,
+ QLatin1String("://dark/progressbar/core_progressindicator_bg.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_HContent,
+ QLatin1String("://dark/progressbar/core_progressindicator_fill.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_HComplete,
+ QLatin1String("://dark/progressbar/core_progressindicator_complete.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(PB_VBackground,
+ QLatin1String("://dark/progressbar/core_progressindicator_vbg.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(PB_VContent,
+ QLatin1String("://dark/progressbar/core_progressindicator_vfill.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(PB_VComplete,
+ QLatin1String("://dark/progressbar/core_progressindicator_vcomplete.png"),
+ QMargins(10, 10, 10, 10),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+
+ addDescriptor(SG_HEnabled,
+ QLatin1String("://dark/slider/core_slider_enabled.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SG_HDisabled,
+ QLatin1String("://dark/slider/core_slider_disabled.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SG_HActiveEnabled,
+ QLatin1String("://dark/slider/core_slider_inactive.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SG_HActivePressed,
+ QLatin1String("://dark/slider/core_slider_active.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SG_HActiveDisabled,
+ QLatin1String("://dark/slider/core_slider_cache.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SG_VEnabled,
+ QLatin1String("://dark/slider/core_slider_venabled.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(SG_VDisabled,
+ QLatin1String("://dark/slider/core_slider_vdisabled.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(SG_VActiveEnabled,
+ QLatin1String("://dark/slider/core_slider_vinactive.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(SG_VActivePressed,
+ QLatin1String("://dark/slider/core_slider_vactive.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+ addDescriptor(SG_VActiveDisabled,
+ QLatin1String("://dark/slider/core_slider_vcache.png"),
+ QMargins(50, 50, 50, 50),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+
+ addPixmap(SH_HEnabled,
+ QLatin1String("://dark/slider/core_slider_handle.png"));
+ addPixmap(SH_HDisabled,
+ QLatin1String("://dark/slider/core_slider_handle_disabled.png"));
+ addPixmap(SH_HPressed,
+ QLatin1String("://dark/slider/core_slider_handle_pressed.png"));
+ addPixmap(SH_VEnabled,
+ QLatin1String("://dark/slider/core_slider_handle.png"));
+ addPixmap(SH_VDisabled,
+ QLatin1String("://dark/slider/core_slider_handle_disabled.png"));
+ addPixmap(SH_VPressed,
+ QLatin1String("://dark/slider/core_slider_handle_pressed.png"));
+
+ addDescriptor(DD_ButtonEnabled,
+ QLatin1String("://dark/combobox/core_dropdown_button.png"),
+ QMargins(14, 14, 14, 14),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(DD_ButtonDisabled,
+ QLatin1String("://dark/combobox/core_dropdown_button_disabled.png"),
+ QMargins(14, 14, 14, 14),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(DD_ButtonPressed,
+ QLatin1String("://dark/combobox/core_dropdown_button_pressed.png"),
+ QMargins(14, 14, 14, 14),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(DD_ItemSelected,
+ QLatin1String("://dark/combobox/core_listitem_active.png"));
+ addPixmap(DD_ArrowEnabled,
+ QLatin1String("://dark/combobox/core_dropdown_button_arrowdown.png"),
+ QMargins(35, 39, 35, 39));
+ copyPixmap(DD_ArrowEnabled, DD_ArrowDisabled);
+ addPixmap(DD_ArrowPressed,
+ QLatin1String("://dark/combobox/core_dropdown_button_arrowdown_pressed.png"),
+ QMargins(35, 39, 35, 39));
+ addPixmap(DD_ArrowOpen,
+ QLatin1String("://dark/combobox/core_dropdown_button_arrowup.png"),
+ QMargins(35, 39, 35, 39));
+ addDescriptor(DD_PopupDown,
+ QLatin1String("://dark/combobox/core_dropdown_menu.png"),
+ QMargins(12, 12, 12, 12), QTileRules(Qt::StretchTile, Qt::StretchTile));
+ addDescriptor(DD_PopupUp,
+ QLatin1String("://dark/combobox/core_dropdown_menuup.png"),
+ QMargins(12, 12, 12, 12), QTileRules(Qt::StretchTile, Qt::StretchTile));
+ addPixmap(DD_ItemSeparator,
+ QLatin1String("://dark/combobox/core_dropdown_divider.png"),
+ QMargins(5, 0, 5, 0));
+
+ addDescriptor(ID_Selected,
+ QLatin1String("://dark/listitem/core_listitem_active.png"));
+ addPixmap(ID_Separator,
+ QLatin1String("://dark/listitem/core_listitem_divider.png"));
+
+ addDescriptor(SB_Horizontal,
+ QLatin1String("://dark/scrollbar/core_scrollbar.png"),
+ QMargins(7, 8, 7, 8),
+ QTileRules(Qt::RepeatTile, Qt::StretchTile));
+ addDescriptor(SB_Vertical,
+ QLatin1String("://dark/scrollbar/core_scrollbar_v.png"),
+ QMargins(8, 7, 8, 7),
+ QTileRules(Qt::StretchTile, Qt::RepeatTile));
+}
+
+QBB10DarkStyle::~QBB10DarkStyle()
+{
+}
+
+void QBB10DarkStyle::polish(QApplication *application)
+{
+ QPixmapStyle::polish(application);
+}
+
+void QBB10DarkStyle::polish(QWidget *widget)
+{
+ // Hide the text by default
+ if (QProgressBar *pb = qobject_cast<QProgressBar*>(widget))
+ pb->setTextVisible(false);
+
+ if (QComboBox *cb = qobject_cast<QComboBox*>(widget)) {
+ QAbstractItemView *list = cb->view();
+ QPalette p = list->palette();
+ p.setBrush(QPalette::HighlightedText, p.brush(QPalette::Text));
+ list->setPalette(p);
+ }
+
+ if (qobject_cast<QLineEdit*>(widget) || qobject_cast<QTextEdit*>(widget)) {
+ QPalette p = widget->palette();
+ p.setBrush(QPalette::Text, QColor(38, 38, 38));
+ widget->setPalette(p);
+ }
+
+ if (qobject_cast<QAbstractItemView*>(widget)) {
+ QPalette p = widget->palette();
+ p.setBrush(QPalette::Disabled, QPalette::HighlightedText, p.brush(QPalette::Text));
+ widget->setPalette(p);
+ }
+
+ QPixmapStyle::polish(widget);
+}
+
+QPalette QBB10DarkStyle::standardPalette() const
+{
+ QPalette p;
+
+ QColor color = QColor(250, 250, 250);
+ p.setBrush(QPalette::ButtonText, color);
+ p.setBrush(QPalette::WindowText, color);
+ p.setBrush(QPalette::Text, color);
+
+ color.setAlpha(179);
+ p.setBrush(QPalette::Disabled, QPalette::ButtonText, color);
+ p.setBrush(QPalette::Disabled, QPalette::WindowText, color);
+ p.setBrush(QPalette::Disabled, QPalette::Text, color);
+
+ p.setColor(QPalette::Window, QColor(18, 18, 18));
+
+ p.setBrush(QPalette::Highlight, QColor(0, 168, 223));
+ p.setBrush(QPalette::HighlightedText, QColor(250, 250,250));
+
+ return p;
+}
+
+void QBB10DarkStyle::drawControl(QStyle::ControlElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ switch (element) {
+ case CE_PushButtonLabel:
+ {
+ const bool on = option->state & State_On || option->state & State_Sunken;
+ const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton*>(option);
+ QStyleOptionButton newOpt = *button;
+ if (on)
+ newOpt.palette.setBrush(QPalette::ButtonText, QColor(38, 38, 38));
+ QPixmapStyle::drawControl(CE_PushButtonLabel, &newOpt, painter, widget);
+ break;
+ }
+ case CE_ProgressBarLabel:
+ // Don't draw the progress bar label
+ break;
+ default:
+ QPixmapStyle::drawControl(element, option, painter, widget);
+ }
+}
+
+void QBB10DarkStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ QPixmapStyle::drawPrimitive(element, option, painter, widget);
+
+ if (element == PE_PanelItemViewItem) {
+ // Draw the checkbox for current item
+ if (widget->property("_pixmap_combobox_list").toBool()
+ && option->state & QStyle::State_Selected) {
+ QPixmap pix(QLatin1String("://dark/combobox/core_dropdown_checkmark.png"));
+ QRect rect = option->rect;
+ const int margin = rect.height() / 2;
+ QPoint pos(rect.right() - margin - pix.width() / 2,
+ rect.top() + margin - pix.height() / 2);
+ painter->drawPixmap(pos, pix);
+ }
+ }
+}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/styles/bb10style/qbb10darkstyle.h b/src/plugins/styles/bb10style/qbb10darkstyle.h
new file mode 100644
index 0000000000..1be7b0540c
--- /dev/null
+++ b/src/plugins/styles/bb10style/qbb10darkstyle.h
@@ -0,0 +1,70 @@
+/***************************************************************************
+**
+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QBB10DARKSTYLE_H
+#define QBB10DARKSTYLE_H
+
+#include "qpixmapstyle.h"
+
+QT_BEGIN_NAMESPACE
+
+class QBB10DarkStyle : public QPixmapStyle
+{
+ Q_OBJECT
+
+public:
+ QBB10DarkStyle();
+ ~QBB10DarkStyle();
+
+ void polish(QApplication *application);
+ void polish(QWidget *widget);
+
+ QPalette standardPalette() const;
+
+ void drawControl(ControlElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget = 0) const;
+ void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const;
+};
+
+QT_END_NAMESPACE
+
+#endif // QBB10DARKSTYLE_H
diff --git a/src/plugins/styles/bb10style/qbb10darkstyle.qrc b/src/plugins/styles/bb10style/qbb10darkstyle.qrc
new file mode 100644
index 0000000000..31a5236207
--- /dev/null
+++ b/src/plugins/styles/bb10style/qbb10darkstyle.qrc
@@ -0,0 +1,57 @@
+<RCC>
+ <qresource prefix="/">
+ <file>dark/button/core_button_disabled.png</file>
+ <file>dark/button/core_button_disabled_selected.png</file>
+ <file>dark/button/core_button_inactive.png</file>
+ <file>dark/button/core_button_enabled_selected.png</file>
+ <file>dark/button/core_button_pressed.png</file>
+ <file>dark/checkbox/core_checkbox_checked.png</file>
+ <file>dark/checkbox/core_checkbox_disabled.png</file>
+ <file>dark/checkbox/core_checkbox_disabled_checked.png</file>
+ <file>dark/checkbox/core_checkbox_enabled.png</file>
+ <file>dark/checkbox/core_checkbox_pressed.png</file>
+ <file>dark/checkbox/core_checkbox_pressed_checked.png</file>
+ <file>dark/combobox/core_dropdown_button.png</file>
+ <file>dark/combobox/core_dropdown_button_arrowdown.png</file>
+ <file>dark/combobox/core_dropdown_button_arrowdown_pressed.png</file>
+ <file>dark/combobox/core_dropdown_button_arrowup.png</file>
+ <file>dark/combobox/core_dropdown_button_disabled.png</file>
+ <file>dark/combobox/core_dropdown_button_pressed.png</file>
+ <file>dark/combobox/core_dropdown_checkmark.png</file>
+ <file>dark/combobox/core_dropdown_divider.png</file>
+ <file>dark/combobox/core_dropdown_menu.png</file>
+ <file>dark/combobox/core_dropdown_menuup.png</file>
+ <file>dark/combobox/core_listitem_active.png</file>
+ <file>dark/lineedit/core_textinput_bg.png</file>
+ <file>dark/lineedit/core_textinput_bg_disabled.png</file>
+ <file>dark/lineedit/core_textinput_bg_highlight.png</file>
+ <file>dark/listitem/core_listitem_active.png</file>
+ <file>dark/listitem/core_listitem_divider.png</file>
+ <file>dark/progressbar/core_progressindicator_bg.png</file>
+ <file>dark/progressbar/core_progressindicator_complete.png</file>
+ <file>dark/progressbar/core_progressindicator_fill.png</file>
+ <file>dark/progressbar/core_progressindicator_vbg.png</file>
+ <file>dark/progressbar/core_progressindicator_vcomplete.png</file>
+ <file>dark/progressbar/core_progressindicator_vfill.png</file>
+ <file>dark/radiobutton/core_radiobutton_checked.png</file>
+ <file>dark/radiobutton/core_radiobutton_disabled.png</file>
+ <file>dark/radiobutton/core_radiobutton_disabled_checked.png</file>
+ <file>dark/radiobutton/core_radiobutton_inactive.png</file>
+ <file>dark/radiobutton/core_radiobutton_pressed.png</file>
+ <file>dark/scrollbar/core_scrollbar.png</file>
+ <file>dark/scrollbar/core_scrollbar_v.png</file>
+ <file>dark/slider/core_slider_active.png</file>
+ <file>dark/slider/core_slider_cache.png</file>
+ <file>dark/slider/core_slider_disabled.png</file>
+ <file>dark/slider/core_slider_enabled.png</file>
+ <file>dark/slider/core_slider_handle.png</file>
+ <file>dark/slider/core_slider_handle_disabled.png</file>
+ <file>dark/slider/core_slider_handle_pressed.png</file>
+ <file>dark/slider/core_slider_inactive.png</file>
+ <file>dark/slider/core_slider_vactive.png</file>
+ <file>dark/slider/core_slider_vcache.png</file>
+ <file>dark/slider/core_slider_vdisabled.png</file>
+ <file>dark/slider/core_slider_venabled.png</file>
+ <file>dark/slider/core_slider_vinactive.png</file>
+ </qresource>
+</RCC>
diff --git a/src/plugins/styles/bb10style/qbb10styleplugin.cpp b/src/plugins/styles/bb10style/qbb10styleplugin.cpp
new file mode 100644
index 0000000000..eba5e868a2
--- /dev/null
+++ b/src/plugins/styles/bb10style/qbb10styleplugin.cpp
@@ -0,0 +1,74 @@
+/***************************************************************************
+**
+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qbb10styleplugin.h"
+#include "qbb10darkstyle.h"
+#include "qbb10brightstyle.h"
+
+QT_BEGIN_NAMESPACE
+
+QBB10StylePlugin::QBB10StylePlugin()
+{
+}
+
+QBB10StylePlugin::~QBB10StylePlugin()
+{
+}
+
+QStyle *QBB10StylePlugin::create(const QString &key)
+{
+ const QString keyLower(key.toLower());
+ if (keyLower == QLatin1String("bb10bright"))
+ return new QBB10BrightStyle;
+ else if (keyLower == QLatin1String("bb10dark"))
+ return new QBB10DarkStyle;
+
+ return 0;
+}
+
+QStringList QBB10StylePlugin::keys() const
+{
+ return QStringList() << QLatin1String("bb10bright") << QLatin1String("bb10dark");
+}
+
+QT_END_NAMESPACE
+
+#include "moc_qbb10styleplugin.cpp"
diff --git a/src/plugins/styles/bb10style/qbb10styleplugin.h b/src/plugins/styles/bb10style/qbb10styleplugin.h
new file mode 100644
index 0000000000..2bc08d441c
--- /dev/null
+++ b/src/plugins/styles/bb10style/qbb10styleplugin.h
@@ -0,0 +1,64 @@
+/***************************************************************************
+**
+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QBB10STYLEPLUGIN_H
+#define QBB10STYLEPLUGIN_H
+
+#include <QStylePlugin>
+
+QT_BEGIN_NAMESPACE
+
+class QBB10StylePlugin : public QStylePlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QStyleFactoryInterface" FILE "qbb10styleplugin.json")
+
+public:
+ QBB10StylePlugin();
+ ~QBB10StylePlugin();
+
+ QStyle *create(const QString &key);
+ QStringList keys() const;
+};
+
+QT_END_NAMESPACE
+
+#endif // QBB10STYLEPLUGIN_H
diff --git a/src/plugins/styles/bb10style/qbb10styleplugin.json b/src/plugins/styles/bb10style/qbb10styleplugin.json
new file mode 100644
index 0000000000..8f79b706c3
--- /dev/null
+++ b/src/plugins/styles/bb10style/qbb10styleplugin.json
@@ -0,0 +1,3 @@
+{
+ "Keys": [ "bb10bright", "bb10dark" ]
+}
diff --git a/src/plugins/styles/bb10style/qpixmapstyle.cpp b/src/plugins/styles/bb10style/qpixmapstyle.cpp
new file mode 100644
index 0000000000..e80a1d991c
--- /dev/null
+++ b/src/plugins/styles/bb10style/qpixmapstyle.cpp
@@ -0,0 +1,994 @@
+/***************************************************************************
+**
+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qpixmapstyle.h"
+
+#include <QDebug>
+#include <QTextEdit>
+#include <QStringBuilder>
+#include <QPainter>
+#include <QPixmapCache>
+#include <QStyleOption>
+#include <QString>
+#include <QProgressBar>
+#include <QSlider>
+#include <QEvent>
+#include <QComboBox>
+#include <QAbstractItemView>
+#include <QListView>
+#include <QTreeView>
+#include <QStyledItemDelegate>
+#include <QAbstractScrollArea>
+#include <QScrollBar>
+
+#include <qscroller.h>
+
+QT_BEGIN_NAMESPACE
+
+QPixmapStyle::QPixmapStyle() :
+ QCommonStyle()
+{
+}
+
+QPixmapStyle::~QPixmapStyle()
+{
+}
+
+void QPixmapStyle::polish(QApplication *application)
+{
+ QCommonStyle::polish(application);
+#if defined(Q_WS_WIN)
+ QApplication::setEffectEnabled(Qt::UI_AnimateCombo, false);
+#endif
+}
+
+void QPixmapStyle::polish(QPalette &palette)
+{
+ palette = proxy()->standardPalette();
+}
+
+void QPixmapStyle::polish(QWidget *widget)
+{
+ // Don't fill the interior of the QTextEdit
+ if (qobject_cast<QTextEdit*>(widget)) {
+ QPalette p = widget->palette();
+ p.setBrush(QPalette::Base, Qt::NoBrush);
+ widget->setPalette(p);
+ }
+
+ if (QProgressBar *pb = qobject_cast<QProgressBar*>(widget)) {
+ // Center the text in the progress bar
+ pb->setAlignment(Qt::AlignCenter);
+ // Change the font size if needed, as it's used to compute the minimum size
+ QFont font = pb->font();
+ font.setPixelSize(m_descriptors.value(PB_HBackground).size.height()/2);
+ pb->setFont(font);
+ }
+
+ if (qobject_cast<QSlider*>(widget))
+ widget->installEventFilter(this);
+
+ if (QComboBox *cb = qobject_cast<QComboBox*>(widget)) {
+ widget->installEventFilter(this);
+ // NOTE: This will break if the private API of QComboBox changes drastically
+ // Make sure the popup is created so we can change the frame style
+ QAbstractItemView *list = cb->view();
+ list->setProperty("_pixmap_combobox_list", true);
+ list->setItemDelegate(new QStyledItemDelegate(list));
+ QPalette p = list->palette();
+ p.setBrush(QPalette::Active, QPalette::Base, QBrush(Qt::transparent) );
+ p.setBrush(QPalette::Active, QPalette::AlternateBase, QBrush(Qt::transparent) );
+ p.setBrush(QPalette::Inactive, QPalette::Base, QBrush(Qt::transparent) );
+ p.setBrush(QPalette::Inactive, QPalette::AlternateBase, QBrush(Qt::transparent) );
+ p.setBrush(QPalette::Disabled, QPalette::Base, QBrush(Qt::transparent) );
+ p.setBrush(QPalette::Disabled, QPalette::AlternateBase, QBrush(Qt::transparent) );
+ list->setPalette(p);
+
+ QFrame *frame = qobject_cast<QFrame*>(list->parent());
+ if (frame) {
+ const Descriptor &desc = m_descriptors.value(DD_PopupDown);
+ const Pixmap &pix = m_pixmaps.value(DD_ItemSeparator);
+ frame->setContentsMargins(pix.margins.left(), desc.margins.top(),
+ pix.margins.right(), desc.margins.bottom());
+ frame->setAttribute(Qt::WA_TranslucentBackground);
+#ifdef Q_WS_WIN
+ // FramelessWindowHint is needed on windows to make
+ // WA_TranslucentBackground work properly
+ frame->setWindowFlags(widget->windowFlags() | Qt::FramelessWindowHint);
+#endif
+ }
+ }
+
+ if (qstrcmp(widget->metaObject()->className(),"QComboBoxPrivateContainer") == 0)
+ widget->installEventFilter(this);
+
+ if (QAbstractScrollArea *scrollArea = qobject_cast<QAbstractScrollArea*>(widget)) {
+ scrollArea->viewport()->setAutoFillBackground(false);
+ if (QAbstractItemView *view = qobject_cast<QAbstractItemView*>(scrollArea)) {
+ view->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
+ view->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
+ }
+ QScroller::grabGesture(scrollArea->viewport(), QScroller::LeftMouseButtonGesture);
+ }
+
+ if (qobject_cast<QScrollBar*>(widget))
+ widget->setAttribute(Qt::WA_OpaquePaintEvent, false);
+
+ QCommonStyle::polish(widget);
+}
+
+void QPixmapStyle::unpolish(QWidget *widget)
+{
+ if (qobject_cast<QSlider*>(widget) ||
+ qobject_cast<QComboBox*>(widget)) {
+ widget->removeEventFilter(this);
+ }
+
+ if (qstrcmp(widget->metaObject()->className(),"QComboBoxPrivateContainer") == 0)
+ widget->removeEventFilter(this);
+
+ if (QAbstractScrollArea *scrollArea = qobject_cast<QAbstractScrollArea*>(widget))
+ QScroller::ungrabGesture(scrollArea->viewport());
+
+ QCommonStyle::unpolish(widget);
+}
+
+void QPixmapStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ switch (element) {
+ case PE_FrameFocusRect: //disable focus rectangle
+ break;
+ case PE_PanelButtonBevel:
+ case PE_PanelButtonCommand:
+ drawPushButton(option, painter, widget);
+ break;
+ case PE_PanelLineEdit:
+ case PE_FrameLineEdit:
+ drawLineEdit(option, painter, widget);
+ break;
+ case PE_Frame:
+ case PE_FrameDefaultButton:
+ if (qobject_cast<const QTextEdit*>(widget))
+ drawTextEdit(option, painter, widget);
+ break;
+ case PE_IndicatorCheckBox:
+ drawCheckBox(option, painter, widget);
+ break;
+ case PE_IndicatorRadioButton:
+ drawRadioButton(option, painter, widget);
+ break;
+ case PE_PanelItemViewItem:
+ if (qobject_cast<const QListView*>(widget))
+ drawPanelItemViewItem(option, painter, widget);
+ else
+ QCommonStyle::drawPrimitive(element, option, painter, widget);
+ break;
+ default:
+ QCommonStyle::drawPrimitive(element, option, painter, widget);
+ }
+}
+
+void QPixmapStyle::drawControl(ControlElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ switch (element) {
+ case CE_ProgressBarGroove:
+ drawProgressBarBackground(option, painter, widget);
+ break;
+ case CE_ProgressBarLabel:
+ drawProgressBarLabel(option, painter, widget);
+ break;
+ case CE_ProgressBarContents:
+ drawProgressBarFill(option, painter, widget);
+ break;
+ case CE_ShapedFrame:
+ // NOTE: This will break if the private API of QComboBox changes drastically
+ if (qstrcmp(widget->metaObject()->className(),"QComboBoxPrivateContainer") == 0) {
+ const Descriptor &desc = m_descriptors.value(DD_PopupDown);
+ const Pixmap &pix = m_pixmaps.value(DD_ItemSeparator);
+ QRect rect = option->rect;
+ rect.adjust(-pix.margins.left(), -desc.margins.top(),
+ pix.margins.right(), desc.margins.bottom());
+ bool up = widget->property("_pixmapstyle_combobox_up").toBool();
+ drawCachedPixmap(up ? DD_PopupUp : DD_PopupDown, rect, painter);
+ }
+ else {
+ QCommonStyle::drawControl(element, option, painter, widget);
+ }
+ break;
+ default:
+ QCommonStyle::drawControl(element, option, painter, widget);
+ }
+}
+
+void QPixmapStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ switch (cc) {
+ case CC_Slider:
+ drawSlider(option, painter, widget);
+ break;
+ case CC_ComboBox:
+ drawComboBox(option, painter, widget);
+ break;
+ case CC_ScrollBar:
+ drawScrollBar(option, painter, widget);
+ break;
+ default:
+ QCommonStyle::drawComplexControl(cc, option, painter, widget);
+ }
+}
+
+QSize QPixmapStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
+ const QSize &contentsSize, const QWidget *widget) const
+{
+ switch (type) {
+ case CT_PushButton:
+ return pushButtonSizeFromContents(option, contentsSize, widget);
+ case CT_LineEdit:
+ return lineEditSizeFromContents(option, contentsSize, widget);
+ case CT_ProgressBar:
+ return progressBarSizeFromContents(option, contentsSize, widget);
+ case CT_Slider:
+ return sliderSizeFromContents(option, contentsSize, widget);
+ case CT_ComboBox:
+ return comboBoxSizeFromContents(option, contentsSize, widget);
+ case CT_ItemViewItem:
+ return itemViewSizeFromContents(option, contentsSize, widget);
+ default: ;
+ }
+
+ return QCommonStyle::sizeFromContents(type, option, contentsSize, widget);
+}
+
+QRect QPixmapStyle::subElementRect(SubElement element, const QStyleOption *option,
+ const QWidget *widget) const
+{
+ switch (element) {
+ case SE_LineEditContents:
+ {
+ QRect rect = QCommonStyle::subElementRect(element, option, widget);
+ const Descriptor &desc = m_descriptors.value(LE_Enabled);
+ rect.adjust(desc.margins.left(), desc.margins.top(),
+ -desc.margins.right(), -desc.margins.bottom());
+ rect = visualRect(option->direction, option->rect, rect);
+ return rect;
+ }
+ default: ;
+ }
+
+ return QCommonStyle::subElementRect(element, option, widget);
+}
+
+QRect QPixmapStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex *option,
+ SubControl sc, const QWidget *widget) const
+{
+ switch (cc) {
+ case CC_ComboBox:
+ return comboBoxSubControlRect(option, sc, widget);
+ case CC_ScrollBar:
+ return scrollBarSubControlRect(option, sc, widget);
+ default: ;
+ }
+
+ return QCommonStyle::subControlRect(cc, option, sc, widget);
+}
+
+int QPixmapStyle::pixelMetric(PixelMetric metric, const QStyleOption *option,
+ const QWidget *widget) const
+{
+ switch (metric) {
+ case PM_ButtonShiftHorizontal:
+ case PM_ButtonShiftVertical:
+ return 0;
+ case PM_DefaultFrameWidth:
+ if (qobject_cast<const QTextEdit*>(widget)) {
+ const Descriptor &desc = m_descriptors.value(LE_Enabled);
+ return qMax(qMax(desc.margins.left(), desc.margins.right()),
+ qMax(desc.margins.top(), desc.margins.bottom()));
+ }
+ return 0;
+ case PM_IndicatorWidth:
+ return m_pixmaps.value(CB_Enabled).pixmap.width();
+ case PM_IndicatorHeight:
+ return m_pixmaps.value(CB_Enabled).pixmap.height();
+ case PM_CheckBoxLabelSpacing:
+ {
+ const Pixmap &pix = m_pixmaps.value(CB_Enabled);
+ return qMax(qMax(pix.margins.left(), pix.margins.right()),
+ qMax(pix.margins.top(), pix.margins.bottom()));
+ }
+ case PM_ExclusiveIndicatorWidth:
+ return m_pixmaps.value(RB_Enabled).pixmap.width();
+ case PM_ExclusiveIndicatorHeight:
+ return m_pixmaps.value(RB_Enabled).pixmap.height();
+ case PM_RadioButtonLabelSpacing:
+ {
+ const Pixmap &pix = m_pixmaps.value(RB_Enabled);
+ return qMax(qMax(pix.margins.left(), pix.margins.right()),
+ qMax(pix.margins.top(), pix.margins.bottom()));
+ }
+ case PM_SliderThickness:
+ if (const QStyleOptionSlider *slider =
+ qstyleoption_cast<const QStyleOptionSlider*>(option)) {
+ const Descriptor desc = m_descriptors.value(slider->orientation == Qt::Horizontal
+ ? SG_HEnabled : SG_VEnabled);
+ return slider->orientation == Qt::Horizontal
+ ? desc.size.height() : desc.size.width();
+ }
+ break;
+ case PM_SliderControlThickness:
+ if (const QStyleOptionSlider *slider =
+ qstyleoption_cast<const QStyleOptionSlider*>(option)) {
+ const Pixmap pix = m_pixmaps.value(slider->orientation == Qt::Horizontal
+ ? SH_HEnabled : SH_VEnabled);
+ return slider->orientation == Qt::Horizontal
+ ? pix.pixmap.height() : pix.pixmap.width();
+ }
+ break;
+ case PM_SliderLength:
+ if (const QStyleOptionSlider *slider =
+ qstyleoption_cast<const QStyleOptionSlider*>(option)) {
+ const Pixmap pix = m_pixmaps.value(slider->orientation == Qt::Horizontal
+ ? SH_HEnabled : SH_VEnabled);
+ return slider->orientation == Qt::Horizontal
+ ? pix.pixmap.width() : pix.pixmap.height();
+ }
+ break;
+ case PM_ScrollBarExtent:
+ if (const QStyleOptionSlider *slider =
+ qstyleoption_cast<const QStyleOptionSlider*>(option)) {
+ const Descriptor desc = m_descriptors.value(slider->orientation == Qt::Horizontal
+ ? SB_Horizontal : SB_Vertical);
+ return slider->orientation == Qt::Horizontal
+ ? desc.size.height() : desc.size.width();
+ }
+ break;
+ case PM_ScrollBarSliderMin:
+ return 0;
+ default: ;
+ }
+
+ return QCommonStyle::pixelMetric(metric, option, widget);
+}
+
+int QPixmapStyle::styleHint(StyleHint hint, const QStyleOption *option,
+ const QWidget *widget, QStyleHintReturn *returnData) const
+{
+ switch (hint) {
+ case SH_EtchDisabledText:
+ return false;
+ case SH_ComboBox_Popup:
+ return false;
+ default: ;
+ }
+
+ return QCommonStyle::styleHint(hint, option, widget, returnData);
+}
+
+QStyle::SubControl QPixmapStyle::hitTestComplexControl(QStyle::ComplexControl control,
+ const QStyleOptionComplex *option,
+ const QPoint &pos,
+ const QWidget *widget) const
+{
+ const SubControl sc = QCommonStyle::hitTestComplexControl(control, option, pos, widget);
+ if (control == CC_ScrollBar) {
+ if (sc == SC_ScrollBarAddLine)
+ return SC_ScrollBarAddPage;
+ else if (sc == SC_ScrollBarSubLine)
+ return SC_ScrollBarSubPage;
+ }
+
+ return sc;
+}
+
+bool QPixmapStyle::eventFilter(QObject *watched, QEvent *event)
+{
+ if (QSlider *slider = qobject_cast<QSlider*>(watched)) {
+ switch (event->type()) {
+ case QEvent::MouseButtonPress:
+ case QEvent::MouseButtonRelease:
+ case QEvent::MouseMove:
+ slider->update();
+ break;
+ default: ;
+ }
+ }
+
+ if (QComboBox *comboBox = qobject_cast<QComboBox*>(watched)) {
+ switch (event->type()) {
+ case QEvent::MouseButtonPress:
+ event->ignore();
+ comboBox->setProperty("_pixmapstyle_combobox_pressed", true);
+ comboBox->repaint();
+ return true;
+ case QEvent::MouseButtonRelease:
+ comboBox->setProperty("_pixmapstyle_combobox_pressed", false);
+ comboBox->repaint();
+ if ( comboBox->view() ) {
+ if ( comboBox->view()->isVisible() || (!comboBox->isEnabled()))
+ comboBox->hidePopup();
+ else
+ comboBox->showPopup();
+ }
+ break;
+ default: ;
+ }
+ }
+
+ if (qstrcmp(watched->metaObject()->className(),"QComboBoxPrivateContainer") == 0) {
+ if (event->type() == QEvent::Show) {
+ QWidget *widget = qobject_cast<QWidget*>(watched);
+ int yPopup = widget->geometry().top();
+ int yCombo = widget->parentWidget()->mapToGlobal(QPoint(0, 0)).y();
+ QRect geom = widget->geometry();
+ const Descriptor &desc = m_descriptors.value(DD_ButtonEnabled);
+ const bool up = yPopup < yCombo;
+ geom.moveTop(geom.top() + (up ? desc.margins.top() : -desc.margins.bottom()));
+ widget->setGeometry(geom);
+ widget->setProperty("_pixmapstyle_combobox_up", up);
+ widget->parentWidget()->setProperty("_pixmapstyle_combobox_up", up);
+ }
+ }
+
+ return QCommonStyle::eventFilter(watched, event);
+}
+
+void QPixmapStyle::addDescriptor(QPixmapStyle::ControlDescriptor control, const QString &fileName,
+ QMargins margins, QTileRules tileRules)
+{
+ Descriptor desc;
+
+ QImage image(fileName);
+ if (image.isNull())
+ return;
+
+ desc.fileName = fileName;
+ desc.margins = margins;
+ desc.tileRules = tileRules;
+ desc.size = image.size();
+
+ m_descriptors[control] = desc;
+}
+
+void QPixmapStyle::copyDescriptor(QPixmapStyle::ControlDescriptor source,
+ QPixmapStyle::ControlDescriptor dest)
+{
+ m_descriptors[dest] = m_descriptors.value(source);
+}
+
+void QPixmapStyle::drawCachedPixmap(QPixmapStyle::ControlDescriptor control, const QRect &rect,
+ QPainter *p) const
+{
+ if (!m_descriptors.contains(control))
+ return;
+ const Descriptor &desc = m_descriptors.value(control);
+ const QPixmap pix = getCachedPixmap(control, desc, rect.size());
+ Q_ASSERT(!pix.isNull());
+ p->drawPixmap(rect, pix);
+}
+
+void QPixmapStyle::addPixmap(ControlPixmap control, const QString &fileName,
+ QMargins margins)
+{
+ Pixmap pix;
+
+ QPixmap image(fileName);
+ if (image.isNull())
+ return;
+
+ pix.pixmap = image;
+ pix.margins = margins;
+
+ m_pixmaps[control] = pix;
+}
+
+void QPixmapStyle::copyPixmap(QPixmapStyle::ControlPixmap source, QPixmapStyle::ControlPixmap dest)
+{
+ m_pixmaps[dest] = m_pixmaps.value(source);
+}
+
+void QPixmapStyle::drawPushButton(const QStyleOption *option,
+ QPainter *painter, const QWidget *) const
+{
+ const bool checked = option->state & State_On;
+ const bool pressed = option->state & State_Sunken;
+ const bool enabled = option->state & State_Enabled;
+
+ ControlDescriptor control = PB_Enabled;
+ if (enabled)
+ control = pressed ? PB_Pressed : (checked ? PB_Checked : PB_Enabled);
+ else
+ control = checked ? PB_PressedDisabled : PB_Disabled;
+ drawCachedPixmap(control, option->rect, painter);
+}
+
+void QPixmapStyle::drawLineEdit(const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ // Don't draw for the line edit inside a combobox
+ if (widget && qobject_cast<const QComboBox*>(widget->parentWidget()))
+ return;
+
+ const bool enabled = option->state & State_Enabled;
+ const bool focused = option->state & State_HasFocus;
+ ControlDescriptor control = enabled ? (focused ? LE_Focused : LE_Enabled) : LE_Disabled;
+ drawCachedPixmap(control, option->rect, painter);
+}
+
+void QPixmapStyle::drawTextEdit(const QStyleOption *option,
+ QPainter *painter, const QWidget *) const
+{
+ const bool enabled = option->state & State_Enabled;
+ const bool focused = option->state & State_HasFocus;
+ ControlDescriptor control = enabled ? (focused ? TE_Focused : TE_Enabled) : TE_Disabled;
+ drawCachedPixmap(control, option->rect, painter);
+}
+
+void QPixmapStyle::drawCheckBox(const QStyleOption *option,
+ QPainter *painter, const QWidget *) const
+{
+ const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton*>(option);
+
+ const bool down = button->state & State_Sunken;
+ const bool enabled = button->state & State_Enabled;
+ const bool on = button->state & State_On;
+
+ ControlPixmap control;
+ if (enabled)
+ control = on ? (down ? CB_PressedChecked : CB_Checked) : (down ? CB_Pressed : CB_Enabled);
+ else
+ control = on ? CB_DisabledChecked : CB_Disabled;
+ painter->drawPixmap(button->rect, m_pixmaps.value(control).pixmap);
+}
+
+void QPixmapStyle::drawRadioButton(const QStyleOption *option,
+ QPainter *painter, const QWidget *) const
+{
+ const QStyleOptionButton *button = qstyleoption_cast<const QStyleOptionButton*>(option);
+
+ const bool down = button->state & State_Sunken;
+ const bool enabled = button->state & State_Enabled;
+ const bool on = button->state & State_On;
+
+ ControlPixmap control;
+ if (enabled)
+ control = on ? RB_Checked : (down ? RB_Pressed : RB_Enabled);
+ else
+ control = on ? RB_DisabledChecked : RB_Disabled;
+ painter->drawPixmap(button->rect, m_pixmaps.value(control).pixmap);
+}
+
+void QPixmapStyle::drawPanelItemViewItem(const QStyleOption *option, QPainter *painter,
+ const QWidget *widget) const
+{
+ ControlPixmap cp = ID_Separator;
+ ControlDescriptor cd = ID_Selected;
+
+ if (widget && widget->property("_pixmap_combobox_list").toBool()) {
+ cp = DD_ItemSeparator;
+ cd = DD_ItemSelected;
+ }
+
+ QPixmap pix = m_pixmaps.value(cp).pixmap;
+ QRect rect = option->rect;
+ rect.setBottom(rect.top() + pix.height()-1);
+ painter->drawPixmap(rect, pix);
+ if (option->state & QStyle::State_Selected) {
+ rect = option->rect;
+ rect.setTop(rect.top() + pix.height());
+ drawCachedPixmap(cd, rect, painter);
+ }
+}
+
+void QPixmapStyle::drawProgressBarBackground(const QStyleOption *option,
+ QPainter *painter, const QWidget *) const
+{
+ bool vertical = false;
+ if (const QStyleOptionProgressBarV2 *pb2 =
+ qstyleoption_cast<const QStyleOptionProgressBarV2 *>(option)) {
+ vertical = (pb2->orientation == Qt::Vertical);
+ }
+ drawCachedPixmap(vertical ? PB_VBackground : PB_HBackground, option->rect, painter);
+}
+
+void QPixmapStyle::drawProgressBarLabel(const QStyleOption *option,
+ QPainter *painter, const QWidget *) const
+{
+ if (const QStyleOptionProgressBar *pb =
+ qstyleoption_cast<const QStyleOptionProgressBar *>(option)) {
+ bool vertical = false;
+ if (const QStyleOptionProgressBarV2 *pb2 =
+ qstyleoption_cast<const QStyleOptionProgressBarV2 *>(option)) {
+ vertical = (pb2->orientation == Qt::Vertical);
+ }
+ if (!vertical) {
+ QPalette::ColorRole textRole = QPalette::ButtonText;
+ proxy()->drawItemText(painter, pb->rect,
+ Qt::AlignCenter | Qt::TextSingleLine, pb->palette,
+ pb->state & State_Enabled, pb->text, textRole);
+ }
+ }
+}
+
+void QPixmapStyle::drawProgressBarFill(const QStyleOption *option,
+ QPainter *painter, const QWidget *) const
+{
+ const QStyleOptionProgressBar *pbar =
+ qstyleoption_cast<const QStyleOptionProgressBar*>(option);
+ bool vertical = false;
+ bool flip = pbar->direction == Qt::RightToLeft;
+ if (const QStyleOptionProgressBarV2 *pb2 =
+ qstyleoption_cast<const QStyleOptionProgressBarV2 *>(option)) {
+ vertical = (pb2->orientation == Qt::Vertical);
+ flip = flip ^ pb2->invertedAppearance;
+ }
+
+ if (pbar->progress == pbar->maximum) {
+ drawCachedPixmap(vertical ? PB_VComplete : PB_HComplete, option->rect, painter);
+
+ } else {
+ if (pbar->progress == 0)
+ return;
+ const int maximum = pbar->maximum;
+ const qreal ratio = qreal(vertical?option->rect.height():option->rect.width())/maximum;
+ const int progress = pbar->progress*ratio;
+
+ QRect optRect = option->rect;
+ if (vertical) {
+ if (flip)
+ optRect.setBottom(optRect.top()+progress-1);
+ else
+ optRect.setTop(optRect.bottom()-progress+1);
+ } else {
+ if (flip)
+ optRect.setLeft(optRect.right()-progress+1);
+ else
+ optRect.setRight(optRect.left()+progress-1);
+ }
+
+ drawCachedPixmap(vertical ? PB_VContent : PB_HContent, optRect, painter);
+ }
+}
+
+void QPixmapStyle::drawSlider(const QStyleOptionComplex *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ const QStyleOptionSlider *slider = qstyleoption_cast<const QStyleOptionSlider*>(option);
+ if (!slider)
+ return;
+
+ const bool enabled = option->state & State_Enabled;
+ const bool pressed = option->state & State_Sunken;
+ const Qt::Orientation orient = slider->orientation;
+
+ const QRect handle = proxy()->subControlRect(CC_Slider, option, SC_SliderHandle, widget);
+ if (option->subControls & SC_SliderGroove) {
+ QRect groove = proxy()->subControlRect(CC_Slider, option, SC_SliderGroove, widget);
+ if (groove.isValid()) {
+ // Draw the background
+ ControlDescriptor control;
+ if (orient == Qt::Horizontal)
+ control = enabled ? SG_HEnabled : SG_HDisabled;
+ else
+ control = enabled ? SG_VEnabled : SG_VDisabled;
+ drawCachedPixmap(control, groove, painter);
+
+ // Draw the active part
+ if (orient == Qt::Horizontal) {
+ control = enabled ? (pressed ? SG_HActivePressed : SG_HActiveEnabled )
+ : SG_HActiveDisabled;
+ } else {
+ control = enabled ? (pressed ? SG_VActivePressed : SG_VActiveEnabled )
+ : SG_VActiveDisabled;
+ }
+ const Descriptor &desc = m_descriptors.value(control);
+ const QPixmap pix = getCachedPixmap(control, desc, groove.size());
+ if (!pix.isNull()) {
+ groove.setRight(orient == Qt::Horizontal
+ ? handle.center().x() : handle.center().y());
+ painter->drawPixmap(groove, pix, groove);
+ }
+ }
+ }
+ if (option->subControls & SC_SliderHandle) {
+ if (handle.isValid()) {
+ ControlPixmap pix;
+ if (orient == Qt::Horizontal)
+ pix = enabled ? (pressed ? SH_HPressed : SH_HEnabled) : SH_HDisabled;
+ else
+ pix = enabled ? (pressed ? SH_VPressed : SH_VEnabled) : SH_VDisabled;
+ painter->drawPixmap(handle, m_pixmaps.value(pix).pixmap);
+ }
+ }
+}
+
+void QPixmapStyle::drawComboBox(const QStyleOptionComplex *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ const bool enabled = option->state & State_Enabled;
+ const bool pressed = widget->property("_pixmapstyle_combobox_pressed").toBool();
+ const bool opened = option->state & State_On;
+
+ ControlDescriptor control =
+ enabled ? (pressed ? DD_ButtonPressed : DD_ButtonEnabled) : DD_ButtonDisabled;
+ drawCachedPixmap(control, option->rect, painter);
+
+ ControlPixmap cp = enabled ? (opened ? DD_ArrowOpen
+ : (pressed ? DD_ArrowPressed : DD_ArrowEnabled))
+ : DD_ArrowDisabled;
+ Pixmap pix = m_pixmaps.value(cp);
+ QRect rect = comboBoxSubControlRect(option, SC_ComboBoxArrow, widget);
+ painter->drawPixmap(rect, pix.pixmap);
+}
+
+void QPixmapStyle::drawScrollBar(const QStyleOptionComplex *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ if (const QStyleOptionSlider *slider =
+ qstyleoption_cast<const QStyleOptionSlider*>(option)) {
+ // Do not draw the scrollbar
+ if (slider->minimum == slider->maximum)
+ return;
+
+ QRect rect = scrollBarSubControlRect(option, SC_ScrollBarSlider, widget);
+ ControlDescriptor control = slider->orientation == Qt::Horizontal
+ ? SB_Horizontal : SB_Vertical;
+ drawCachedPixmap(control, rect, painter);
+ }
+}
+
+QSize QPixmapStyle::pushButtonSizeFromContents(const QStyleOption *option,
+ const QSize &contentsSize,
+ const QWidget *widget) const
+{
+ const Descriptor &desc = m_descriptors.value(PB_Enabled);
+ const int bm = proxy()->pixelMetric(PM_ButtonMargin, option, widget);
+
+ int w = contentsSize.width();
+ int h = contentsSize.height();
+ w += desc.margins.left() + desc.margins.right() + bm;
+ h += desc.margins.top() + desc.margins.bottom() + bm;
+
+ return computeSize(desc, w, h);
+}
+
+QSize QPixmapStyle::lineEditSizeFromContents(const QStyleOption *,
+ const QSize &contentsSize, const QWidget *) const
+{
+ const Descriptor &desc = m_descriptors.value(LE_Enabled);
+ const int border = 2 * proxy()->pixelMetric(PM_DefaultFrameWidth);
+
+ int w = contentsSize.width() + border + desc.margins.left() + desc.margins.right();
+ int h = contentsSize.height() + border + desc.margins.top() + desc.margins.bottom();
+
+ return computeSize(desc, w, h);
+}
+
+QSize QPixmapStyle::progressBarSizeFromContents(const QStyleOption *option,
+ const QSize &contentsSize,
+ const QWidget *widget) const
+{
+ bool vertical = false;
+ if (const QStyleOptionProgressBarV2 *pb2 =
+ qstyleoption_cast<const QStyleOptionProgressBarV2 *>(option)) {
+ vertical = (pb2->orientation == Qt::Vertical);
+ }
+ QSize result = QCommonStyle::sizeFromContents(CT_Slider, option, contentsSize, widget);
+ if (vertical) {
+ const Descriptor desc = m_descriptors.value(PB_VBackground);
+ return QSize(desc.size.height(), result.height());
+ } else {
+ const Descriptor desc = m_descriptors.value(PB_HBackground);
+ return QSize(result.width(), desc.size.height());
+ }
+}
+
+QSize QPixmapStyle::sliderSizeFromContents(const QStyleOption *option,
+ const QSize &contentsSize,
+ const QWidget *widget) const
+{
+ const QStyleOptionSlider *slider = qstyleoption_cast<const QStyleOptionSlider*>(option);
+ if (!slider)
+ return QSize();
+
+ QSize result = QCommonStyle::sizeFromContents(CT_Slider, option, contentsSize, widget);
+
+ const Descriptor desc = m_descriptors.value(slider->orientation == Qt::Horizontal
+ ? SG_HEnabled : SG_VEnabled);
+
+ if (slider->orientation == Qt::Horizontal)
+ return QSize(result.width(), desc.size.height());
+ else
+ return QSize(desc.size.width(), result.height());
+}
+
+QSize QPixmapStyle::comboBoxSizeFromContents(const QStyleOption *option,
+ const QSize &contentsSize,
+ const QWidget *widget) const
+{
+ const Descriptor &desc = m_descriptors.value(DD_ButtonEnabled);
+
+ QSize result = QCommonStyle::sizeFromContents(CT_ComboBox, option, contentsSize, widget);
+ return computeSize(desc, result.width(), result.height());
+}
+
+QSize QPixmapStyle::itemViewSizeFromContents(const QStyleOption *option,
+ const QSize &contentsSize,
+ const QWidget *widget) const
+{
+ QSize size = QCommonStyle::sizeFromContents(CT_ItemViewItem, option, contentsSize, widget);
+
+ ControlPixmap cp = ID_Separator;
+ ControlDescriptor cd = ID_Selected;
+ if (widget && widget->property("_pixmap_combobox_list").toBool()) {
+ cp = DD_ItemSeparator;
+ cd = DD_ItemSelected;
+ }
+
+ const Descriptor &desc = m_descriptors.value(cd);
+ const Pixmap &pix = m_pixmaps.value(cp);
+ size.setHeight(qMax(size.height(),
+ desc.size.height() + pix.pixmap.height()));
+ return size;
+}
+
+QRect QPixmapStyle::comboBoxSubControlRect(const QStyleOptionComplex *option,
+ QStyle::SubControl sc, const QWidget *) const
+{
+ QRect r = option->rect; // Default size
+ const Pixmap &pix = m_pixmaps.value(DD_ArrowEnabled);
+ const Descriptor &desc = m_descriptors.value(DD_ButtonEnabled);
+
+ switch (sc) {
+ case SC_ComboBoxArrow:
+ r.setRect(r.right() - pix.margins.right() - pix.pixmap.width(),
+ r.top() + pix.margins.top(),
+ pix.pixmap.width(), pix.pixmap.height());
+ break;
+ case SC_ComboBoxEditField:
+ r.adjust(desc.margins.left(), desc.margins.right(),
+ -desc.margins.right(), -desc.margins.bottom());
+ r.setRight(r.right() - pix.margins.right() - pix.margins.left() - pix.pixmap.width());
+ break;
+ default:
+ break;
+ }
+
+ r = visualRect(option->direction, option->rect, r);
+ return r;
+}
+
+QRect QPixmapStyle::scrollBarSubControlRect(const QStyleOptionComplex *option,
+ QStyle::SubControl sc, const QWidget *) const
+{
+ if (const QStyleOptionSlider *slider =
+ qstyleoption_cast<const QStyleOptionSlider*>(option)) {
+ int length = (slider->orientation == Qt::Horizontal)
+ ? slider->rect.width() : slider->rect.height();
+ int page = length * slider->pageStep
+ / (slider->maximum - slider->minimum + slider->pageStep);
+ int pos = length * slider->sliderValue
+ / (slider->maximum - slider->minimum + slider->pageStep);
+ pos = qMin(pos+page, length) - page;
+
+ QRect rect = slider->rect;
+
+ if (slider->orientation == Qt::Horizontal) {
+ switch (sc) {
+ case SC_ScrollBarAddPage:
+ rect.setLeft(pos+page);
+ return rect;
+ case SC_ScrollBarSubPage:
+ rect.setRight(pos);
+ return rect;
+ case SC_ScrollBarGroove:
+ return rect;
+ case SC_ScrollBarSlider:
+ rect.setLeft(pos);
+ rect.setRight(pos+page);
+ return rect;
+ default: ;
+ }
+ } else {
+ switch (sc) {
+ case SC_ScrollBarAddPage:
+ rect.setTop(pos+page);
+ return rect;
+ case SC_ScrollBarSubPage:
+ rect.setBottom(pos);
+ return rect;
+ case SC_ScrollBarGroove:
+ return rect;
+ case SC_ScrollBarSlider:
+ rect.setTop(pos);
+ rect.setBottom(pos+page);
+ return rect;
+ default: ;
+ }
+ }
+ }
+ return QRect();
+}
+
+static QPixmap scale(int w, int h, const QPixmap &pixmap, const QPixmapStyle::Descriptor &desc)
+{
+ QPixmap result(w, h);
+ {
+ const QColor transparent(0, 0, 0, 0);
+ result.fill( transparent );
+ QPainter p( &result );
+ const QMargins margins = desc.margins;
+ qDrawBorderPixmap(&p, result.rect(), margins, pixmap,
+ pixmap.rect(), margins, desc.tileRules);
+ }
+ return result;
+}
+
+QPixmap QPixmapStyle::getCachedPixmap(ControlDescriptor control, const Descriptor &desc,
+ const QSize &size) const
+{
+ const QString sizeString = QString::number(size.width()) % QLatin1Char('*')
+ % QString::number(size.height());
+ const QString key = QLatin1String(metaObject()->className()) % QString::number(control)
+ % QLatin1Char('@') % sizeString;
+
+ QPixmap result;
+
+ if (!QPixmapCache::find( key, &result)) {
+ QPixmap source(desc.fileName);
+ result = scale(size.width(), size.height(), source, desc);
+ QPixmapCache::insert(key, result);
+ }
+ return result;
+}
+
+QSize QPixmapStyle::computeSize(const QPixmapStyle::Descriptor &desc, int width, int height) const
+{
+ if (desc.tileRules.horizontal != Qt::RepeatTile)
+ width = qMax(width, desc.size.width());
+ if (desc.tileRules.vertical != Qt::RepeatTile)
+ height = qMax(height, desc.size.height());
+ return QSize(width, height);
+}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/styles/bb10style/qpixmapstyle.h b/src/plugins/styles/bb10style/qpixmapstyle.h
new file mode 100644
index 0000000000..d4a223aab8
--- /dev/null
+++ b/src/plugins/styles/bb10style/qpixmapstyle.h
@@ -0,0 +1,236 @@
+/***************************************************************************
+**
+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPIXMAPSTYLE_H
+#define QPIXMAPSTYLE_H
+
+#include <QCommonStyle>
+#include <QString>
+#include <QPixmap>
+#include <QMargins>
+#include <QTileRules>
+#include <QHash>
+#include <QPainter>
+
+QT_BEGIN_NAMESPACE
+
+class QPixmapStyle : public QCommonStyle
+{
+ Q_OBJECT
+
+public:
+ struct Descriptor {
+ QString fileName;
+ QSize size;
+ QMargins margins;
+ QTileRules tileRules;
+ };
+
+ enum ControlDescriptor {
+ BG_Background=0,
+ LE_Enabled, // QLineEdit
+ LE_Disabled,
+ LE_Focused,
+ PB_Enabled, // QPushButton
+ PB_Pressed,
+ PB_PressedDisabled,
+ PB_Checked,
+ PB_Disabled,
+ TE_Enabled, // QTextEdit
+ TE_Disabled,
+ TE_Focused,
+ PB_HBackground, // Horizontal QProgressBar
+ PB_HContent,
+ PB_HComplete,
+ PB_VBackground, // Vertical QProgressBar
+ PB_VContent,
+ PB_VComplete,
+ SG_HEnabled, // Horizontal QSlider groove
+ SG_HDisabled,
+ SG_HActiveEnabled,
+ SG_HActivePressed,
+ SG_HActiveDisabled,
+ SG_VEnabled, // Vertical QSlider groove
+ SG_VDisabled,
+ SG_VActiveEnabled,
+ SG_VActivePressed,
+ SG_VActiveDisabled,
+ DD_ButtonEnabled, // QComboBox (DropDown)
+ DD_ButtonDisabled,
+ DD_ButtonPressed,
+ DD_PopupDown,
+ DD_PopupUp,
+ DD_ItemSelected,
+ ID_Selected, // QStyledItemDelegate
+ SB_Horizontal, // QScrollBar
+ SB_Vertical
+ };
+
+ struct Pixmap {
+ QPixmap pixmap;
+ QMargins margins;
+ };
+ enum ControlPixmap {
+ CB_Enabled, // QCheckBox
+ CB_Checked,
+ CB_Pressed,
+ CB_PressedChecked,
+ CB_Disabled,
+ CB_DisabledChecked,
+ RB_Enabled, // QRadioButton
+ RB_Checked,
+ RB_Pressed,
+ RB_Disabled,
+ RB_DisabledChecked,
+ SH_HEnabled, // Horizontal QSlider handle
+ SH_HDisabled,
+ SH_HPressed,
+ SH_VEnabled, // Vertical QSlider handle
+ SH_VDisabled,
+ SH_VPressed,
+ DD_ArrowEnabled, // QComboBox (DropDown) arrow
+ DD_ArrowDisabled,
+ DD_ArrowPressed,
+ DD_ArrowOpen,
+ DD_ItemSeparator,
+ ID_Separator // QStyledItemDelegate separator
+ };
+
+public:
+ QPixmapStyle();
+ ~QPixmapStyle();
+
+ void polish(QApplication *application);
+ void polish(QPalette &palette);
+ void polish(QWidget *widget);
+ void unpolish(QWidget *widget);
+
+ void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget = 0) const;
+ void drawControl(ControlElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget = 0) const;
+ void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *option,
+ QPainter *painter, const QWidget *widget=0) const;
+
+ QSize sizeFromContents(ContentsType type, const QStyleOption *option,
+ const QSize &contentsSize, const QWidget *widget = 0) const;
+ QRect subElementRect(SubElement element, const QStyleOption *option,
+ const QWidget *widget = 0) const;
+ QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *option,
+ SubControl sc, const QWidget *widget = 0) const;
+
+ int pixelMetric(PixelMetric metric, const QStyleOption *option = 0,
+ const QWidget *widget = 0) const;
+ int styleHint(StyleHint hint, const QStyleOption *option,
+ const QWidget *widget, QStyleHintReturn *returnData) const;
+ SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option,
+ const QPoint &pos, const QWidget *widget) const;
+
+ bool eventFilter(QObject *watched, QEvent *event);
+
+protected:
+ void addDescriptor(ControlDescriptor control, const QString &fileName,
+ QMargins margins = QMargins(),
+ QTileRules tileRules = QTileRules(Qt::RepeatTile, Qt::RepeatTile));
+ void copyDescriptor(ControlDescriptor source, ControlDescriptor dest);
+ void drawCachedPixmap(ControlDescriptor control, const QRect &rect, QPainter *p) const;
+
+ void addPixmap(ControlPixmap control, const QString &fileName,
+ QMargins margins = QMargins());
+ void copyPixmap(ControlPixmap source, ControlPixmap dest);
+
+ void drawPushButton(const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const;
+ void drawLineEdit(const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const;
+ void drawTextEdit(const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const;
+ void drawCheckBox(const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const;
+ void drawRadioButton(const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const;
+ void drawPanelItemViewItem(const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const;
+ void drawProgressBarBackground(const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const;
+ void drawProgressBarLabel(const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const;
+ void drawProgressBarFill(const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const;
+ void drawSlider(const QStyleOptionComplex *option,
+ QPainter *painter, const QWidget *widget) const;
+ void drawComboBox(const QStyleOptionComplex *option,
+ QPainter *painter, const QWidget *widget) const;
+ void drawScrollBar(const QStyleOptionComplex *option,
+ QPainter *painter, const QWidget *widget) const;
+
+ QSize pushButtonSizeFromContents(const QStyleOption *option,
+ const QSize &contentsSize, const QWidget *widget) const;
+ QSize lineEditSizeFromContents(const QStyleOption *option,
+ const QSize &contentsSize, const QWidget *widget) const;
+ QSize progressBarSizeFromContents(const QStyleOption *option,
+ const QSize &contentsSize, const QWidget *widget) const;
+ QSize sliderSizeFromContents(const QStyleOption *option,
+ const QSize &contentsSize, const QWidget *widget) const;
+ QSize comboBoxSizeFromContents(const QStyleOption *option,
+ const QSize &contentsSize, const QWidget *widget) const;
+ QSize itemViewSizeFromContents(const QStyleOption *option,
+ const QSize &contentsSize, const QWidget *widget) const;
+
+ QRect comboBoxSubControlRect(const QStyleOptionComplex *option,
+ SubControl sc, const QWidget *widget) const;
+ QRect scrollBarSubControlRect(const QStyleOptionComplex *option,
+ SubControl sc, const QWidget *widget) const;
+
+private:
+ QPixmap getCachedPixmap(ControlDescriptor control,
+ const Descriptor &desc, const QSize &size) const;
+
+ QSize computeSize(const Descriptor &desc, int width, int height) const;
+
+private:
+ QHash<ControlDescriptor, Descriptor> m_descriptors;
+ QHash<ControlPixmap, Pixmap> m_pixmaps;
+};
+
+QT_END_NAMESPACE
+
+#endif // QPIXMAPSTYLE_H
diff --git a/src/plugins/styles/styles.pro b/src/plugins/styles/styles.pro
new file mode 100644
index 0000000000..88b3f90e0c
--- /dev/null
+++ b/src/plugins/styles/styles.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+
+blackberry:SUBDIRS += bb10style
diff --git a/src/printsupport/kernel/qcups.cpp b/src/printsupport/kernel/qcups.cpp
index 1a27fbd07c..b8f75c3cb7 100644
--- a/src/printsupport/kernel/qcups.cpp
+++ b/src/printsupport/kernel/qcups.cpp
@@ -168,8 +168,11 @@ void QCUPSSupport::setPagesPerSheetLayout(QPrinter *printer, const PagesPerShee
const PagesPerSheetLayout pagesPerSheetLayout)
{
QStringList cupsOptions = cupsOptionsList(printer);
- static const char *pagesPerSheetData[] = { "1", "2", "4", "6", "9", "16", 0 };
- static const char *pageLayoutData[] = {"lrtb", "lrbt", "rlbt", "rltb", "btlr", "btrl", "tblr", "tbrl", 0};
+ // WARNING: the following trick (with a [2]-extent) only works as
+ // WARNING: long as there's only one two-digit number in the list
+ // WARNING: and it is the last one (before the "\0")!
+ static const char pagesPerSheetData[][2] = { "1", "2", "4", "6", "9", {'1', '6'}, "\0" };
+ static const char pageLayoutData[][5] = {"lrtb", "lrbt", "rlbt", "rltb", "btlr", "btrl", "tblr", "tbrl"};
setCupsOption(cupsOptions, QStringLiteral("number-up"), QLatin1String(pagesPerSheetData[pagesPerSheet]));
setCupsOption(cupsOptions, QStringLiteral("number-up-layout"), QLatin1String(pageLayoutData[pagesPerSheetLayout]));
setCupsOptions(printer, cupsOptions);
diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp
index f95fb8868e..d9b31c7702 100644
--- a/src/sql/drivers/odbc/qsql_odbc.cpp
+++ b/src/sql/drivers/odbc/qsql_odbc.cpp
@@ -222,12 +222,7 @@ static QString qWarnODBCHandle(int handleType, SQLHANDLE handle, int *nativeCode
if (r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) {
if (nativeCode)
*nativeCode = nativeCode_;
- QString tmpstore;
-#ifdef UNICODE
- tmpstore = fromSQLTCHAR(description_, msgLen);
-#else
- tmpstore = QString::fromUtf8((const char*)description_.constData(), msgLen);
-#endif
+ const QString tmpstore = fromSQLTCHAR(description_, msgLen);
if(result != tmpstore) {
if(!result.isEmpty())
result += QLatin1Char(' ');
@@ -241,17 +236,39 @@ static QString qWarnODBCHandle(int handleType, SQLHANDLE handle, int *nativeCode
return result;
}
+static QString qODBCWarn(const SQLHANDLE hStmt, const SQLHANDLE envHandle = 0,
+ const SQLHANDLE pDbC = 0, int *nativeCode = 0)
+{
+ QString result;
+ if (envHandle)
+ result += qWarnODBCHandle(SQL_HANDLE_ENV, envHandle, nativeCode);
+ if (pDbC) {
+ const QString dMessage = qWarnODBCHandle(SQL_HANDLE_DBC, pDbC, nativeCode);
+ if (!dMessage.isEmpty()) {
+ if (!result.isEmpty())
+ result += QLatin1Char(' ');
+ result += dMessage;
+ }
+ }
+ if (hStmt) {
+ const QString hMessage = qWarnODBCHandle(SQL_HANDLE_STMT, hStmt, nativeCode);
+ if (!hMessage.isEmpty()) {
+ if (!result.isEmpty())
+ result += QLatin1Char(' ');
+ result += hMessage;
+ }
+ }
+ return result;
+}
+
static QString qODBCWarn(const QODBCPrivate* odbc, int *nativeCode = 0)
{
- return QString(qWarnODBCHandle(SQL_HANDLE_ENV, odbc->dpEnv()) + QLatin1Char(' ')
- + qWarnODBCHandle(SQL_HANDLE_DBC, odbc->dpDbc()) + QLatin1Char(' ')
- + qWarnODBCHandle(SQL_HANDLE_STMT, odbc->hStmt, nativeCode)).simplified();
+ return qODBCWarn(odbc->hStmt, odbc->dpEnv(), odbc->dpDbc(), nativeCode);
}
static QString qODBCWarn(const QODBCDriverPrivate* odbc, int *nativeCode = 0)
{
- return QString(qWarnODBCHandle(SQL_HANDLE_ENV, odbc->hEnv) + QLatin1Char(' ')
- + qWarnODBCHandle(SQL_HANDLE_DBC, odbc->hDbc, nativeCode)).simplified();
+ return qODBCWarn(0, odbc->hEnv, odbc->hDbc, nativeCode);
}
static void qSqlWarning(const QString& message, const QODBCPrivate* odbc)
@@ -264,6 +281,11 @@ static void qSqlWarning(const QString &message, const QODBCDriverPrivate *odbc)
qWarning() << message << "\tError:" << qODBCWarn(odbc);
}
+static void qSqlWarning(const QString &message, const SQLHANDLE hStmt)
+{
+ qWarning() << message << "\tError:" << qODBCWarn(hStmt);
+}
+
static QSqlError qMakeError(const QString& err, QSqlError::ErrorType type, const QODBCPrivate* p)
{
int nativeCode = -1;
@@ -279,10 +301,8 @@ static QSqlError qMakeError(const QString& err, QSqlError::ErrorType type,
return QSqlError(QLatin1String("QODBC3: ") + err, qODBCWarn(p), type, nativeCode);
}
-template<class T>
-static QVariant::Type qDecodeODBCType(SQLSMALLINT sqltype, const T* p, bool isSigned = true)
+static QVariant::Type qDecodeODBCType(SQLSMALLINT sqltype, bool isSigned = true)
{
- Q_UNUSED(p);
QVariant::Type type = QVariant::Invalid;
switch (sqltype) {
case SQL_DECIMAL:
@@ -362,7 +382,7 @@ static QString qGetStringData(SQLHANDLE hStmt, int column, int colSize, bool uni
0,
&lengthIndicator);
if ((r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) && lengthIndicator > 0)
- colSize = lengthIndicator/sizeof(SQLTCHAR) + 1;
+ colSize = int(lengthIndicator / sizeof(SQLTCHAR) + 1);
QVarLengthArray<SQLTCHAR> buf(colSize);
memset(buf.data(), 0, colSize*sizeof(SQLTCHAR));
while (true) {
@@ -382,7 +402,7 @@ static QString qGetStringData(SQLHANDLE hStmt, int column, int colSize, bool uni
// contain the number of bytes returned - it contains the
// total number of bytes that CAN be fetched
// colSize-1: remove 0 termination when there is more data to fetch
- int rSize = (r == SQL_SUCCESS_WITH_INFO) ? colSize : lengthIndicator/sizeof(SQLTCHAR);
+ int rSize = (r == SQL_SUCCESS_WITH_INFO) ? colSize : int(lengthIndicator / sizeof(SQLTCHAR));
fieldVal += fromSQLTCHAR(buf, rSize);
if (lengthIndicator < SQLLEN(colSize*sizeof(SQLTCHAR))) {
// workaround for Drivermanagers that don't return SQL_NO_DATA
@@ -559,6 +579,21 @@ static QVariant qGetBigIntData(SQLHANDLE hStmt, int column, bool isSigned = true
return quint64(lngbuf);
}
+static bool isAutoValue(const SQLHANDLE hStmt, int column)
+{
+ SQLLEN nNumericAttribute = 0; // Check for auto-increment
+ const SQLRETURN r = ::SQLColAttribute(hStmt, column + 1, SQL_DESC_AUTO_UNIQUE_VALUE,
+ 0, 0, 0, &nNumericAttribute);
+ if (r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO) {
+ qSqlWarning(QStringLiteral("qMakeField: Unable to get autovalue attribute for column ")
+ + QString::number(column), hStmt);
+ return false;
+ }
+ return nNumericAttribute != SQL_FALSE;
+}
+
+static QSqlField qMakeFieldInfo(const SQLHANDLE hStmt, int i, QString *errorMessage);
+
// creates a QSqlField from a valid hStmt generated
// by SQLColumns. The hStmt has to point to a valid position.
static QSqlField qMakeFieldInfo(const SQLHANDLE hStmt, const QODBCDriverPrivate* p)
@@ -583,6 +618,15 @@ static QSqlField qMakeFieldInfo(const SQLHANDLE hStmt, const QODBCDriverPrivate*
static QSqlField qMakeFieldInfo(const QODBCPrivate* p, int i )
{
+ QString errorMessage;
+ const QSqlField result = qMakeFieldInfo(p->hStmt, i, &errorMessage);
+ if (!errorMessage.isEmpty())
+ qSqlWarning(errorMessage, p);
+ return result;
+}
+
+static QSqlField qMakeFieldInfo(const SQLHANDLE hStmt, int i, QString *errorMessage)
+{
SQLSMALLINT colNameLen;
SQLSMALLINT colType;
SQLULEN colSize;
@@ -590,7 +634,8 @@ static QSqlField qMakeFieldInfo(const QODBCPrivate* p, int i )
SQLSMALLINT nullable;
SQLRETURN r = SQL_ERROR;
QVarLengthArray<SQLTCHAR> colName(COLNAMESIZE);
- r = SQLDescribeCol(p->hStmt,
+ errorMessage->clear();
+ r = SQLDescribeCol(hStmt,
i+1,
colName.data(),
(SQLSMALLINT)COLNAMESIZE,
@@ -601,12 +646,12 @@ static QSqlField qMakeFieldInfo(const QODBCPrivate* p, int i )
&nullable);
if (r != SQL_SUCCESS) {
- qSqlWarning(QString::fromLatin1("qMakeField: Unable to describe column %1").arg(i), p);
+ *errorMessage = QStringLiteral("qMakeField: Unable to describe column ") + QString::number(i);
return QSqlField();
}
SQLLEN unsignedFlag = SQL_FALSE;
- r = SQLColAttribute (p->hStmt,
+ r = SQLColAttribute (hStmt,
i + 1,
SQL_DESC_UNSIGNED,
0,
@@ -614,16 +659,13 @@ static QSqlField qMakeFieldInfo(const QODBCPrivate* p, int i )
0,
&unsignedFlag);
if (r != SQL_SUCCESS) {
- qSqlWarning(QString::fromLatin1("qMakeField: Unable to get column attributes for column %1").arg(i), p);
+ qSqlWarning(QStringLiteral("qMakeField: Unable to get column attributes for column ")
+ + QString::number(i), hStmt);
}
-#ifdef UNICODE
- QString qColName(fromSQLTCHAR(colName, colNameLen));
-#else
- QString qColName = QString::fromUtf8((const char *)colName.constData());
-#endif
+ const QString qColName(fromSQLTCHAR(colName, colNameLen));
// nullable can be SQL_NO_NULLS, SQL_NULLABLE or SQL_NULLABLE_UNKNOWN
- QVariant::Type type = qDecodeODBCType(colType, p, unsignedFlag == SQL_FALSE);
+ QVariant::Type type = qDecodeODBCType(colType, unsignedFlag == SQL_FALSE);
QSqlField f(qColName, type);
f.setSqlType(colType);
f.setLength(colSize == 0 ? -1 : int(colSize));
@@ -633,6 +675,7 @@ static QSqlField qMakeFieldInfo(const QODBCPrivate* p, int i )
else if (nullable == SQL_NULLABLE)
f.setRequired(false);
// else we don't know
+ f.setAutoValue(isAutoValue(hStmt, i));
return f;
}
@@ -654,11 +697,7 @@ QChar QODBCDriverPrivate::quoteChar()
sizeof(driverResponse),
&length);
if (r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO)
-#ifdef UNICODE
quote = QChar(driverResponse[0]);
-#else
- quote = QLatin1Char(driverResponse[0]);
-#endif
else
quote = QLatin1Char('"');
isQuoteInitialized = true;
@@ -703,11 +742,7 @@ bool QODBCDriverPrivate::setConnectionOptions(const QString& connOpts)
} else if (opt.toUpper() == QLatin1String("SQL_ATTR_CURRENT_CATALOG")) {
val.utf16(); // 0 terminate
r = SQLSetConnectAttr(hDbc, SQL_ATTR_CURRENT_CATALOG,
-#ifdef UNICODE
toSQLTCHAR(val).data(),
-#else
- (SQLCHAR*) val.toUtf8().data(),
-#endif
val.length()*sizeof(SQLTCHAR));
} else if (opt.toUpper() == QLatin1String("SQL_ATTR_METADATA_ID")) {
if (val.toUpper() == QLatin1String("SQL_TRUE")) {
@@ -725,11 +760,7 @@ bool QODBCDriverPrivate::setConnectionOptions(const QString& connOpts)
} else if (opt.toUpper() == QLatin1String("SQL_ATTR_TRACEFILE")) {
val.utf16(); // 0 terminate
r = SQLSetConnectAttr(hDbc, SQL_ATTR_TRACEFILE,
-#ifdef UNICODE
toSQLTCHAR(val).data(),
-#else
- (SQLCHAR*) val.toUtf8().data(),
-#endif
val.length()*sizeof(SQLTCHAR));
} else if (opt.toUpper() == QLatin1String("SQL_ATTR_TRACE")) {
if (val.toUpper() == QLatin1String("SQL_OPT_TRACE_OFF")) {
@@ -934,16 +965,9 @@ bool QODBCResult::reset (const QString& query)
return false;
}
-#ifdef UNICODE
r = SQLExecDirect(d->hStmt,
toSQLTCHAR(query).data(),
(SQLINTEGER) query.length());
-#else
- QByteArray query8 = query.toUtf8();
- r = SQLExecDirect(d->hStmt,
- (SQLCHAR*) query8.data(),
- (SQLINTEGER) query8.length());
-#endif
if (r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO && r!= SQL_NO_DATA) {
setLastError(qMakeError(QCoreApplication::translate("QODBCResult",
"Unable to execute statement"), QSqlError::StatementError, d));
@@ -1280,16 +1304,9 @@ bool QODBCResult::prepare(const QString& query)
return false;
}
-#ifdef UNICODE
r = SQLPrepare(d->hStmt,
toSQLTCHAR(query).data(),
(SQLINTEGER) query.length());
-#else
- QByteArray query8 = query.toUtf8();
- r = SQLPrepare(d->hStmt,
- (SQLCHAR*) query8.data(),
- (SQLINTEGER) query8.length());
-#endif
if (r != SQL_SUCCESS) {
setLastError(qMakeError(QCoreApplication::translate("QODBCResult",
@@ -1879,11 +1896,7 @@ bool QODBCDriver::open(const QString & db,
memset(connOut.data(), 0, connOut.size() * sizeof(SQLTCHAR));
r = SQLDriverConnect(d->hDbc,
NULL,
-#ifdef UNICODE
toSQLTCHAR(connQStr).data(),
-#else
- (SQLCHAR*)connQStr.toUtf8().data(),
-#endif
(SQLSMALLINT)connQStr.length(),
connOut.data(),
1024,
@@ -2087,15 +2100,10 @@ void QODBCDriverPrivate::checkDBMS()
r = SQLGetInfo(hDbc,
SQL_DBMS_NAME,
serverString.data(),
- serverString.size() * sizeof(SQLTCHAR),
+ SQLSMALLINT(serverString.size() * sizeof(SQLTCHAR)),
&t);
if (r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) {
- QString serverType;
-#ifdef UNICODE
- serverType = fromSQLTCHAR(serverString, t/sizeof(SQLTCHAR));
-#else
- serverType = QString::fromUtf8((const char *)serverString.constData(), t);
-#endif
+ const QString serverType = fromSQLTCHAR(serverString, t / sizeof(SQLTCHAR));
if (serverType.contains(QLatin1String("PostgreSQL"), Qt::CaseInsensitive))
dbmsType = QSqlDriver::PostgreSQL;
else if (serverType.contains(QLatin1String("Oracle"), Qt::CaseInsensitive))
@@ -2110,15 +2118,10 @@ void QODBCDriverPrivate::checkDBMS()
r = SQLGetInfo(hDbc,
SQL_DRIVER_NAME,
serverString.data(),
- serverString.size() * sizeof(SQLTCHAR),
+ SQLSMALLINT(serverString.size() * sizeof(SQLTCHAR)),
&t);
if (r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) {
- QString serverType;
-#ifdef UNICODE
- serverType = fromSQLTCHAR(serverString, t/sizeof(SQLTCHAR));
-#else
- serverType = QString::fromUtf8((const char *)serverString.constData(), t);
-#endif
+ const QString serverType = fromSQLTCHAR(serverString, t / sizeof(SQLTCHAR));
isFreeTDSDriver = serverType.contains(QLatin1String("tdsodbc"), Qt::CaseInsensitive);
unicode = unicode && !isFreeTDSDriver;
}
@@ -2141,14 +2144,10 @@ void QODBCDriverPrivate::checkHasMultiResults()
SQLRETURN r = SQLGetInfo(hDbc,
SQL_MULT_RESULT_SETS,
driverResponse.data(),
- driverResponse.size() * sizeof(SQLTCHAR),
+ SQLSMALLINT(driverResponse.size() * sizeof(SQLTCHAR)),
&length);
if (r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO)
-#ifdef UNICODE
hasMultiResultSets = fromSQLTCHAR(driverResponse, length/sizeof(SQLTCHAR)).startsWith(QLatin1Char('Y'));
-#else
- hasMultiResultSets = QString::fromUtf8((const char *)driverResponse.constData(), length).startsWith(QLatin1Char('Y'));
-#endif
}
void QODBCDriverPrivate::checkDateTimePrecision()
@@ -2289,11 +2288,7 @@ QStringList QODBCDriver::tables(QSql::TableType type) const
0,
NULL,
0,
-#ifdef UNICODE
toSQLTCHAR(joinedTableTypeString).data(),
-#else
- (SQLCHAR*)joinedTableTypeString.toUtf8().data(),
-#endif
joinedTableTypeString.length() /* characters, not bytes */);
if (r != SQL_SUCCESS)
@@ -2369,23 +2364,11 @@ QSqlIndex QODBCDriver::primaryIndex(const QString& tablename) const
(SQLPOINTER)SQL_CURSOR_FORWARD_ONLY,
SQL_IS_UINTEGER);
r = SQLPrimaryKeys(hStmt,
-#ifdef UNICODE
catalog.length() == 0 ? NULL : toSQLTCHAR(catalog).data(),
-#else
- catalog.length() == 0 ? NULL : (SQLCHAR*)catalog.toUtf8().data(),
-#endif
catalog.length(),
-#ifdef UNICODE
schema.length() == 0 ? NULL : toSQLTCHAR(schema).data(),
-#else
- schema.length() == 0 ? NULL : (SQLCHAR*)schema.toUtf8().data(),
-#endif
schema.length(),
-#ifdef UNICODE
toSQLTCHAR(table).data(),
-#else
- (SQLCHAR*)table.toUtf8().data(),
-#endif
table.length() /* in characters, not in bytes */);
// if the SQLPrimaryKeys() call does not succeed (e.g the driver
@@ -2394,23 +2377,11 @@ QSqlIndex QODBCDriver::primaryIndex(const QString& tablename) const
if (r != SQL_SUCCESS) {
r = SQLSpecialColumns(hStmt,
SQL_BEST_ROWID,
-#ifdef UNICODE
catalog.length() == 0 ? NULL : toSQLTCHAR(catalog).data(),
-#else
- catalog.length() == 0 ? NULL : (SQLCHAR*)catalog.toUtf8().data(),
-#endif
catalog.length(),
-#ifdef UNICODE
schema.length() == 0 ? NULL : toSQLTCHAR(schema).data(),
-#else
- schema.length() == 0 ? NULL : (SQLCHAR*)schema.toUtf8().data(),
-#endif
schema.length(),
-#ifdef UNICODE
toSQLTCHAR(table).data(),
-#else
- (SQLCHAR*)table.toUtf8().data(),
-#endif
table.length(),
SQL_SCOPE_CURROW,
SQL_NULLABLE);
@@ -2495,23 +2466,11 @@ QSqlRecord QODBCDriver::record(const QString& tablename) const
(SQLPOINTER)SQL_CURSOR_FORWARD_ONLY,
SQL_IS_UINTEGER);
r = SQLColumns(hStmt,
-#ifdef UNICODE
catalog.length() == 0 ? NULL : toSQLTCHAR(catalog).data(),
-#else
- catalog.length() == 0 ? NULL : (SQLCHAR*)catalog.toUtf8().data(),
-#endif
catalog.length(),
-#ifdef UNICODE
schema.length() == 0 ? NULL : toSQLTCHAR(schema).data(),
-#else
- schema.length() == 0 ? NULL : (SQLCHAR*)schema.toUtf8().data(),
-#endif
schema.length(),
-#ifdef UNICODE
toSQLTCHAR(table).data(),
-#else
- (SQLCHAR*)table.toUtf8().data(),
-#endif
table.length(),
NULL,
0);
diff --git a/src/sql/kernel/qsqlfield.cpp b/src/sql/kernel/qsqlfield.cpp
index 3fd2c68296..a76e38b6f1 100644
--- a/src/sql/kernel/qsqlfield.cpp
+++ b/src/sql/kernel/qsqlfield.cpp
@@ -534,6 +534,12 @@ QDebug operator<<(QDebug dbg, const QSqlField &f)
Returns \c true if the value is auto-generated by the database,
for example auto-increment primary key values.
+ \note When using the ODBC driver, due to limitations in the ODBC API,
+ the \c isAutoValue() field is only populated in a QSqlField resulting from a
+ QSqlRecord obtained by executing a \c SELECT query. It is \c false in a QSqlField
+ resulting from a QSqlRecord returned from QSqlDatabase::record() or
+ QSqlDatabase::primaryIndex().
+
\sa setAutoValue()
*/
bool QSqlField::isAutoValue() const
diff --git a/src/testlib/qtestkeyboard.h b/src/testlib/qtestkeyboard.h
index 57c3a27295..e533293476 100644
--- a/src/testlib/qtestkeyboard.h
+++ b/src/testlib/qtestkeyboard.h
@@ -57,6 +57,7 @@
QT_BEGIN_NAMESPACE
Q_GUI_EXPORT void qt_handleKeyEvent(QWindow *w, QEvent::Type t, int k, Qt::KeyboardModifiers mods, const QString & text = QString(), bool autorep = false, ushort count = 1);
+Q_GUI_EXPORT bool qt_sendShortcutOverrideEvent(QObject *o, ulong timestamp, int k, Qt::KeyboardModifiers mods, const QString &text = QString(), bool autorep = false, ushort count = 1);
namespace QTest
{
@@ -170,6 +171,9 @@ namespace QTest
QKeyEvent a(press ? QEvent::KeyPress : QEvent::KeyRelease, code, modifier, text, repeat);
QSpontaneKeyEvent::setSpontaneous(&a);
+
+ if (press && qt_sendShortcutOverrideEvent(widget, a.timestamp(), code, modifier, text, repeat))
+ return;
if (!qApp->notify(widget, &a))
QTest::qWarn("Keyboard event not accepted by receiving widget");
}
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
index 527a932c4d..e0f5546966 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
@@ -130,9 +130,15 @@ win32:SOURCES += ../../corelib/io/qfilesystemengine_win.cpp \
../../corelib/plugin/qsystemlibrary.cpp \
mac {
- SOURCES += ../../corelib/kernel/qcoreapplication_mac.cpp \
- ../../corelib/kernel/qcore_mac.cpp
- LIBS += -framework CoreServices -framework Foundation
+ SOURCES += \
+ ../../corelib/kernel/qcoreapplication_mac.cpp \
+ ../../corelib/kernel/qcore_mac.cpp
+ OBJECTIVE_SOURCES += \
+ ../../corelib/kernel/qcore_mac_objc.mm
+
+ LIBS += -framework Foundation
+ osx: LIBS_PRIVATE += -framework CoreServices
+ ios: LIBS_PRIVATE += -framework UIKit
}
macx {
diff --git a/src/tools/moc/generator.cpp b/src/tools/moc/generator.cpp
index 6c5e772e8c..912fa995fa 100644
--- a/src/tools/moc/generator.cpp
+++ b/src/tools/moc/generator.cpp
@@ -359,7 +359,13 @@ void Generator::generateCode()
fprintf(out, " %4d, %4d, // constructors\n", isConstructible ? cdef->constructorList.count() : 0,
isConstructible ? index : 0);
- fprintf(out, " %4d, // flags\n", 0);
+ int flags = 0;
+ if (cdef->hasQGadget) {
+ // Ideally, all the classes could have that flag. But this broke classes generated
+ // by qdbusxml2cpp which generate code that require that we call qt_metacall for properties
+ flags |= PropertyAccessInStaticMetaCall;
+ }
+ fprintf(out, " %4d, // flags\n", flags);
fprintf(out, " %4d, // signalCount\n", cdef->signalList.count());
@@ -425,7 +431,9 @@ void Generator::generateCode()
//
// Generate internal qt_static_metacall() function
//
- if (cdef->hasQObject && !isQt)
+ const bool hasStaticMetaCall = !isQt &&
+ (cdef->hasQObject || !cdef->methodList.isEmpty() || !cdef->propertyList.isEmpty());
+ if (hasStaticMetaCall)
generateStaticMetacall();
//
@@ -513,7 +521,7 @@ void Generator::generateCode()
fprintf(out, "qt_meta_stringdata_%s.data,\n"
" qt_meta_data_%s, ", qualifiedClassNameIdentifier.constData(),
qualifiedClassNameIdentifier.constData());
- if (cdef->hasQObject && !isQt)
+ if (hasStaticMetaCall)
fprintf(out, " qt_static_metacall, ");
else
fprintf(out, " Q_NULLPTR, ");
@@ -919,10 +927,6 @@ void Generator::generateMetacall()
}
if (cdef->propertyList.size()) {
- bool needGet = false;
- bool needTempVarForGet = false;
- bool needSet = false;
- bool needReset = false;
bool needDesignable = false;
bool needScriptable = false;
bool needStored = false;
@@ -930,132 +934,21 @@ void Generator::generateMetacall()
bool needUser = false;
for (int i = 0; i < cdef->propertyList.size(); ++i) {
const PropertyDef &p = cdef->propertyList.at(i);
- needGet |= !p.read.isEmpty() || !p.member.isEmpty();
- if (!p.read.isEmpty() || !p.member.isEmpty())
- needTempVarForGet |= (p.gspec != PropertyDef::PointerSpec
- && p.gspec != PropertyDef::ReferenceSpec);
-
- needSet |= !p.write.isEmpty() || (!p.member.isEmpty() && !p.constant);
- needReset |= !p.reset.isEmpty();
needDesignable |= p.designable.endsWith(')');
needScriptable |= p.scriptable.endsWith(')');
needStored |= p.stored.endsWith(')');
needEditable |= p.editable.endsWith(')');
needUser |= p.user.endsWith(')');
}
- fprintf(out, "\n#ifndef QT_NO_PROPERTIES\n ");
+ fprintf(out, "\n#ifndef QT_NO_PROPERTIES\n ");
if (needElse)
- fprintf(out, " else ");
- fprintf(out, "if (_c == QMetaObject::ReadProperty) {\n");
- if (needGet) {
- if (needTempVarForGet)
- fprintf(out, " void *_v = _a[0];\n");
- fprintf(out, " switch (_id) {\n");
- for (int propindex = 0; propindex < cdef->propertyList.size(); ++propindex) {
- const PropertyDef &p = cdef->propertyList.at(propindex);
- if (p.read.isEmpty() && p.member.isEmpty())
- continue;
- QByteArray prefix;
- if (p.inPrivateClass.size()) {
- prefix = p.inPrivateClass;
- prefix.append("->");
- }
- if (p.gspec == PropertyDef::PointerSpec)
- fprintf(out, " case %d: _a[0] = const_cast<void*>(reinterpret_cast<const void*>(%s%s())); break;\n",
- propindex, prefix.constData(), p.read.constData());
- else if (p.gspec == PropertyDef::ReferenceSpec)
- fprintf(out, " case %d: _a[0] = const_cast<void*>(reinterpret_cast<const void*>(&%s%s())); break;\n",
- propindex, prefix.constData(), p.read.constData());
- else if (cdef->enumDeclarations.value(p.type, false))
- fprintf(out, " case %d: *reinterpret_cast<int*>(_v) = QFlag(%s%s()); break;\n",
- propindex, prefix.constData(), p.read.constData());
- else if (!p.read.isEmpty())
- fprintf(out, " case %d: *reinterpret_cast< %s*>(_v) = %s%s(); break;\n",
- propindex, p.type.constData(), prefix.constData(), p.read.constData());
- else
- fprintf(out, " case %d: *reinterpret_cast< %s*>(_v) = %s%s; break;\n",
- propindex, p.type.constData(), prefix.constData(), p.member.constData());
- }
- fprintf(out, " default: break;\n");
- fprintf(out, " }\n");
- }
-
- fprintf(out,
- " _id -= %d;\n"
- " }", cdef->propertyList.count());
-
- fprintf(out, " else ");
- fprintf(out, "if (_c == QMetaObject::WriteProperty) {\n");
-
- if (needSet) {
- fprintf(out, " void *_v = _a[0];\n");
- fprintf(out, " switch (_id) {\n");
- for (int propindex = 0; propindex < cdef->propertyList.size(); ++propindex) {
- const PropertyDef &p = cdef->propertyList.at(propindex);
- if (p.constant)
- continue;
- if (p.write.isEmpty() && p.member.isEmpty())
- continue;
- QByteArray prefix;
- if (p.inPrivateClass.size()) {
- prefix = p.inPrivateClass;
- prefix.append("->");
- }
- if (cdef->enumDeclarations.value(p.type, false)) {
- fprintf(out, " case %d: %s%s(QFlag(*reinterpret_cast<int*>(_v))); break;\n",
- propindex, prefix.constData(), p.write.constData());
- } else if (!p.write.isEmpty()) {
- fprintf(out, " case %d: %s%s(*reinterpret_cast< %s*>(_v)); break;\n",
- propindex, prefix.constData(), p.write.constData(), p.type.constData());
- } else {
- fprintf(out, " case %d:\n", propindex);
- fprintf(out, " if (%s%s != *reinterpret_cast< %s*>(_v)) {\n",
- prefix.constData(), p.member.constData(), p.type.constData());
- fprintf(out, " %s%s = *reinterpret_cast< %s*>(_v);\n",
- prefix.constData(), p.member.constData(), p.type.constData());
- if (!p.notify.isEmpty() && p.notifyId != -1) {
- const FunctionDef &f = cdef->signalList.at(p.notifyId);
- if (f.arguments.size() == 0)
- fprintf(out, " Q_EMIT %s();\n", p.notify.constData());
- else if (f.arguments.size() == 1 && f.arguments.at(0).normalizedType == p.type)
- fprintf(out, " Q_EMIT %s(%s%s);\n",
- p.notify.constData(), prefix.constData(), p.member.constData());
- }
- fprintf(out, " }\n");
- fprintf(out, " break;\n");
- }
- }
- fprintf(out, " default: break;\n");
- fprintf(out, " }\n");
- }
-
- fprintf(out,
- " _id -= %d;\n"
- " }", cdef->propertyList.count());
-
- fprintf(out, " else ");
- fprintf(out, "if (_c == QMetaObject::ResetProperty) {\n");
- if (needReset) {
- fprintf(out, " switch (_id) {\n");
- for (int propindex = 0; propindex < cdef->propertyList.size(); ++propindex) {
- const PropertyDef &p = cdef->propertyList.at(propindex);
- if (!p.reset.endsWith(')'))
- continue;
- QByteArray prefix;
- if (p.inPrivateClass.size()) {
- prefix = p.inPrivateClass;
- prefix.append("->");
- }
- fprintf(out, " case %d: %s%s; break;\n",
- propindex, prefix.constData(), p.reset.constData());
- }
- fprintf(out, " default: break;\n");
- fprintf(out, " }\n");
- }
+ fprintf(out, "else ");
fprintf(out,
- " _id -= %d;\n"
- " }", cdef->propertyList.count());
+ "if (_c == QMetaObject::ReadProperty || _c == QMetaObject::WriteProperty\n"
+ " || _c == QMetaObject::ResetProperty || _c == QMetaObject::RegisterPropertyMetaType) {\n"
+ " qt_static_metacall(this, _c, _id, _a);\n"
+ " _id -= %d;\n }", cdef->propertyList.count());
fprintf(out, " else ");
fprintf(out, "if (_c == QMetaObject::QueryPropertyDesignable) {\n");
@@ -1153,16 +1046,6 @@ void Generator::generateMetacall()
" _id -= %d;\n"
" }", cdef->propertyList.count());
- fprintf(out, " else ");
- fprintf(out, "if (_c == QMetaObject::RegisterPropertyMetaType) {\n");
- fprintf(out, " if (_id < %d)\n", cdef->propertyList.size());
-
- if (automaticPropertyMetaTypesHelper().isEmpty())
- fprintf(out, " *reinterpret_cast<int*>(_a[0]) = -1;\n");
- else
- fprintf(out, " qt_static_metacall(this, _c, _id, _a);\n");
- fprintf(out, " _id -= %d;\n }", cdef->propertyList.size());
-
fprintf(out, "\n#endif // QT_NO_PROPERTIES");
}
if (methodList.size() || cdef->signalList.size() || cdef->propertyList.size())
@@ -1246,10 +1129,14 @@ void Generator::generateStaticMetacall()
else
fprintf(out, " ");
fprintf(out, "if (_c == QMetaObject::InvokeMetaMethod) {\n");
+ if (cdef->hasQObject) {
#ifndef QT_NO_DEBUG
- fprintf(out, " Q_ASSERT(staticMetaObject.cast(_o));\n");
+ fprintf(out, " Q_ASSERT(staticMetaObject.cast(_o));\n");
#endif
- fprintf(out, " %s *_t = static_cast<%s *>(_o);\n", cdef->classname.constData(), cdef->classname.constData());
+ fprintf(out, " %s *_t = static_cast<%s *>(_o);\n", cdef->classname.constData(), cdef->classname.constData());
+ } else {
+ fprintf(out, " %s *_t = reinterpret_cast<%s *>(_o);\n", cdef->classname.constData(), cdef->classname.constData());
+ }
fprintf(out, " switch (_id) {\n");
for (int methodindex = 0; methodindex < methodList.size(); ++methodindex) {
const FunctionDef &f = methodList.at(methodindex);
@@ -1377,6 +1264,153 @@ void Generator::generateStaticMetacall()
needElse = true;
}
+ if (!cdef->propertyList.empty()) {
+ bool needGet = false;
+ bool needTempVarForGet = false;
+ bool needSet = false;
+ bool needReset = false;
+ for (int i = 0; i < cdef->propertyList.size(); ++i) {
+ const PropertyDef &p = cdef->propertyList.at(i);
+ needGet |= !p.read.isEmpty() || !p.member.isEmpty();
+ if (!p.read.isEmpty() || !p.member.isEmpty())
+ needTempVarForGet |= (p.gspec != PropertyDef::PointerSpec
+ && p.gspec != PropertyDef::ReferenceSpec);
+
+ needSet |= !p.write.isEmpty() || (!p.member.isEmpty() && !p.constant);
+ needReset |= !p.reset.isEmpty();
+ }
+ fprintf(out, "\n#ifndef QT_NO_PROPERTIES\n ");
+
+ if (needElse)
+ fprintf(out, "else ");
+ fprintf(out, "if (_c == QMetaObject::ReadProperty) {\n");
+ if (needGet) {
+ if (cdef->hasQObject) {
+#ifndef QT_NO_DEBUG
+ fprintf(out, " Q_ASSERT(staticMetaObject.cast(_o));\n");
+#endif
+ fprintf(out, " %s *_t = static_cast<%s *>(_o);\n", cdef->classname.constData(), cdef->classname.constData());
+ } else {
+ fprintf(out, " %s *_t = reinterpret_cast<%s *>(_o);\n", cdef->classname.constData(), cdef->classname.constData());
+ }
+ if (needTempVarForGet)
+ fprintf(out, " void *_v = _a[0];\n");
+ fprintf(out, " switch (_id) {\n");
+ for (int propindex = 0; propindex < cdef->propertyList.size(); ++propindex) {
+ const PropertyDef &p = cdef->propertyList.at(propindex);
+ if (p.read.isEmpty() && p.member.isEmpty())
+ continue;
+ QByteArray prefix = "_t->";
+ if (p.inPrivateClass.size()) {
+ prefix += p.inPrivateClass + "->";
+ }
+ if (p.gspec == PropertyDef::PointerSpec)
+ fprintf(out, " case %d: _a[0] = const_cast<void*>(reinterpret_cast<const void*>(%s%s())); break;\n",
+ propindex, prefix.constData(), p.read.constData());
+ else if (p.gspec == PropertyDef::ReferenceSpec)
+ fprintf(out, " case %d: _a[0] = const_cast<void*>(reinterpret_cast<const void*>(&%s%s())); break;\n",
+ propindex, prefix.constData(), p.read.constData());
+ else if (cdef->enumDeclarations.value(p.type, false))
+ fprintf(out, " case %d: *reinterpret_cast<int*>(_v) = QFlag(%s%s()); break;\n",
+ propindex, prefix.constData(), p.read.constData());
+ else if (!p.read.isEmpty())
+ fprintf(out, " case %d: *reinterpret_cast< %s*>(_v) = %s%s(); break;\n",
+ propindex, p.type.constData(), prefix.constData(), p.read.constData());
+ else
+ fprintf(out, " case %d: *reinterpret_cast< %s*>(_v) = %s%s; break;\n",
+ propindex, p.type.constData(), prefix.constData(), p.member.constData());
+ }
+ fprintf(out, " default: break;\n");
+ fprintf(out, " }\n");
+ }
+
+ fprintf(out, " }");
+
+ fprintf(out, " else ");
+ fprintf(out, "if (_c == QMetaObject::WriteProperty) {\n");
+
+ if (needSet) {
+ if (cdef->hasQObject) {
+#ifndef QT_NO_DEBUG
+ fprintf(out, " Q_ASSERT(staticMetaObject.cast(_o));\n");
+#endif
+ fprintf(out, " %s *_t = static_cast<%s *>(_o);\n", cdef->classname.constData(), cdef->classname.constData());
+ } else {
+ fprintf(out, " %s *_t = reinterpret_cast<%s *>(_o);\n", cdef->classname.constData(), cdef->classname.constData());
+ }
+ fprintf(out, " void *_v = _a[0];\n");
+ fprintf(out, " switch (_id) {\n");
+ for (int propindex = 0; propindex < cdef->propertyList.size(); ++propindex) {
+ const PropertyDef &p = cdef->propertyList.at(propindex);
+ if (p.constant)
+ continue;
+ if (p.write.isEmpty() && p.member.isEmpty())
+ continue;
+ QByteArray prefix = "_t->";
+ if (p.inPrivateClass.size()) {
+ prefix += p.inPrivateClass + "->";
+ }
+ if (cdef->enumDeclarations.value(p.type, false)) {
+ fprintf(out, " case %d: %s%s(QFlag(*reinterpret_cast<int*>(_v))); break;\n",
+ propindex, prefix.constData(), p.write.constData());
+ } else if (!p.write.isEmpty()) {
+ fprintf(out, " case %d: %s%s(*reinterpret_cast< %s*>(_v)); break;\n",
+ propindex, prefix.constData(), p.write.constData(), p.type.constData());
+ } else {
+ fprintf(out, " case %d:\n", propindex);
+ fprintf(out, " if (%s%s != *reinterpret_cast< %s*>(_v)) {\n",
+ prefix.constData(), p.member.constData(), p.type.constData());
+ fprintf(out, " %s%s = *reinterpret_cast< %s*>(_v);\n",
+ prefix.constData(), p.member.constData(), p.type.constData());
+ if (!p.notify.isEmpty() && p.notifyId != -1) {
+ const FunctionDef &f = cdef->signalList.at(p.notifyId);
+ if (f.arguments.size() == 0)
+ fprintf(out, " Q_EMIT _t->%s();\n", p.notify.constData());
+ else if (f.arguments.size() == 1 && f.arguments.at(0).normalizedType == p.type)
+ fprintf(out, " Q_EMIT _t->%s(%s%s);\n",
+ p.notify.constData(), prefix.constData(), p.member.constData());
+ }
+ fprintf(out, " }\n");
+ fprintf(out, " break;\n");
+ }
+ }
+ fprintf(out, " default: break;\n");
+ fprintf(out, " }\n");
+ }
+
+ fprintf(out, " }");
+
+ fprintf(out, " else ");
+ fprintf(out, "if (_c == QMetaObject::ResetProperty) {\n");
+ if (needReset) {
+ if (cdef->hasQObject) {
+#ifndef QT_NO_DEBUG
+ fprintf(out, " Q_ASSERT(staticMetaObject.cast(_o));\n");
+#endif
+ fprintf(out, " %s *_t = static_cast<%s *>(_o);\n", cdef->classname.constData(), cdef->classname.constData());
+ } else {
+ fprintf(out, " %s *_t = reinterpret_cast<%s *>(_o);\n", cdef->classname.constData(), cdef->classname.constData());
+ }
+ fprintf(out, " switch (_id) {\n");
+ for (int propindex = 0; propindex < cdef->propertyList.size(); ++propindex) {
+ const PropertyDef &p = cdef->propertyList.at(propindex);
+ if (!p.reset.endsWith(')'))
+ continue;
+ QByteArray prefix = "_t->";
+ if (p.inPrivateClass.size()) {
+ prefix += p.inPrivateClass + "->";
+ }
+ fprintf(out, " case %d: %s%s; break;\n",
+ propindex, prefix.constData(), p.reset.constData());
+ }
+ fprintf(out, " default: break;\n");
+ fprintf(out, " }\n");
+ }
+ fprintf(out, " }");
+ fprintf(out, "\n#endif // QT_NO_PROPERTIES");
+ needElse = true;
+ }
+
if (needElse)
fprintf(out, "\n");
diff --git a/src/tools/moc/preprocessor.cpp b/src/tools/moc/preprocessor.cpp
index c5d6b58412..687c4f8474 100644
--- a/src/tools/moc/preprocessor.cpp
+++ b/src/tools/moc/preprocessor.cpp
@@ -52,11 +52,12 @@ static QByteArray cleaned(const QByteArray &input)
QByteArray result;
result.reserve(input.size());
const char *data = input.constData();
+ const char *end = input.constData() + input.size();
char *output = result.data();
int newlines = 0;
- while (*data) {
- while (*data && is_space(*data))
+ while (data != end) {
+ while (data != end && is_space(*data))
++data;
bool takeLine = (*data == '#');
if (*data == '%' && *(data+1) == ':') {
@@ -66,15 +67,15 @@ static QByteArray cleaned(const QByteArray &input)
if (takeLine) {
*output = '#';
++output;
- do ++data; while (*data && is_space(*data));
+ do ++data; while (data != end && is_space(*data));
}
- while (*data) {
+ while (data != end) {
// handle \\\n, \\\r\n and \\\r
if (*data == '\\') {
if (*(data + 1) == '\r') {
++data;
}
- if (*data && (*(data + 1) == '\n' || (*data) == '\r')) {
+ if (data != end && (*(data + 1) == '\n' || (*data) == '\r')) {
++newlines;
data += 1;
if (*data != '\r')
@@ -201,7 +202,7 @@ Symbols Preprocessor::tokenize(const QByteArray& input, int lineNum, Preprocesso
data = skipQuote(data);
token = STRING_LITERAL;
// concatenate multi-line strings for easier
- // STRING_LITERAAL handling in moc
+ // STRING_LITERAL handling in moc
if (!Preprocessor::preprocessOnly
&& !symbols.isEmpty()
&& symbols.last().token == STRING_LITERAL) {
@@ -964,6 +965,43 @@ int Preprocessor::evaluateCondition()
return expression.value();
}
+static QByteArray readOrMapFile(QFile *file)
+{
+ const qint64 size = file->size();
+ char *rawInput = reinterpret_cast<char*>(file->map(0, size));
+ return rawInput ? QByteArray::fromRawData(rawInput, size) : file->readAll();
+}
+
+static void mergeStringLiterals(Symbols *_symbols)
+{
+ Symbols &symbols = *_symbols;
+ for (Symbols::iterator i = symbols.begin(); i != symbols.end(); ++i) {
+ if (i->token == STRING_LITERAL) {
+ Symbols::Iterator mergeSymbol = i;
+ int literalsLength = mergeSymbol->len;
+ while (++i != symbols.end() && i->token == STRING_LITERAL)
+ literalsLength += i->len - 2; // no quotes
+
+ if (literalsLength != mergeSymbol->len) {
+ QByteArray mergeSymbolOriginalLexem = mergeSymbol->unquotedLexem();
+ QByteArray &mergeSymbolLexem = mergeSymbol->lex;
+ mergeSymbolLexem.resize(0);
+ mergeSymbolLexem.reserve(literalsLength);
+ mergeSymbolLexem.append('"');
+ mergeSymbolLexem.append(mergeSymbolOriginalLexem);
+ for (Symbols::const_iterator j = mergeSymbol + 1; j != i; ++j)
+ mergeSymbolLexem.append(j->lex.constData() + j->from + 1, j->len - 2); // append j->unquotedLexem()
+ mergeSymbolLexem.append('"');
+ mergeSymbol->len = mergeSymbol->lex.length();
+ mergeSymbol->from = 0;
+ i = symbols.erase(mergeSymbol + 1, i);
+ }
+ if (i == symbols.end())
+ break;
+ }
+ }
+}
+
void Preprocessor::preprocess(const QByteArray &filename, Symbols &preprocessed)
{
currentFilenames.push(filename);
@@ -1020,7 +1058,8 @@ void Preprocessor::preprocess(const QByteArray &filename, Symbols &preprocessed)
if (!file.open(QFile::ReadOnly))
continue;
- QByteArray input = file.readAll();
+ QByteArray input = readOrMapFile(&file);
+
file.close();
if (input.isEmpty())
continue;
@@ -1153,9 +1192,10 @@ void Preprocessor::preprocess(const QByteArray &filename, Symbols &preprocessed)
currentFilenames.pop();
}
-Symbols Preprocessor::preprocessed(const QByteArray &filename, QIODevice *file)
+Symbols Preprocessor::preprocessed(const QByteArray &filename, QFile *file)
{
- QByteArray input = file->readAll();
+ QByteArray input = readOrMapFile(file);
+
if (input.isEmpty())
return symbols;
@@ -1176,6 +1216,7 @@ Symbols Preprocessor::preprocessed(const QByteArray &filename, QIODevice *file)
// phase 3: preprocess conditions and substitute macros
Symbols result;
preprocess(filename, result);
+ mergeStringLiterals(&result);
#if 0
for (int j = 0; j < result.size(); ++j)
diff --git a/src/tools/moc/preprocessor.h b/src/tools/moc/preprocessor.h
index fc86781be8..77f3a30ac0 100644
--- a/src/tools/moc/preprocessor.h
+++ b/src/tools/moc/preprocessor.h
@@ -57,7 +57,7 @@ typedef SubArray MacroName;
#endif
typedef QHash<MacroName, Macro> Macros;
-class QIODevice;
+class QFile;
class Preprocessor : public Parser
{
@@ -67,7 +67,7 @@ public:
QList<QByteArray> frameworks;
QSet<QByteArray> preprocessedIncludes;
Macros macros;
- Symbols preprocessed(const QByteArray &filename, QIODevice *device);
+ Symbols preprocessed(const QByteArray &filename, QFile *device);
void parseDefineArguments(Macro *m);
diff --git a/src/tools/qdoc/atom.cpp b/src/tools/qdoc/atom.cpp
index 1af31afedd..9aaa1af319 100644
--- a/src/tools/qdoc/atom.cpp
+++ b/src/tools/qdoc/atom.cpp
@@ -97,6 +97,9 @@ QT_BEGIN_NAMESPACE
\value ImageText
\value ImportantNote
\value InlineImage
+ \value JavaScript
+ \value EndJavaScript
+ \value Keyword
\value LineBreak
\value Link
\value LinkNode
@@ -107,6 +110,8 @@ QT_BEGIN_NAMESPACE
\value ListItemLeft
\value ListItemRight
\value ListRight
+ \value NavAutoLink
+ \value NavLink
\value Nop
\value Note
\value ParaLeft
@@ -181,6 +186,7 @@ static const struct {
{ "InlineImage", Atom::InlineImage },
{ "JavaScript", Atom::JavaScript },
{ "EndJavaScript", Atom::EndJavaScript },
+ { "Keyword", Atom::Keyword },
{ "LegaleseLeft", Atom::LegaleseLeft },
{ "LegaleseRight", Atom::LegaleseRight },
{ "LineBreak", Atom::LineBreak },
@@ -193,6 +199,8 @@ static const struct {
{ "ListItemLeft", Atom::ListItemLeft },
{ "ListItemRight", Atom::ListItemRight },
{ "ListRight", Atom::ListRight },
+ { "NavAutoLink", Atom::NavAutoLink },
+ { "NavLink", Atom::NavLink },
{ "Nop", Atom::Nop },
{ "NoteLeft", Atom::NoteLeft },
{ "NoteRight", Atom::NoteRight },
diff --git a/src/tools/qdoc/atom.h b/src/tools/qdoc/atom.h
index 3a7e992f7b..2eb34a042b 100644
--- a/src/tools/qdoc/atom.h
+++ b/src/tools/qdoc/atom.h
@@ -57,7 +57,7 @@ public:
BriefRight,
C,
CaptionLeft,
- CaptionRight, // 10
+ CaptionRight,
Code,
CodeBad,
CodeNew,
@@ -67,7 +67,7 @@ public:
DivLeft,
DivRight,
EndQmlText,
- FootnoteLeft, // 20
+ FootnoteLeft,
FootnoteRight,
FormatElse,
FormatEndif,
@@ -77,17 +77,18 @@ public:
GeneratedList,
GuidLink,
HR,
- Image, // 30
+ Image,
ImageText,
ImportantLeft,
ImportantRight,
InlineImage,
JavaScript,
EndJavaScript,
+ Keyword,
LegaleseLeft,
LegaleseRight,
LineBreak,
- Link, // 40
+ Link,
LinkNode,
ListLeft,
ListItemNumber,
@@ -96,8 +97,10 @@ public:
ListItemLeft,
ListItemRight,
ListRight,
+ NavAutoLink,
+ NavLink,
Nop,
- NoteLeft, // 50
+ NoteLeft,
NoteRight,
ParaLeft,
ParaRight,
@@ -107,7 +110,7 @@ public:
QuotationRight,
RawString,
SectionLeft,
- SectionRight, // 60
+ SectionRight,
SectionHeadingLeft,
SectionHeadingRight,
SidebarLeft,
@@ -117,7 +120,7 @@ public:
SnippetIdentifier,
SnippetLocation,
String,
- TableLeft, // 70
+ TableLeft,
TableRight,
TableHeaderLeft,
TableHeaderRight,
@@ -127,7 +130,7 @@ public:
TableItemRight,
TableOfContents,
Target,
- UnhandledFormat, // 80
+ UnhandledFormat,
UnknownCommand,
Last = UnknownCommand
};
diff --git a/src/tools/qdoc/codeparser.cpp b/src/tools/qdoc/codeparser.cpp
index 00341940da..acb297d5f9 100644
--- a/src/tools/qdoc/codeparser.cpp
+++ b/src/tools/qdoc/codeparser.cpp
@@ -65,9 +65,9 @@ QT_BEGIN_NAMESPACE
#define COMMAND_TITLE Doc::alias(QLatin1String("title"))
#define COMMAND_WRAPPER Doc::alias(QLatin1String("wrapper"))
-QString CodeParser::currentSubDir_;
QList<CodeParser *> CodeParser::parsers;
-bool CodeParser::showInternal = false;
+bool CodeParser::showInternal_ = false;
+bool CodeParser::singleExec_ = false;
/*!
The constructor adds this code parser to the static
@@ -93,7 +93,8 @@ CodeParser::~CodeParser()
*/
void CodeParser::initializeParser(const Config& config)
{
- showInternal = config.getBool(CONFIG_SHOWINTERNAL);
+ showInternal_ = config.getBool(CONFIG_SHOWINTERNAL);
+ singleExec_ = config.getBool(CONFIG_SINGLEEXEC);
}
/*!
@@ -262,7 +263,7 @@ void CodeParser::processCommonMetaCommand(const Location& location,
node->setStatus(Node::Preliminary);
}
else if (command == COMMAND_INTERNAL) {
- if (!showInternal) {
+ if (!showInternal_) {
node->setAccess(Node::Private);
node->setStatus(Node::Internal);
if (node->type() == Node::QmlPropertyGroup) {
diff --git a/src/tools/qdoc/codeparser.h b/src/tools/qdoc/codeparser.h
index 5b3b1192f3..c9a9b746b1 100644
--- a/src/tools/qdoc/codeparser.h
+++ b/src/tools/qdoc/codeparser.h
@@ -74,7 +74,6 @@ public:
static CodeParser *parserForHeaderFile(const QString &filePath);
static CodeParser *parserForSourceFile(const QString &filePath);
static void setLink(Node* node, Node::LinkType linkType, const QString& arg);
- static const QString& currentOutputSubdirectory() { return currentSubDir_; }
protected:
const QSet<QString>& commonMetaCommands();
@@ -89,9 +88,9 @@ protected:
QDocDatabase* qdb_;
private:
- static QString currentSubDir_;
static QList<CodeParser *> parsers;
- static bool showInternal;
+ static bool showInternal_;
+ static bool singleExec_;
};
QT_END_NAMESPACE
diff --git a/src/tools/qdoc/config.cpp b/src/tools/qdoc/config.cpp
index 51ab341869..f73ac147b8 100644
--- a/src/tools/qdoc/config.cpp
+++ b/src/tools/qdoc/config.cpp
@@ -98,6 +98,7 @@ QString ConfigStrings::QUOTINGINFORMATION = QStringLiteral("quotinginformation")
QString ConfigStrings::SCRIPTDIRS = QStringLiteral("scriptdirs");
QString ConfigStrings::SCRIPTS = QStringLiteral("scripts");
QString ConfigStrings::SHOWINTERNAL = QStringLiteral("showinternal");
+QString ConfigStrings::SINGLEEXEC = QStringLiteral("singleexec");
QString ConfigStrings::SOURCEDIRS = QStringLiteral("sourcedirs");
QString ConfigStrings::SOURCEENCODING = QStringLiteral("sourceencoding");
QString ConfigStrings::SOURCES = QStringLiteral("sources");
@@ -118,6 +119,7 @@ QString ConfigStrings::FILEEXTENSIONS = QStringLiteral("fileextensions");
QString ConfigStrings::IMAGEEXTENSIONS = QStringLiteral("imageextensions");
QString ConfigStrings::QMLONLY = QStringLiteral("qmlonly");
QString ConfigStrings::QMLTYPESPAGE = QStringLiteral("qmltypespage");
+QString ConfigStrings::WRITEQAPAGES = QStringLiteral("writeqapages");
/*!
An entry in a stack, where each entry is a list
@@ -350,6 +352,10 @@ QString Config::getOutputDir() const
t = getString(CONFIG_OUTPUTDIR);
else
t = overrideOutputDir;
+ if (Generator::singleExec()) {
+ QString project = getString(CONFIG_PROJECT);
+ t += QLatin1Char('/') + project.toLower();
+ }
if (!Generator::useOutputSubdirs()) {
t = t.left(t.lastIndexOf('/'));
QString singleOutputSubdir = getString("HTML.outputsubdir");
@@ -869,6 +875,36 @@ bool Config::isMetaKeyChar(QChar ch)
}
/*!
+ \a fileName is a master qdocconf file. It contains a list of
+ qdocconf files and nothing else. Read the list and return it.
+ */
+QStringList Config::loadMaster(const QString& fileName)
+{
+ Location location = Location::null;
+ QFile fin(fileName);
+ if (!fin.open(QFile::ReadOnly | QFile::Text)) {
+ if (!Config::installDir.isEmpty()) {
+ int prefix = location.filePath().length() - location.fileName().length();
+ fin.setFileName(Config::installDir + "/" + fileName.right(fileName.length() - prefix));
+ }
+ if (!fin.open(QFile::ReadOnly | QFile::Text))
+ location.fatal(tr("Cannot open master qdocconf file '%1': %2").arg(fileName).arg(fin.errorString()));
+ }
+ QTextStream stream(&fin);
+#ifndef QT_NO_TEXTCODEC
+ stream.setCodec("UTF-8");
+#endif
+ QStringList qdocFiles;
+ QString line = stream.readLine();
+ while (!line.isNull()) {
+ qdocFiles.append(line);
+ line = stream.readLine();
+ }
+ fin.close();
+ return qdocFiles;
+}
+
+/*!
Load, parse, and process a qdoc configuration file. This
function is only called by the other load() function, but
this one is recursive, i.e., it calls itself when it sees
diff --git a/src/tools/qdoc/config.h b/src/tools/qdoc/config.h
index 70b5adfd68..a836448719 100644
--- a/src/tools/qdoc/config.h
+++ b/src/tools/qdoc/config.h
@@ -108,6 +108,7 @@ public:
QStringList getExampleQdocFiles(const QSet<QString> &excludedDirs, const QSet<QString> &excludedFiles);
QStringList getExampleImageFiles(const QSet<QString> &excludedDirs, const QSet<QString> &excludedFiles);
+ static QStringList loadMaster(const QString& fileName);
static QStringList getFilesHere(const QString& dir,
const QString& nameFilter,
const Location &location = Location(),
@@ -209,6 +210,7 @@ struct ConfigStrings
static QString SCRIPTDIRS;
static QString SCRIPTS;
static QString SHOWINTERNAL;
+ static QString SINGLEEXEC;
static QString SOURCEDIRS;
static QString SOURCEENCODING;
static QString SOURCES;
@@ -229,6 +231,7 @@ struct ConfigStrings
static QString IMAGEEXTENSIONS;
static QString QMLONLY;
static QString QMLTYPESPAGE;
+ static QString WRITEQAPAGES;
};
#define CONFIG_ALIAS ConfigStrings::ALIAS
@@ -282,6 +285,7 @@ struct ConfigStrings
#define CONFIG_SCRIPTDIRS ConfigStrings::SCRIPTDIRS
#define CONFIG_SCRIPTS ConfigStrings::SCRIPTS
#define CONFIG_SHOWINTERNAL ConfigStrings::SHOWINTERNAL
+#define CONFIG_SINGLEEXEC ConfigStrings::SINGLEEXEC
#define CONFIG_SOURCEDIRS ConfigStrings::SOURCEDIRS
#define CONFIG_SOURCEENCODING ConfigStrings::SOURCEENCODING
#define CONFIG_SOURCES ConfigStrings::SOURCES
@@ -302,6 +306,7 @@ struct ConfigStrings
#define CONFIG_IMAGEEXTENSIONS ConfigStrings::IMAGEEXTENSIONS
#define CONFIG_QMLONLY ConfigStrings::QMLONLY
#define CONFIG_QMLTYPESPAGE ConfigStrings::QMLTYPESPAGE
+#define CONFIG_WRITEQAPAGES ConfigStrings::WRITEQAPAGES
QT_END_NAMESPACE
diff --git a/src/tools/qdoc/ditaxmlgenerator.cpp b/src/tools/qdoc/ditaxmlgenerator.cpp
index d9cf56769b..54b358e170 100644
--- a/src/tools/qdoc/ditaxmlgenerator.cpp
+++ b/src/tools/qdoc/ditaxmlgenerator.cpp
@@ -663,10 +663,10 @@ GuidMap* DitaXmlGenerator::lookupGuidMap(const QString& fileName)
*/
void DitaXmlGenerator::generateDocs()
{
- if (!runPrepareOnly())
+ if (!preparing())
Generator::generateDocs();
- if (!runGenerateOnly()) {
+ if (!generating()) {
QString fileBase = project.toLower().simplified().replace(QLatin1Char(' '), QLatin1Char('-'));
qdb_->generateIndex(outputDir() + QLatin1Char('/') + fileBase + ".index",
projectUrl,
@@ -675,7 +675,7 @@ void DitaXmlGenerator::generateDocs()
true);
}
- if (!runPrepareOnly()) {
+ if (!preparing()) {
writeDitaMap();
/*
Generate the XML tag file, if it was requested.
diff --git a/src/tools/qdoc/doc.cpp b/src/tools/qdoc/doc.cpp
index 5a3ad959d2..c10e3b4669 100644
--- a/src/tools/qdoc/doc.cpp
+++ b/src/tools/qdoc/doc.cpp
@@ -1611,12 +1611,14 @@ void DocParser::parse(const QString& source,
QString word = in.mid(startPos, pos - startPos);
// is word a C++ symbol or an English word?
if ((numInternalUppercase >= 1 && numLowercase >= 2)
- || numStrangeSymbols >= 1) {
- append(Atom::AutoLink, word);
+ || numStrangeSymbols > 0) {
+ if (word.startsWith(QString("__")))
+ appendWord(word);
+ else
+ append(Atom::AutoLink, word);
}
- else {
+ else
appendWord(word);
- }
}
}
}
@@ -1690,12 +1692,15 @@ void DocParser::insertTarget(const QString &target, bool keyword)
}
else {
targetMap_.insert(target, location());
- append(Atom::Target, target);
priv->constructExtra();
- if (keyword)
+ if (keyword) {
+ append(Atom::Keyword, target);
priv->extra->keywords_.append(priv->text.lastAtom());
- else
+ }
+ else {
+ append(Atom::Target, target);
priv->extra->targets_.append(priv->text.lastAtom());
+ }
}
}
@@ -1991,7 +1996,7 @@ void DocParser::append(const QString &string)
Atom::Type lastType = priv->text.lastAtom()->type();
if ((lastType == Atom::Code) && priv->text.lastAtom()->string().endsWith(QLatin1String("\n\n")))
priv->text.lastAtom()->chopString();
- priv->text << Atom(string);
+ priv->text << Atom(string); // The Atom type is Link.
}
void DocParser::append(Atom::Type type, const QString& p1, const QString& p2)
@@ -2008,7 +2013,7 @@ void DocParser::append(const QString& p1, const QString& p2)
if ((lastType == Atom::Code) && priv->text.lastAtom()->string().endsWith(QLatin1String("\n\n")))
priv->text.lastAtom()->chopString();
if (p2.isEmpty())
- priv->text << Atom(p1);
+ priv->text << Atom(p1); // The Atom type is Link.
else
priv->text << LinkAtom(p1, p2);
}
@@ -2319,7 +2324,10 @@ QString DocParser::getBracedArgument(bool verbatim)
}
break;
default:
- arg += in[pos];
+ if (in[pos].isSpace() && !verbatim)
+ arg += QChar(' ');
+ else
+ arg += in[pos];
pos++;
}
}
@@ -2816,18 +2824,6 @@ QString DocParser::slashed(const QString& str)
#define COMMAND_BRIEF Doc::alias("brief")
#define COMMAND_QMLBRIEF Doc::alias("qmlbrief")
-#if 0
-Doc::Doc(const Location& start_loc,
- const Location& end_loc,
- const QString& source,
- const QSet<QString>& metaCommandSet)
-{
- priv = new DocPrivate(start_loc,end_loc,source);
- DocParser parser;
- parser.parse(source,priv,metaCommandSet,QSet<QString>());
-}
-#endif
-
/*!
Parse the qdoc comment \a source. Build up a list of all the topic
commands found including their arguments. This constructor is used
@@ -3234,6 +3230,9 @@ void Doc::initialize(const Config& config)
}
}
+/*!
+ All the heap allocated variables are deleted.
+ */
void Doc::terminate()
{
DocParser::exampleFiles.clear();
diff --git a/src/tools/qdoc/generator.cpp b/src/tools/qdoc/generator.cpp
index 5aff19e121..db531e3936 100644
--- a/src/tools/qdoc/generator.cpp
+++ b/src/tools/qdoc/generator.cpp
@@ -64,7 +64,7 @@ QString Generator::outSubdir_;
QStringList Generator::outFileNames_;
QSet<QString> Generator::outputFormats;
QHash<QString, QString> Generator::outputPrefixes;
-QString Generator::project;
+QString Generator::project_;
QStringList Generator::scriptDirs;
QStringList Generator::scriptFiles;
QString Generator::sinceTitles[] =
@@ -92,7 +92,9 @@ bool Generator::debugging_ = false;
bool Generator::noLinkErrors_ = false;
bool Generator::autolinkErrors_ = false;
bool Generator::redirectDocumentationToDevNull_ = false;
-Generator::Passes Generator::qdocPass_ = Both;
+Generator::QDocPass Generator::qdocPass_ = Generator::Neither;
+bool Generator::qdocSingleExec_ = false;
+bool Generator::qdocWriteQaPages_ = false;
bool Generator::useOutputSubdirs_ = true;
void Generator::startDebugging(const QString& message)
@@ -134,6 +136,7 @@ Generator::Generator()
inTableHeader_(false),
threeColumnEnumValueTable_(true),
showInternal_(false),
+ singleExec_(false),
numTableRows_(0)
{
qdb_ = QDocDatabase::qdocDB();
@@ -259,7 +262,8 @@ void Generator::writeOutFileNames()
void Generator::beginSubPage(const InnerNode* node, const QString& fileName)
{
QString path = outputDir() + QLatin1Char('/');
- if (Generator::useOutputSubdirs() && !node->outputSubdirectory().isEmpty())
+ if (Generator::useOutputSubdirs() && !node->outputSubdirectory().isEmpty() &&
+ !outputDir().endsWith(node->outputSubdirectory()))
path += node->outputSubdirectory() + QLatin1Char('/');
path += fileName;
@@ -314,7 +318,7 @@ QString Generator::fileBase(const Node *node) const
if (node->isExample() || node->isExampleFile()) {
QString modPrefix(node->moduleName());
if (modPrefix.isEmpty()) {
- modPrefix = project;
+ modPrefix = project_;
}
base.prepend(modPrefix.toLower() + QLatin1Char('-'));
}
@@ -1529,7 +1533,7 @@ void Generator::initialize(const Config &config)
QDir dirInfo;
if (dirInfo.exists(outDir_)) {
- if (!runGenerateOnly() && Generator::useOutputSubdirs()) {
+ if (!generating() && Generator::useOutputSubdirs()) {
if (!Config::removeDirContents(outDir_))
config.lastLocation().error(tr("Cannot empty output directory '%1'").arg(outDir_));
}
@@ -1643,7 +1647,7 @@ void Generator::initialize(const Config &config)
++n;
}
- project = config.getString(CONFIG_PROJECT);
+ project_ = config.getString(CONFIG_PROJECT);
QStringList prefixes = config.getStringList(CONFIG_OUTPUTPREFIXES);
if (!prefixes.isEmpty()) {
@@ -1678,6 +1682,7 @@ void Generator::initializeGenerator(const Config& config)
{
config_ = &config;
showInternal_ = config.getBool(CONFIG_SHOWINTERNAL);
+ singleExec_ = config.getBool(CONFIG_SINGLEEXEC);
}
bool Generator::matchAhead(const Atom *atom, Atom::Type expectedAtomType)
diff --git a/src/tools/qdoc/generator.h b/src/tools/qdoc/generator.h
index 110a8d9e73..b1faf02ae9 100644
--- a/src/tools/qdoc/generator.h
+++ b/src/tools/qdoc/generator.h
@@ -61,7 +61,7 @@ class Generator
Q_DECLARE_TR_FUNCTIONS(QDoc::Generator)
public:
- enum Passes { Both, Prepare, Generate };
+ enum QDocPass { Neither, Prepare, Generate };
enum ListType { Generic, Obsolete };
Generator();
@@ -91,10 +91,14 @@ public:
static bool debugging() { return debugging_; }
static bool noLinkErrors() { return noLinkErrors_; }
static bool autolinkErrors() { return autolinkErrors_; }
- static void setQDocPass(Passes pass) { qdocPass_ = pass; }
- static bool runPrepareOnly() { return (qdocPass_ == Prepare); }
- static bool runGenerateOnly() { return (qdocPass_ == Generate); }
- static QString defaultModuleName() { return project; }
+ static void setQDocPass(QDocPass t) { qdocPass_ = t; }
+ static bool preparing() { return (qdocPass_ == Prepare); }
+ static bool generating() { return (qdocPass_ == Generate); }
+ static bool singleExec() { return qdocSingleExec_; }
+ static bool writeQaPages() { return qdocWriteQaPages_; }
+ static void setSingleExec() { qdocSingleExec_ = true; }
+ static void setWriteQaPages() { qdocWriteQaPages_ = true; }
+ static QString defaultModuleName() { return project_; }
static void resetUseOutputSubdirs() { useOutputSubdirs_ = false; }
static bool useOutputSubdirs() { return useOutputSubdirs_; }
@@ -103,6 +107,7 @@ protected:
virtual void endSubPage();
virtual QString fileBase(const Node* node) const;
virtual QString fileExtension() const = 0;
+ virtual void generateQAPage() { }
virtual void generateAlsoList(const Node *node, CodeMarker *marker);
virtual int generateAtom(const Atom *atom, const Node *relative, CodeMarker *marker);
virtual void generateBody(const Node *node, CodeMarker *marker);
@@ -198,7 +203,7 @@ private:
static QStringList imageDirs;
static QStringList imageFiles;
static QMap<QString, QStringList> imgFileExts;
- static QString project;
+ static QString project_;
static QString outDir_;
static QString outSubdir_;
static QStringList outFileNames_;
@@ -212,7 +217,9 @@ private:
static bool noLinkErrors_;
static bool autolinkErrors_;
static bool redirectDocumentationToDevNull_;
- static Passes qdocPass_;
+ static QDocPass qdocPass_;
+ static bool qdocSingleExec_;
+ static bool qdocWriteQaPages_;
static bool useOutputSubdirs_;
void generateReimplementedFrom(const FunctionNode *func, CodeMarker *marker);
@@ -232,6 +239,7 @@ private:
bool inTableHeader_;
bool threeColumnEnumValueTable_;
bool showInternal_;
+ bool singleExec_;
int numTableRows_;
QString link_;
QString sectionNumber_;
diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp
index 0f5bf26e71..bc79d5ce7f 100644
--- a/src/tools/qdoc/htmlgenerator.cpp
+++ b/src/tools/qdoc/htmlgenerator.cpp
@@ -100,8 +100,10 @@ HtmlGenerator::HtmlGenerator()
*/
HtmlGenerator::~HtmlGenerator()
{
- if (helpProjectWriter)
+ if (helpProjectWriter) {
delete helpProjectWriter;
+ helpProjectWriter = 0;
+ }
}
/*!
@@ -130,6 +132,11 @@ void HtmlGenerator::initializeGenerator(const Config &config)
Generator::initializeGenerator(config);
obsoleteLinks = config.getBool(CONFIG_OBSOLETELINKS);
setImageFileExtensions(QStringList() << "png" << "jpg" << "jpeg" << "gif");
+
+ /*
+ The formatting maps are owned by Generator. They are cleared in
+ Generator::terminate().
+ */
int i = 0;
while (defaults[i].key) {
formattingLeftMap().insert(defaults[i].key, defaults[i].left);
@@ -215,7 +222,12 @@ void HtmlGenerator::initializeGenerator(const Config &config)
// The following line was changed to fix QTBUG-27798
//codeIndent = config.getInt(CONFIG_CODEINDENT);
- helpProjectWriter = new HelpProjectWriter(config, project.toLower() + ".qhp", this);
+ /*
+ The help file write should be allocated once and only once
+ per qdoc execution.
+ */
+ if (helpProjectWriter == 0)
+ helpProjectWriter = new HelpProjectWriter(config, project.toLower() + ".qhp", this);
// Documentation template handling
headerScripts = config.getString(HtmlGenerator::format() + Config::dot + CONFIG_HEADERSCRIPTS);
@@ -263,6 +275,20 @@ QString HtmlGenerator::format()
}
/*!
+ Generate targets for any \keyword commands that were seen
+ in the qdoc comment for the \a node.
+ */
+void HtmlGenerator::generateKeywordAnchors(const Node* node)
+{
+ if (!node->doc().isEmpty()) {
+ const QList<Atom*>& keywords = node->doc().keywords();
+ foreach (Atom* a, keywords) {
+ out() << "<a name=\"" << Doc::canonicalTitle(a->string()) << "\"></a>";
+ }
+ }
+}
+
+/*!
Traverses the current tree generating all the HTML documentation.
*/
void HtmlGenerator::generateDocs()
@@ -270,10 +296,12 @@ void HtmlGenerator::generateDocs()
Node* qflags = qdb_->findClassNode(QStringList("QFlags"));
if (qflags)
qflagsHref_ = linkForNode(qflags,0);
- if (!runPrepareOnly())
+ if (!preparing())
Generator::generateDocs();
+ if (Generator::generating() && Generator::writeQaPages())
+ generateQAPage();
- if (!runGenerateOnly()) {
+ if (!generating()) {
QString fileBase = project.toLower().simplified().replace(QLatin1Char(' '), QLatin1Char('-'));
qdb_->generateIndex(outputDir() + QLatin1Char('/') + fileBase + ".index",
projectUrl,
@@ -282,7 +310,7 @@ void HtmlGenerator::generateDocs()
true);
}
- if (!runPrepareOnly()) {
+ if (!preparing()) {
helpProjectWriter->generate();
generateManifestFiles();
/*
@@ -293,6 +321,144 @@ void HtmlGenerator::generateDocs()
}
/*!
+ Output the module's Quality Assurance page.
+ */
+void HtmlGenerator::generateQAPage()
+{
+ NamespaceNode* node = qdb_->primaryTreeRoot();
+ beginSubPage(node, "aaa-" + defaultModuleName().toLower() + "-qa-page.html");
+ CodeMarker* marker = CodeMarker::markerForFileName(node->location().filePath());
+ QString title = "Quality Assurance Page for " + defaultModuleName();
+ QString t = "Quality assurance information for checking the " + defaultModuleName() + " documentation.";
+ generateHeader(title, node, marker);
+ generateTitle(title, Text() << t, LargeSubTitle, node, marker);
+
+ QStringList strings;
+ QVector<int> counts;
+ QString depends = qdb_->getLinkCounts(strings, counts);
+ if (!strings.isEmpty()) {
+ t = "Intermodule Link Counts";
+ QString ref = registerRef(t);
+ out() << "<a name=\"" << ref << "\"></a>" << divNavTop << '\n';
+ out() << "<h2 id=\"" << ref << "\">" << protectEnc(t) << "</h2>\n";
+ out() << "<table class=\"valuelist\"><tr valign=\"top\" "
+ << "class=\"even\"><th class=\"tblConst\">Destination Module</th>"
+ << "<th class=\"tblval\">Link Count</th></tr>\n";
+ QString fileName;
+ for (int i = 0; i< strings.size(); ++i) {
+ fileName = generateLinksToLinksPage(strings.at(i), marker);
+ out() << "<tr><td class=\"topAlign\"><tt>"
+ << "<a href=\"" << fileName << "\">"
+ << strings.at(i) << "</a>"
+ << "</tt></td><td class=\"topAlign\"><tt>" << counts.at(i)
+ << "</tt></td></tr>\n";
+ }
+ int count = 0;
+ fileName = generateLinksToBrokenLinksPage(marker, count);
+ if (count != 0) {
+ out() << "<tr><td class=\"topAlign\"><tt>"
+ << "<a href=\"" << fileName << "\">"
+ << "Broken Links" << "</a>"
+ << "</tt></td><td class=\"topAlign\"><tt>" << count
+ << "</tt></td></tr>\n";
+
+ }
+
+ out() << "</table>\n";
+ t = "The Optimal \"depends\" Variable";
+ out() << "<h2>" << protectEnc(t) << "</h2>\n";
+ t = "Consider replacing the depends variable in " + defaultModuleName().toLower() +
+ ".qdocconf with this one, if the two are not identical:";
+ out() << "<p>" << protectEnc(t) << "</p>\n";
+ out() << "<p>" << protectEnc(depends) << "</p>\n";
+ }
+ generateFooter();
+ endSubPage();
+}
+
+/*!
+ This function writes an html file containing a list of
+ links to links that originate in the current module and
+ go to targets in the specified \a module. The \a marker
+ is used for the same thing the marker is always used for.
+ */
+QString HtmlGenerator::generateLinksToLinksPage(const QString& module, CodeMarker* marker)
+{
+ NamespaceNode* node = qdb_->primaryTreeRoot();
+ QString fileName = "aaa-links-to-" + module + ".html";
+ beginSubPage(node, fileName);
+ QString title = "Links from " + defaultModuleName() + " to " + module;
+ generateHeader(title, node, marker);
+ generateTitle(title, Text(), SmallSubTitle, node, marker);
+ out() << "<p>This is a list of links from " << defaultModuleName()
+ << " to " << module << ". ";
+ out() << "Click on a link to go to the location of the link. The link is marked ";
+ out() << "with red asterisks. ";
+ out() << "Click on the marked link to see if it goes to the right place.</p>\n";
+ TargetList* tlist = qdb_->getTargetList(module);
+ if (tlist) {
+ out() << "<table class=\"valuelist\"><tr valign=\"top\" class=\"odd\"><th class=\"tblConst\">Link to link...</th><th class=\"tblval\">In file...</th><th class=\"tbldscr\">Somewhere after line number...</th></tr>\n";
+ foreach (TargetLoc* t, *tlist) {
+ // e.g.: <a name="link-8421"></a><a href="layout.html">Layout Management</a>
+ out() << "<tr><td class=\"topAlign\">";
+ out() << "<a href=\"" << t->fileName_ << "#" << t->target_ << "\">";
+ out() << t->text_ << "</a></td>";
+ out() << "<td class=\"topAlign\">";
+ QString f = t->loc_->doc().location().filePath();
+ out() << f << "</td>";
+ out() << "<td class=\"topAlign\">";
+ out() << t->loc_->doc().location().lineNo() << "</td></tr>\n";
+ }
+ out() << "</table>\n";
+ }
+ generateFooter();
+ endSubPage();
+ return fileName;
+}
+
+/*!
+ This function writes an html file containing a list of
+ links to broken links that originate in the current
+ module and go nowwhere. It returns the name of the file
+ it generates, and it sets \a count to the number of
+ broken links that were found. The \a marker is used for
+ the same thing the marker is always used for.
+ */
+QString HtmlGenerator::generateLinksToBrokenLinksPage(CodeMarker* marker, int& count)
+{
+ QString fileName;
+ NamespaceNode* node = qdb_->primaryTreeRoot();
+ TargetList* tlist = qdb_->getTargetList("broken");
+ if (tlist && !tlist->isEmpty()) {
+ count = tlist->size();
+ fileName = "aaa-links-to-broken-links.html";
+ beginSubPage(node, fileName);
+ QString title = "Broken links in " + defaultModuleName();
+ generateHeader(title, node, marker);
+ generateTitle(title, Text(), SmallSubTitle, node, marker);
+ out() << "<p>This is a list of broken links in " << defaultModuleName() << ". ";
+ out() << "Click on a link to go to the broken link. ";
+ out() << "The link's target could not be found.</p>\n";
+ out() << "<table class=\"valuelist\"><tr valign=\"top\" class=\"odd\"><th class=\"tblConst\">Link to broken link...</th><th class=\"tblval\">In file...</th><th class=\"tbldscr\">Somewhere after line number...</th></tr>\n";
+ foreach (TargetLoc* t, *tlist) {
+ // e.g.: <a name="link-8421"></a><a href="layout.html">Layout Management</a>
+ out() << "<tr><td class=\"topAlign\">";
+ out() << "<a href=\"" << t->fileName_ << "#" << t->target_ << "\">";
+ out() << t->text_ << "</a></td>";
+ out() << "<td class=\"topAlign\">";
+ QString f = t->loc_->doc().location().filePath();
+ out() << f << "</td>";
+ out() << "<td class=\"topAlign\">";
+ out() << t->loc_->doc().location().lineNo() << "</td></tr>\n";
+ }
+ out() << "</table>\n";
+ generateFooter();
+ endSubPage();
+ }
+ return fileName;
+}
+
+/*!
Generate html from an instance of Atom.
*/
int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMarker *marker)
@@ -310,6 +476,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark
case Atom::AbstractRight:
break;
case Atom::AutoLink:
+ case Atom::NavAutoLink:
if (!inLink_ && !inContents_ && !inSectionHeading_) {
const Node *node = 0;
QString link = getAutoLink(atom, relative, &node);
@@ -321,9 +488,15 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark
if ((relative->parent() != node) && !relative->isObsolete())
link.clear();
}
- if (link.isEmpty())
+ if (link.isEmpty()) {
out() << protectEnc(atom->string());
+ }
else {
+ if (Generator::writeQaPages() && node && (atom->type() != Atom::NavAutoLink)) {
+ QString text = atom->string();
+ QString target = qdb_->getNewLinkTarget(relative, node, outFileName(), text);
+ out() << "<a id=\"" << Doc::canonicalTitle(target) << "\" class=\"qa-mark\"></a>";
+ }
beginLink(link, node, relative);
generateLink(atom, marker);
endLink();
@@ -806,14 +979,31 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark
out() << "<br/>";
break;
case Atom::Link:
+ case Atom::NavLink:
{
inObsoleteLink = false;
const Node *node = 0;
QString link = getLink(atom, relative, &node);
if (link.isEmpty() && (node != relative) && !noLinkErrors()) {
relative->doc().location().warning(tr("Can't link to '%1'").arg(atom->string()));
+ if (Generator::writeQaPages() && (atom->type() != Atom::NavAutoLink)) {
+ QString text = atom->next()->next()->string();
+ QString target = qdb_->getNewLinkTarget(relative, node, outFileName(), text, true);
+ out() << "<a id=\"" << Doc::canonicalTitle(target) << "\" class=\"qa-mark\"></a>";
+ }
}
else {
+ if (Generator::writeQaPages() && node && (atom->type() != Atom::NavLink)) {
+ QString text = atom->next()->next()->string();
+ QString target = qdb_->getNewLinkTarget(relative, node, outFileName(), text);
+ out() << "<a id=\"" << Doc::canonicalTitle(target) << "\" class=\"qa-mark\"></a>";
+ }
+ /*
+ mws saw this on 17/10/2014.
+ Is this correct? Setting node to 0 means the
+ following test always fails. Did we decide to
+ no longer warn about linking to obsolete things?
+ */
node = 0;
if (node && node->status() == Node::Obsolete) {
if ((relative->parent() != node) && !relative->isObsolete()) {
@@ -1126,6 +1316,8 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark
break;
case Atom::TableOfContents:
break;
+ case Atom::Keyword:
+ break;
case Atom::Target:
out() << "<a name=\"" << Doc::canonicalTitle(atom->string()) << "\"></a>";
break;
@@ -1173,8 +1365,10 @@ void HtmlGenerator::generateClassLikeNode(InnerNode* inner, CodeMarker* marker)
subtitleText << "(" << Atom(Atom::AutoLink, fullTitle) << ")" << Atom(Atom::LineBreak);
generateHeader(title, inner, marker);
+
sections = marker->sections(inner, CodeMarker::Summary, CodeMarker::Okay);
generateTableOfContents(inner,marker,&sections);
+ generateKeywordAnchors(inner);
generateTitle(title, subtitleText, SmallSubTitle, inner, marker);
generateBrief(inner, marker);
generateRequisites(inner, marker);
@@ -1347,6 +1541,7 @@ void HtmlGenerator::generateQmlTypePage(QmlClassNode* qcn, CodeMarker* marker)
QList<Section> sections = marker->qmlSections(qcn, CodeMarker::Summary);
generateTableOfContents(qcn, marker, &sections);
marker = CodeMarker::markerForLanguage(QLatin1String("QML"));
+ generateKeywordAnchors(qcn);
generateTitle(htmlTitle, Text() << qcn->subTitle(), subTitleSize, qcn, marker);
generateBrief(qcn, marker);
generateQmlRequisites(qcn, marker);
@@ -1418,6 +1613,7 @@ void HtmlGenerator::generateQmlBasicTypePage(QmlBasicTypeNode* qbtn, CodeMarker*
generateHeader(htmlTitle, qbtn, marker);
QList<Section> sections = marker->sections(qbtn, CodeMarker::Summary, CodeMarker::Okay);
generateTableOfContents(qbtn,marker,&sections);
+ generateKeywordAnchors(qbtn);
generateTitle(htmlTitle,
Text() << qbtn->subTitle(),
subTitleSize,
@@ -1463,6 +1659,7 @@ void HtmlGenerator::generateDocNode(DocNode* dn, CodeMarker* marker)
if ((dn->name() != QStringLiteral("index.html")))
generateTableOfContents(dn,marker,0);
+ generateKeywordAnchors(dn);
generateTitle(fullTitle,
Text() << dn->subTitle(),
subTitleSize,
@@ -1547,6 +1744,7 @@ void HtmlGenerator::generateCollectionNode(CollectionNode* cn, CodeMarker* marke
generateHeader(fullTitle, cn, marker);
generateTableOfContents(cn,marker,0);
+ generateKeywordAnchors(cn);
generateTitle(fullTitle, Text() << cn->subTitle(), subTitleSize, cn, marker);
if (cn->isModule()) {
@@ -1647,11 +1845,11 @@ void HtmlGenerator::generateNavigationBar(const QString &title,
return;
if (!homepage.isEmpty())
navigationbar << Atom(Atom::ListItemLeft)
- << Atom(Atom::AutoLink, homepage)
+ << Atom(Atom::NavAutoLink, homepage)
<< Atom(Atom::ListItemRight);
if (!landingpage.isEmpty() && landingpage != title)
navigationbar << Atom(Atom::ListItemLeft)
- << Atom(Atom::AutoLink, landingpage)
+ << Atom(Atom::NavAutoLink, landingpage)
<< Atom(Atom::ListItemRight);
if (node->isClass()) {
@@ -1660,7 +1858,7 @@ void HtmlGenerator::generateNavigationBar(const QString &title,
if (!cppclassespage.isEmpty())
navigationbar << Atom(Atom::ListItemLeft)
- << Atom(Atom::Link, cppclassespage)
+ << Atom(Atom::NavLink, cppclassespage)
<< Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK)
<< Atom(Atom::String, QLatin1String("C++ Classes"))
<< Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK)
@@ -1674,7 +1872,7 @@ void HtmlGenerator::generateNavigationBar(const QString &title,
else if (node->isQmlType() || node->isQmlBasicType()) {
if (!qmltypespage.isEmpty())
navigationbar << Atom(Atom::ListItemLeft)
- << Atom(Atom::Link, qmltypespage)
+ << Atom(Atom::NavLink, qmltypespage)
<< Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK)
<< Atom(Atom::String, QLatin1String("QML Types"))
<< Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK)
@@ -1686,7 +1884,7 @@ void HtmlGenerator::generateNavigationBar(const QString &title,
else {
if (node->isExampleFile()) {
navigationbar << Atom(Atom::ListItemLeft)
- << Atom(Atom::Link, node->parent()->name())
+ << Atom(Atom::NavLink, node->parent()->name())
<< Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK)
<< Atom(Atom::String, node->parent()->title())
<< Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK)
@@ -2321,7 +2519,7 @@ QString HtmlGenerator::generateListOfAllMemberFile(const InnerNode *inner,
out() << ", including inherited members.</p>\n";
Section section = sections.first();
- generateSectionList(section, 0, marker, CodeMarker::Subpage);
+ generateSectionList(section, inner, marker, CodeMarker::Subpage);
generateFooter();
endSubPage();
@@ -2378,7 +2576,7 @@ QString HtmlGenerator::generateAllQmlMembersFile(QmlClassNode* qml_cn, CodeMarke
prefix = keys.at(j).mid(1);
prefix = prefix.left(keys.at(j).indexOf("::")+1);
}
- generateQmlItem(nodes[j], qcn, marker, true);
+ generateQmlItem(nodes[j], qml_cn, marker, true);
if (nodes[j]->isAttached())
out() << " [attached]";
//generateSynopsis(nodes[j], qcn, marker, CodeMarker::Subpage, false, &prefix);
@@ -2807,8 +3005,9 @@ void HtmlGenerator::generateCompactList(ListType listType,
else if (listType == Obsolete) {
QString fileName = fileBase(it.value()) + "-obsolete." + fileExtension();
QString link;
- if (useOutputSubdirs())
+ if (useOutputSubdirs()) {
link = QString("../" + it.value()->outputSubdirectory() + QLatin1Char('/'));
+ }
link += fileName;
out() << "<a href=\"" << link << "\">";
}
@@ -2848,7 +3047,7 @@ void HtmlGenerator::generateFunctionIndex(const Node *relative)
char currentLetter;
out() << "<ul>\n";
- NodeMapMap funcIndex = qdb_->getFunctionIndex();
+ NodeMapMap& funcIndex = qdb_->getFunctionIndex();
QMap<QString, NodeMap >::ConstIterator f = funcIndex.constBegin();
while (f != funcIndex.constEnd()) {
out() << "<li>";
@@ -3667,34 +3866,7 @@ QString HtmlGenerator::getLink(const Atom *atom, const Node *relative, const Nod
if (t.startsWith("mailto:"))
return t;
}
-
- QString ref;
-
- *node = qdb_->findNodeForAtom(atom, relative, ref);
- if (!(*node))
- return QString();
-
- QString url = (*node)->url();
- if (!url.isEmpty()) {
- if (ref.isEmpty())
- return url;
- int hashtag = url.lastIndexOf(QChar('#'));
- if (hashtag != -1)
- url.truncate(hashtag);
- return url + "#" + ref;
- }
- /*
- Given that *node is not null, we now cconstruct a link
- to the page that *node represents, and then if we found
- a target on that page, we connect the target to the link
- with '#'.
- */
- QString link = linkForNode(*node, relative);
- if (*node && (*node)->subType() == Node::Image)
- link = "images/used-in-examples/" + link;
- if (!ref.isEmpty())
- link += QLatin1Char('#') + ref;
- return link;
+ return getAutoLink(atom, relative, node);
}
/*!
@@ -3712,29 +3884,28 @@ QString HtmlGenerator::getLink(const Atom *atom, const Node *relative, const Nod
QString HtmlGenerator::getAutoLink(const Atom *atom, const Node *relative, const Node** node)
{
QString ref;
- QString link;
*node = qdb_->findNodeForAtom(atom, relative, ref);
if (!(*node))
return QString();
- QString url = (*node)->url();
- if (!url.isEmpty()) {
- if (ref.isEmpty())
- return url;
- int hashtag = url.lastIndexOf(QChar('#'));
+ QString link = (*node)->url();
+ if (link.isEmpty()) {
+ link = linkForNode(*node, relative);
+ if ((*node)->subType() == Node::Image)
+ link = "images/used-in-examples/" + link;
+ if (!ref.isEmpty())
+ link += QLatin1Char('#') + ref;
+ }
+ else if (!ref.isEmpty()) {
+ int hashtag = link.lastIndexOf(QChar('#'));
if (hashtag != -1)
- url.truncate(hashtag);
- return url + "#" + ref;
+ link.truncate(hashtag);
+ link += "#" + ref;
}
-
- link = linkForNode(*node, relative);
- if (!ref.isEmpty())
- link += QLatin1Char('#') + ref;
return link;
}
-
/*!
Construct the link string for the \a node and return it.
The \a relative node is use to decide the link we are
@@ -3789,7 +3960,12 @@ QString HtmlGenerator::linkForNode(const Node *node, const Node *relative)
if (node && relative && (node != relative)) {
if (useOutputSubdirs() && !node->isExternalPage() &&
node->outputSubdirectory() != relative->outputSubdirectory()) {
- link.prepend(QString("../" + node->outputSubdirectory() + QLatin1Char('/')));
+ if (link.startsWith(QString(node->outputSubdirectory() + QLatin1Char('/')))) {
+ link.prepend(QString("../"));
+ }
+ else {
+ link.prepend(QString("../" + node->outputSubdirectory() + QLatin1Char('/')));
+ }
}
}
return link;
@@ -3827,6 +4003,7 @@ void HtmlGenerator::generateDetailedMember(const Node *node,
generateMacRef(node, marker);
#endif
generateExtractionMark(node, MemberMark);
+ generateKeywordAnchors(node);
QString nodeRef = refForNode(node);
if (node->type() == Node::Enum
&& (enume = static_cast<const EnumNode *>(node))->flagsType()) {
@@ -4063,6 +4240,7 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node,
generateMacRef(node, marker);
#endif
generateExtractionMark(node, MemberMark);
+ generateKeywordAnchors(node);
out() << "<div class=\"qmlitem\">";
QString nodeRef = refForNode(node);
if (node->type() == Node::QmlPropertyGroup) {
@@ -4516,6 +4694,9 @@ void HtmlGenerator::generateManifestFile(QString manifest, QString element)
Reads metacontent - additional attributes and tags to apply
when generating manifest files, read from config. Takes the
configuration class \a config as a parameter.
+
+ The manifest metacontent map is cleared immediately after
+ the manifest files have been generated.
*/
void HtmlGenerator::readManifestMetaContent(const Config &config)
{
diff --git a/src/tools/qdoc/htmlgenerator.h b/src/tools/qdoc/htmlgenerator.h
index 40360da02e..f7625113f0 100644
--- a/src/tools/qdoc/htmlgenerator.h
+++ b/src/tools/qdoc/htmlgenerator.h
@@ -89,6 +89,9 @@ public:
static QString sinceTitle(int i) { return sinceTitles[i]; }
protected:
+ virtual void generateQAPage();
+ QString generateLinksToLinksPage(const QString& module, CodeMarker* marker);
+ QString generateLinksToBrokenLinksPage(CodeMarker* marker, int& count);
virtual int generateAtom(const Atom *atom,
const Node *relative,
CodeMarker *marker);
@@ -103,6 +106,7 @@ protected:
void generateManifestFile(QString manifest, QString element);
void readManifestMetaContent(const Config &config);
+ void generateKeywordAnchors(const Node* node);
private:
enum SubTitleSize { SmallSubTitle, LargeSubTitle };
diff --git a/src/tools/qdoc/location.cpp b/src/tools/qdoc/location.cpp
index 040dd0cd88..923901fc34 100644
--- a/src/tools/qdoc/location.cpp
+++ b/src/tools/qdoc/location.cpp
@@ -256,7 +256,7 @@ QString Location::canonicalRelativePath(const QString &path)
*/
void Location::warning(const QString& message, const QString& details) const
{
- if (!Generator::runPrepareOnly())
+ if (!Generator::preparing())
emitMessage(Warning, message, details);
}
@@ -267,7 +267,7 @@ void Location::warning(const QString& message, const QString& details) const
*/
void Location::error(const QString& message, const QString& details) const
{
- if (!Generator::runPrepareOnly())
+ if (!Generator::preparing())
emitMessage(Error, message, details);
}
@@ -286,6 +286,15 @@ void Location::fatal(const QString& message, const QString& details) const
}
/*!
+ Writes \a message and \a detals to stderr as a formatted
+ report message.
+ */
+void Location::report(const QString& message, const QString& details) const
+{
+ emitMessage(Report, message, details);
+}
+
+/*!
Gets several parameters from the \a config, including
tab size, program name, and a regular expression that
appears to be used for matching certain error messages
@@ -371,7 +380,8 @@ void Location::emitMessage(MessageType type,
result.prepend(tr(": error: "));
else if (type == Warning)
result.prepend(tr(": warning: "));
- result.prepend(toString());
+ if (type != Report)
+ result.prepend(toString());
fprintf(stderr, "%s\n", result.toLatin1().data());
fflush(stderr);
}
diff --git a/src/tools/qdoc/location.h b/src/tools/qdoc/location.h
index eb4dbbae98..b6589fd6ab 100644
--- a/src/tools/qdoc/location.h
+++ b/src/tools/qdoc/location.h
@@ -81,6 +81,8 @@ public:
const QString& details = QString()) const;
void fatal(const QString& message,
const QString& details = QString()) const;
+ void report(const QString& message,
+ const QString& details = QString()) const;
static const Location null;
@@ -94,7 +96,7 @@ public:
static QString canonicalRelativePath(const QString &path);
private:
- enum MessageType { Warning, Error };
+ enum MessageType { Warning, Error, Report };
struct StackEntry
{
diff --git a/src/tools/qdoc/main.cpp b/src/tools/qdoc/main.cpp
index 118c206f16..186fd3195b 100644
--- a/src/tools/qdoc/main.cpp
+++ b/src/tools/qdoc/main.cpp
@@ -63,7 +63,6 @@
QT_BEGIN_NAMESPACE
-
bool creationTimeBefore(const QFileInfo &fi1, const QFileInfo &fi2)
{
return fi1.lastModified() < fi2.lastModified();
@@ -71,6 +70,8 @@ bool creationTimeBefore(const QFileInfo &fi1, const QFileInfo &fi2)
static bool highlighting = false;
static bool showInternal = false;
+static bool singleExec = false;
+static bool writeQaPages = false;
static bool redirectDocumentationToDevNull = false;
static bool noLinkErrors = false;
static bool autolinkErrors = false;
@@ -80,14 +81,22 @@ static QStringList dependModules;
static QStringList indexDirs;
static QString currentDir;
static QString prevCurrentDir;
+static QHash<QString,QString> defaults;
+#ifndef QT_NO_TRANSLATION
+typedef QPair<QString, QTranslator*> Translator;
+static QList<Translator> translators;
+#endif
-
+/*!
+ Read some XML indexes containing definitions from other
+ documentation sets. \a config contains a variable that
+ lists directories where index files can bge found. It also
+ contains the \c depends variable, which lists the modules
+ that the current module depends on.
+*/
static void loadIndexFiles(Config& config)
{
QDocDatabase* qdb = QDocDatabase::qdocDB();
- /*
- Read some XML indexes containing definitions from other documentation sets.
- */
QStringList indexFiles;
QStringList configIndexes = config.getStringList(CONFIG_INDEXES);
foreach (const QString &index, configIndexes) {
@@ -194,35 +203,17 @@ static void loadIndexFiles(Config& config)
*/
static void processQdocconfFile(const QString &fileName)
{
-#ifndef QT_NO_TRANSLATION
- QList<QTranslator *> translators;
-#endif
-
/*
The Config instance represents the configuration data for qdoc.
- All the other classes are initialized with the config. Here we
+ All the other classes are initialized with the config. Below, we
initialize the configuration with some default values.
- */
- Config config(QCoreApplication::translate("QDoc", "qdoc"));
- /*
- The default indent for code is 4.
- The default value for false is 0.
- The default supported file extensions are cpp, h, qdoc and qml.
- The default language is c++.
- The default output format is html.
- The default tab size is 8.
- And those are all the default values for configuration variables.
+ I don't think the call to translate() does anything here. For one
+ thing, the translators haven't been installed at this point. And
+ I doubt any translator would translate QDoc anyway. But I left it
+ here because it does no harm.
*/
- static QHash<QString,QString> defaults;
- if (defaults.isEmpty()) {
- defaults.insert(CONFIG_CODEINDENT, QLatin1String("4"));
- defaults.insert(CONFIG_FALSEHOODS, QLatin1String("0"));
- defaults.insert(CONFIG_FILEEXTENSIONS, QLatin1String("*.cpp *.h *.qdoc *.qml"));
- defaults.insert(CONFIG_LANGUAGE, QLatin1String("Cpp"));
- defaults.insert(CONFIG_OUTPUTFORMATS, QLatin1String("HTML"));
- defaults.insert(CONFIG_TABSIZE, QLatin1String("8"));
- }
+ Config config(QCoreApplication::translate("QDoc", "qdoc"));
QHash<QString,QString>::iterator iter;
for (iter = defaults.begin(); iter != defaults.end(); ++iter)
@@ -230,6 +221,8 @@ static void processQdocconfFile(const QString &fileName)
config.setStringList(CONFIG_SYNTAXHIGHLIGHTING, QStringList(highlighting ? "true" : "false"));
config.setStringList(CONFIG_SHOWINTERNAL, QStringList(showInternal ? "true" : "false"));
+ config.setStringList(CONFIG_SINGLEEXEC, QStringList(singleExec ? "true" : "false"));
+ config.setStringList(CONFIG_WRITEQAPAGES, QStringList(writeQaPages ? "true" : "false"));
config.setStringList(CONFIG_REDIRECTDOCUMENTATIONTODEVNULL, QStringList(redirectDocumentationToDevNull ? "true" : "false"));
config.setStringList(CONFIG_NOLINKERRORS, QStringList(noLinkErrors ? "true" : "false"));
config.setStringList(CONFIG_AUTOLINKERRORS, QStringList(autolinkErrors ? "true" : "false"));
@@ -247,8 +240,8 @@ static void processQdocconfFile(const QString &fileName)
currentDir = QFileInfo(fileName).path();
Location::initialize(config);
config.load(fileName);
- QString project = config.getString(CONFIG_PROJECT).toLower();
- //qDebug() << "\nStart project:" << project;
+ QString project = config.getString(CONFIG_PROJECT);
+ //qDebug() << "Start project:" << project;
/*
Add the defines to the configuration variables.
*/
@@ -261,17 +254,24 @@ static void processQdocconfFile(const QString &fileName)
if (!currentDir.isEmpty())
QDir::setCurrent(currentDir);
- QString phase;
- if (Generator::runPrepareOnly())
- phase = " in -prepare mode ";
- else if (Generator::runGenerateOnly())
- phase = " in -generate mode ";
+ QString phase = " in -";
+ if (Generator::singleExec())
+ phase += "single exec mode, ";
+ else
+ phase += "separate exec mode, ";
+ if (Generator::preparing())
+ phase += "prepare phase ";
+ else if (Generator::generating())
+ phase += "generate phase ";
QString msg = "Running qdoc for " + config.getString(CONFIG_PROJECT) + phase;
Location::logToStdErr(msg);
/*
Initialize all the classes and data structures with the
- qdoc configuration.
+ qdoc configuration. This is safe to do for each qdocconf
+ file processed, because all the data structures created
+ are either cleared after they have been used, or they
+ are cleared in the terminate() functions below.
*/
Location::initialize(config);
Tokenizer::initialize(config);
@@ -282,16 +282,32 @@ static void processQdocconfFile(const QString &fileName)
#ifndef QT_NO_TRANSLATION
/*
- Load the language translators, if the configuration specifies any.
+ Load the language translators, if the configuration specifies any,
+ but only if they haven't already been loaded. This works in both
+ -prepare/-generate mode and -singleexec mode.
*/
QStringList fileNames = config.getStringList(CONFIG_TRANSLATORS);
QStringList::ConstIterator fn = fileNames.constBegin();
while (fn != fileNames.constEnd()) {
- QTranslator *translator = new QTranslator(0);
- if (!translator->load(*fn))
- config.lastLocation().error(QCoreApplication::translate("QDoc", "Cannot load translator '%1'").arg(*fn));
- QCoreApplication::instance()->installTranslator(translator);
- translators.append(translator);
+ bool found = false;
+ if (!translators.isEmpty()) {
+ for (int i=0; i<translators.size(); ++i) {
+ if (translators.at(i).first == *fn) {
+ found = true;
+ break;
+ }
+ }
+ }
+ if (!found) {
+ QTranslator *translator = new QTranslator(0);
+ if (!translator->load(*fn)) {
+ config.lastLocation().error(QCoreApplication::translate("QDoc", "Cannot load translator '%1'").arg(*fn));
+ }
+ else {
+ QCoreApplication::instance()->installTranslator(translator);
+ translators.append(Translator(*fn, translator));
+ }
+ }
++fn;
}
#endif
@@ -311,175 +327,228 @@ static void processQdocconfFile(const QString &fileName)
will be stored. The database includes a tree of nodes, which gets
built as the source files are parsed. The documentation output is
generated by traversing that tree.
+
+ Note: qdocDB() allocates a new instance only if no instance exists.
+ So it is safe to call qdocDB() any time.
*/
QDocDatabase* qdb = QDocDatabase::qdocDB();
qdb->setVersion(config.getString(CONFIG_VERSION));
qdb->setShowInternal(config.getBool(CONFIG_SHOWINTERNAL));
+ qdb->setSingleExec(config.getBool(CONFIG_SINGLEEXEC));
/*
By default, the only output format is HTML.
*/
QSet<QString> outputFormats = config.getOutputFormats();
Location outputFormatsLocation = config.lastLocation();
- //if (!Generator::runPrepareOnly())
- Generator::debug(" loading index files");
- loadIndexFiles(config);
- qdb->newPrimaryTree(config.getString(CONFIG_PROJECT));
- qdb->setSearchOrder();
- Generator::debug(" done loading index files");
+ qdb->clearSearchOrder();
+ QString p = config.getString(CONFIG_PROJECT).toLower();
+ if (!Generator::singleExec()) {
+ Generator::debug(" loading index files");
+ loadIndexFiles(config);
+ Generator::debug(" done loading index files");
+ qdb->newPrimaryTree(p);
+ }
+ else if (Generator::preparing())
+ qdb->newPrimaryTree(p);
+ else
+ qdb->setPrimaryTree(p);
+
+ dependModules = config.getStringList(CONFIG_DEPENDS);
+ dependModules.removeDuplicates();
+ qdb->setSearchOrder(dependModules);
QSet<QString> excludedDirs;
QSet<QString> excludedFiles;
- QStringList headerList;
- QStringList sourceList;
QStringList excludedDirsList;
QStringList excludedFilesList;
- Generator::debug("Reading excludedirs");
- excludedDirsList = config.getCanonicalPathList(CONFIG_EXCLUDEDIRS);
- foreach (const QString &excludeDir, excludedDirsList) {
- QString p = QDir::fromNativeSeparators(excludeDir);
- QDir tmp(p);
- if (tmp.exists())
- excludedDirs.insert(p);
- }
+ if (!Generator::singleExec() || !Generator::generating()) {
+ QStringList headerList;
+ QStringList sourceList;
+
+ Generator::debug("Reading excludedirs");
+ excludedDirsList = config.getCanonicalPathList(CONFIG_EXCLUDEDIRS);
+ foreach (const QString &excludeDir, excludedDirsList) {
+ QString p = QDir::fromNativeSeparators(excludeDir);
+ QDir tmp(p);
+ if (tmp.exists())
+ excludedDirs.insert(p);
+ }
- Generator::debug("Reading excludefiles");
- excludedFilesList = config.getCanonicalPathList(CONFIG_EXCLUDEFILES);
- foreach (const QString& excludeFile, excludedFilesList) {
- QString p = QDir::fromNativeSeparators(excludeFile);
- excludedFiles.insert(p);
- }
+ Generator::debug("Reading excludefiles");
+ excludedFilesList = config.getCanonicalPathList(CONFIG_EXCLUDEFILES);
+ foreach (const QString& excludeFile, excludedFilesList) {
+ QString p = QDir::fromNativeSeparators(excludeFile);
+ excludedFiles.insert(p);
+ }
- Generator::debug("Reading headerdirs");
- headerList = config.getAllFiles(CONFIG_HEADERS,CONFIG_HEADERDIRS,excludedDirs,excludedFiles);
- QMap<QString,QString> headers;
- QMultiMap<QString,QString> headerFileNames;
- for (int i=0; i<headerList.size(); ++i) {
- if (headerList[i].contains(QString("doc/snippets")))
- continue;
- if (headers.contains(headerList[i]))
- continue;
- headers.insert(headerList[i],headerList[i]);
- QString t = headerList[i].mid(headerList[i].lastIndexOf('/')+1);
- headerFileNames.insert(t,t);
- }
+ Generator::debug("Reading headerdirs");
+ headerList = config.getAllFiles(CONFIG_HEADERS,CONFIG_HEADERDIRS,excludedDirs,excludedFiles);
+ QMap<QString,QString> headers;
+ QMultiMap<QString,QString> headerFileNames;
+ for (int i=0; i<headerList.size(); ++i) {
+ if (headerList[i].contains(QString("doc/snippets")))
+ continue;
+ if (headers.contains(headerList[i]))
+ continue;
+ headers.insert(headerList[i],headerList[i]);
+ QString t = headerList[i].mid(headerList[i].lastIndexOf('/')+1);
+ headerFileNames.insert(t,t);
+ }
- Generator::debug("Reading sourcedirs");
- sourceList = config.getAllFiles(CONFIG_SOURCES,CONFIG_SOURCEDIRS,excludedDirs,excludedFiles);
- QMap<QString,QString> sources;
- QMultiMap<QString,QString> sourceFileNames;
- for (int i=0; i<sourceList.size(); ++i) {
- if (sourceList[i].contains(QString("doc/snippets")))
- continue;
- if (sources.contains(sourceList[i]))
- continue;
- sources.insert(sourceList[i],sourceList[i]);
- QString t = sourceList[i].mid(sourceList[i].lastIndexOf('/')+1);
- sourceFileNames.insert(t,t);
- }
- /*
- Find all the qdoc files in the example dirs, and add
- them to the source files to be parsed.
- */
- Generator::debug("Reading exampledirs");
- QStringList exampleQdocList = config.getExampleQdocFiles(excludedDirs, excludedFiles);
- for (int i=0; i<exampleQdocList.size(); ++i) {
- if (!sources.contains(exampleQdocList[i])) {
- sources.insert(exampleQdocList[i],exampleQdocList[i]);
- QString t = exampleQdocList[i].mid(exampleQdocList[i].lastIndexOf('/')+1);
+ Generator::debug("Reading sourcedirs");
+ sourceList = config.getAllFiles(CONFIG_SOURCES,CONFIG_SOURCEDIRS,excludedDirs,excludedFiles);
+ QMap<QString,QString> sources;
+ QMultiMap<QString,QString> sourceFileNames;
+ for (int i=0; i<sourceList.size(); ++i) {
+ if (sourceList[i].contains(QString("doc/snippets")))
+ continue;
+ if (sources.contains(sourceList[i]))
+ continue;
+ sources.insert(sourceList[i],sourceList[i]);
+ QString t = sourceList[i].mid(sourceList[i].lastIndexOf('/')+1);
sourceFileNames.insert(t,t);
}
- }
+ /*
+ Find all the qdoc files in the example dirs, and add
+ them to the source files to be parsed.
+ */
+ Generator::debug("Reading exampledirs");
+ QStringList exampleQdocList = config.getExampleQdocFiles(excludedDirs, excludedFiles);
+ for (int i=0; i<exampleQdocList.size(); ++i) {
+ if (!sources.contains(exampleQdocList[i])) {
+ sources.insert(exampleQdocList[i],exampleQdocList[i]);
+ QString t = exampleQdocList[i].mid(exampleQdocList[i].lastIndexOf('/')+1);
+ sourceFileNames.insert(t,t);
+ }
+ }
- Generator::debug("Adding doc/image dirs found in exampledirs to imagedirs");
- QSet<QString> exampleImageDirs;
- QStringList exampleImageList = config.getExampleImageFiles(excludedDirs, excludedFiles);
- for (int i=0; i<exampleImageList.size(); ++i) {
- if (exampleImageList[i].contains("doc/images")) {
- QString t = exampleImageList[i].left(exampleImageList[i].lastIndexOf("doc/images")+10);
- if (!exampleImageDirs.contains(t)) {
- exampleImageDirs.insert(t);
+ Generator::debug("Adding doc/image dirs found in exampledirs to imagedirs");
+ QSet<QString> exampleImageDirs;
+ QStringList exampleImageList = config.getExampleImageFiles(excludedDirs, excludedFiles);
+ for (int i=0; i<exampleImageList.size(); ++i) {
+ if (exampleImageList[i].contains("doc/images")) {
+ QString t = exampleImageList[i].left(exampleImageList[i].lastIndexOf("doc/images")+10);
+ if (!exampleImageDirs.contains(t)) {
+ exampleImageDirs.insert(t);
+ }
}
}
- }
- Generator::augmentImageDirs(exampleImageDirs);
+ Generator::augmentImageDirs(exampleImageDirs);
+
+ /*
+ Parse each header file in the set using the appropriate parser and add it
+ to the big tree.
+ */
+ QSet<CodeParser *> usedParsers;
+
+ Generator::debug("Parsing header files");
+ int parsed = 0;
+ QMap<QString,QString>::ConstIterator h = headers.constBegin();
+ while (h != headers.constEnd()) {
+ CodeParser *codeParser = CodeParser::parserForHeaderFile(h.key());
+ if (codeParser) {
+ ++parsed;
+ Generator::debug(QString("Parsing " + h.key()));
+ codeParser->parseHeaderFile(config.location(), h.key());
+ usedParsers.insert(codeParser);
+ }
+ ++h;
+ }
- /*
- Parse each header file in the set using the appropriate parser and add it
- to the big tree.
- */
- QSet<CodeParser *> usedParsers;
-
- Generator::debug("Parsing header files");
- int parsed = 0;
- QMap<QString,QString>::ConstIterator h = headers.constBegin();
- while (h != headers.constEnd()) {
- CodeParser *codeParser = CodeParser::parserForHeaderFile(h.key());
- if (codeParser) {
- ++parsed;
- Generator::debug(QString("Parsing " + h.key()));
- codeParser->parseHeaderFile(config.location(), h.key());
- usedParsers.insert(codeParser);
+ foreach (CodeParser *codeParser, usedParsers)
+ codeParser->doneParsingHeaderFiles();
+
+ usedParsers.clear();
+ qdb->resolveInheritance();
+
+ /*
+ Parse each source text file in the set using the appropriate parser and
+ add it to the big tree.
+ */
+ parsed = 0;
+ Generator::debug("Parsing source files");
+ QMap<QString,QString>::ConstIterator s = sources.constBegin();
+ while (s != sources.constEnd()) {
+ CodeParser *codeParser = CodeParser::parserForSourceFile(s.key());
+ if (codeParser) {
+ ++parsed;
+ Generator::debug(QString("Parsing " + s.key()));
+ codeParser->parseSourceFile(config.location(), s.key());
+ usedParsers.insert(codeParser);
+ }
+ ++s;
}
- ++h;
+ Generator::debug(QString("Parsing done."));
+
+ foreach (CodeParser *codeParser, usedParsers)
+ codeParser->doneParsingSourceFiles();
+
+ /*
+ Now the primary tree has been built from all the header and
+ source files. Resolve all the class names, function names,
+ targets, URLs, links, and other stuff that needs resolving.
+ */
+ Generator::debug("Resolving stuff prior to generating docs");
+ qdb->resolveIssues();
}
+ else {
+ Generator::debug("Reading excludedirs");
+ excludedDirsList = config.getCanonicalPathList(CONFIG_EXCLUDEDIRS);
+ foreach (const QString &excludeDir, excludedDirsList) {
+ QString p = QDir::fromNativeSeparators(excludeDir);
+ QDir tmp(p);
+ if (tmp.exists())
+ excludedDirs.insert(p);
+ }
- foreach (CodeParser *codeParser, usedParsers)
- codeParser->doneParsingHeaderFiles();
-
- usedParsers.clear();
- qdb->resolveInheritance();
+ Generator::debug("Reading excludefiles");
+ excludedFilesList = config.getCanonicalPathList(CONFIG_EXCLUDEFILES);
+ foreach (const QString& excludeFile, excludedFilesList) {
+ QString p = QDir::fromNativeSeparators(excludeFile);
+ excludedFiles.insert(p);
+ }
- /*
- Parse each source text file in the set using the appropriate parser and
- add it to the big tree.
- */
- parsed = 0;
- Generator::debug("Parsing source files");
- QMap<QString,QString>::ConstIterator s = sources.constBegin();
- while (s != sources.constEnd()) {
- CodeParser *codeParser = CodeParser::parserForSourceFile(s.key());
- if (codeParser) {
- ++parsed;
- Generator::debug(QString("Parsing " + s.key()));
- codeParser->parseSourceFile(config.location(), s.key());
- usedParsers.insert(codeParser);
+ Generator::debug("Adding doc/image dirs found in exampledirs to imagedirs");
+ QSet<QString> exampleImageDirs;
+ QStringList exampleImageList = config.getExampleImageFiles(excludedDirs, excludedFiles);
+ for (int i=0; i<exampleImageList.size(); ++i) {
+ if (exampleImageList[i].contains("doc/images")) {
+ QString t = exampleImageList[i].left(exampleImageList[i].lastIndexOf("doc/images")+10);
+ if (!exampleImageDirs.contains(t)) {
+ exampleImageDirs.insert(t);
+ }
+ }
}
- ++s;
+ Generator::augmentImageDirs(exampleImageDirs);
+ qdb->resolveStuff();
}
- Generator::debug(QString("Parsing done."));
-
- foreach (CodeParser *codeParser, usedParsers)
- codeParser->doneParsingSourceFiles();
/*
- Now the big tree has been built from all the header and
- source files. Resolve all the class names, function names,
- targets, URLs, links, and other stuff that needs resolving.
- */
- Generator::debug("Resolving stuff prior to generating docs");
- qdb->resolveIssues();
-
- /*
- The tree is built and all the stuff that needed resolving
- has been resolved. Now traverse the tree and generate the
- documentation output. More than one output format can be
- requested. The tree is traversed for each one.
+ The primary tree is built and all the stuff that needed
+ resolving has been resolved. Now traverse the tree and
+ generate the documentation output. More than one output
+ format can be requested. The tree is traversed for each
+ one.
*/
Generator::debug("Generating docs");
QSet<QString>::ConstIterator of = outputFormats.constBegin();
while (of != outputFormats.constEnd()) {
Generator* generator = Generator::generatorForFormat(*of);
if (generator == 0)
- outputFormatsLocation.fatal(QCoreApplication::translate("QDoc", "Unknown output format '%1'").arg(*of));
+ outputFormatsLocation.fatal(QCoreApplication::translate("QDoc",
+ "Unknown output format '%1'").arg(*of));
generator->generateDocs();
++of;
}
+#if 0
+ if (Generator::generating() && Generator::writeQaPages())
+ qdb->printLinkCounts(project);
+#endif
+ qdb->clearLinkCounts();
-
- //Generator::writeOutFileNames();
- Generator::debug("Shutting down qdoc");
+ Generator::debug("Terminating qdoc classes");
if (Generator::debugging())
Generator::stopDebugging(project);
@@ -492,17 +561,7 @@ static void processQdocconfFile(const QString &fileName)
Location::terminate();
QDir::setCurrent(prevCurrentDir);
-#ifndef QT_NO_TRANSLATION
- qDeleteAll(translators);
-#endif
-#ifdef DEBUG_SHUTDOWN_CRASH
- qDebug() << "main(): Delete qdoc database";
-#endif
- QDocDatabase::destroyQdocDB();
-#ifdef DEBUG_SHUTDOWN_CRASH
- qDebug() << "main(): qdoc database deleted";
-#endif
- Generator::debug("qdoc finished!");
+ Generator::debug("qdoc classes terminated");
}
extern Q_CORE_EXPORT QBasicAtomicInt qt_qhash_seed;
@@ -621,12 +680,22 @@ int main(int argc, char **argv)
logProgressOption.setDescription(QCoreApplication::translate("qdoc", "Log progress on stderr."));
parser.addOption(logProgressOption);
+ QCommandLineOption singleExecOption(QStringList() << QStringLiteral("single-exec"));
+ singleExecOption.setDescription(QCoreApplication::translate("qdoc", "Run qdoc once over all the qdoc conf files."));
+ parser.addOption(singleExecOption);
+
+ QCommandLineOption writeQaPagesOption(QStringList() << QStringLiteral("write-qa-pages"));
+ writeQaPagesOption.setDescription(QCoreApplication::translate("qdoc", "Write QA pages."));
+ parser.addOption(writeQaPagesOption);
+
parser.process(app);
defines += parser.values(defineOption);
dependModules += parser.values(dependsOption);
highlighting = parser.isSet(highlightingOption);
showInternal = parser.isSet(showInternalOption);
+ singleExec = parser.isSet(singleExecOption);
+ writeQaPages = parser.isSet(writeQaPagesOption);
redirectDocumentationToDevNull = parser.isSet(redirectDocumentationToDevNullOption);
Config::generateExamples = !parser.isSet(noExamplesOption);
foreach (const QString &indexDir, parser.values(indexDirOption)) {
@@ -650,21 +719,73 @@ int main(int argc, char **argv)
Generator::setQDocPass(Generator::Prepare);
if (parser.isSet(generateOption))
Generator::setQDocPass(Generator::Generate);
+ if (parser.isSet(singleExecOption))
+ Generator::setSingleExec();
+ if (parser.isSet(writeQaPagesOption))
+ Generator::setWriteQaPages();
if (parser.isSet(logProgressOption))
Location::startLoggingProgress();
- const QStringList qdocFiles = parser.positionalArguments();
+ /*
+ The default indent for code is 4.
+ The default value for false is 0.
+ The default supported file extensions are cpp, h, qdoc and qml.
+ The default language is c++.
+ The default output format is html.
+ The default tab size is 8.
+ And those are all the default values for configuration variables.
+ */
+ if (defaults.isEmpty()) {
+ defaults.insert(CONFIG_CODEINDENT, QLatin1String("4"));
+ defaults.insert(CONFIG_FALSEHOODS, QLatin1String("0"));
+ defaults.insert(CONFIG_FILEEXTENSIONS, QLatin1String("*.cpp *.h *.qdoc *.qml"));
+ defaults.insert(CONFIG_LANGUAGE, QLatin1String("Cpp"));
+ defaults.insert(CONFIG_OUTPUTFORMATS, QLatin1String("HTML"));
+ defaults.insert(CONFIG_TABSIZE, QLatin1String("8"));
+ }
+
+ QStringList qdocFiles = parser.positionalArguments();
if (qdocFiles.isEmpty())
parser.showHelp();
+ if (singleExec)
+ qdocFiles = Config::loadMaster(qdocFiles.at(0));
+
/*
- Main loop.
+ Main loop is now modified to handle single exec mode.
*/
+ if (Generator::singleExec())
+ Generator::setQDocPass(Generator::Prepare);
foreach (const QString &qf, qdocFiles) {
- //qDebug() << "PROCESSING:" << qf;
+ dependModules.clear();
processQdocconfFile(qf);
}
+ if (Generator::singleExec()) {
+ Generator::setQDocPass(Generator::Generate);
+ QDocDatabase* qdb = QDocDatabase::qdocDB();
+ qdb->processForest();
+ foreach (const QString &qf, qdocFiles) {
+ dependModules.clear();
+ processQdocconfFile(qf);
+ }
+ }
+
+#ifndef QT_NO_TRANSLATION
+ if (!translators.isEmpty()) {
+ for (int i=0; i<translators.size(); ++i) {
+ delete translators.at(i).second;
+ }
+ }
+ translators.clear();
+#endif
+
+#ifdef DEBUG_SHUTDOWN_CRASH
+ qDebug() << "main(): Delete qdoc database";
+#endif
+ QDocDatabase::destroyQdocDB();
+#ifdef DEBUG_SHUTDOWN_CRASH
+ qDebug() << "main(): qdoc database deleted";
+#endif
return EXIT_SUCCESS;
}
-
diff --git a/src/tools/qdoc/node.cpp b/src/tools/qdoc/node.cpp
index ce655efef6..f012aae87a 100644
--- a/src/tools/qdoc/node.cpp
+++ b/src/tools/qdoc/node.cpp
@@ -218,7 +218,7 @@ Node::Node(Type type, InnerNode *parent, const QString& name)
{
if (parent_)
parent_->addChild(this);
- outSubDir_ = CodeParser::currentOutputSubdirectory();
+ outSubDir_ = Generator::outputSubdir();
if (operators_.isEmpty()) {
operators_.insert("++","inc");
operators_.insert("--","dec");
diff --git a/src/tools/qdoc/qdocdatabase.cpp b/src/tools/qdoc/qdocdatabase.cpp
index 36dd05bb92..51908bc9e3 100644
--- a/src/tools/qdoc/qdocdatabase.cpp
+++ b/src/tools/qdoc/qdocdatabase.cpp
@@ -128,142 +128,54 @@ Tree* QDocForest::nextTree()
*/
/*!
+ Finds the tree for module \a t in the forest and
+ sets the primary tree to be that tree. After the
+ primary tree is set, that tree is removed from the
+ forest.
+
+ \node It gets re-inserted into the forest after the
+ search order is built.
+ */
+void QDocForest::setPrimaryTree(const QString& t)
+{
+ primaryTree_ = findTree(t);
+ forest_.remove(t);
+ if (!primaryTree_)
+ qDebug() << "ERROR: Could not set primary tree to:" << t;
+}
+
+/*!
If the search order array is empty, create the search order.
If the search order array is not empty, do nothing.
*/
-void QDocForest::setSearchOrder()
+void QDocForest::setSearchOrder(QStringList& t)
{
if (!searchOrder_.isEmpty())
return;
- QString primaryName = primaryTree()->moduleName();
- searchOrder_.clear();
+
+ /* Allocate space for the search order. */
searchOrder_.reserve(forest_.size()+1);
+ searchOrder_.clear();
moduleNames_.reserve(forest_.size()+1);
+ moduleNames_.clear();
+
+ /* The primary tree is always first in the search order. */
+ QString primaryName = primaryTree()->moduleName();
searchOrder_.append(primaryTree_);
moduleNames_.append(primaryName);
+ forest_.remove(primaryName);
+
QMap<QString, Tree*>::iterator i;
- if (primaryName != "QtCore") {
- i = forest_.find("QtCore");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtCore");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtGui") {
- i = forest_.find("QtGui");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtGui");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtNetwork") {
- i = forest_.find("QtNetwork");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtNetwork");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtOpenGL") {
- i = forest_.find("QtOpenGL");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtOpenGL");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtWidgets") {
- i = forest_.find("QtWidgets");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtWidgets");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtSql") {
- i = forest_.find("QtSql");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtSql");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtXml") {
- i = forest_.find("QtXml");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtXml");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtSvg") {
- i = forest_.find("QtSvg");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtSvg");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtDoc") {
- i = forest_.find("QtDoc");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtDoc");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtQuick") {
- i = forest_.find("QtQuick");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtQuick");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtQml") {
- i = forest_.find("QtQml");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtQml");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtPrintSupport") {
- i = forest_.find("QtPrintSupport");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtPrintSupport");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtGraphicalEffects") {
- i = forest_.find("QtGraphicalEffects");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtGraphicalEffects");
- forest_.erase(i);
- }
- }
- if (primaryName != "QtConcurrent") {
- i = forest_.find("QtConcurrent");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("QtConcurrent");
- forest_.erase(i);
- }
- }
-#if 0
- if (primaryName != "zzz") {
- i = forest_.find("zzz");
- if (i != forest_.end()) {
- searchOrder_.append(i.value());
- moduleNames_.append("zzz");
- forest_.erase(i);
+ foreach (QString m, t) {
+ if (primaryName != m) {
+ i = forest_.find(m);
+ if (i != forest_.end()) {
+ searchOrder_.append(i.value());
+ moduleNames_.append(m);
+ forest_.remove(m);
+ }
}
}
-#endif
/*
If any trees remain in the forest, just add them
to the search order sequentially, because we don't
@@ -283,15 +195,21 @@ void QDocForest::setSearchOrder()
Rebuild the forest after constructing the search order.
It was destroyed during construction of the search order,
but it is needed for module-specific searches.
+
+ Note that this loop also inserts the primary tree into the
+ forrest. That is a requirement.
*/
for (int i=0; i<searchOrder_.size(); ++i) {
- forest_.insert(moduleNames_.at(i).toLower(), searchOrder_.at(i));
+ if (!forest_.contains(moduleNames_.at(i))) {
+ forest_.insert(moduleNames_.at(i), searchOrder_.at(i));
+ }
}
-
#if 0
- qDebug() << " SEARCH ORDER:";
+ qDebug() << " SEARCH ORDER:";
for (int i=0; i<moduleNames_.size(); ++i)
- qDebug() << " " << i+1 << "." << moduleNames_.at(i);
+ qDebug() << " " << i+1 << "." << moduleNames_.at(i);
+ qDebug() << " FOREST:" << forest_.keys();
+ qDebug() << "SEARCH ORDER:" << moduleNames_;
#endif
}
@@ -363,7 +281,7 @@ NamespaceNode* QDocForest::newIndexTree(const QString& module)
/*!
Create a new Tree for use as the primary tree. This tree
- will represent the primary module.
+ will represent the primary module. \a module is camel case.
*/
void QDocForest::newPrimaryTree(const QString& module)
{
@@ -431,6 +349,61 @@ void QDocForest::mergeCollectionMaps(Node::Type nt, CNMultiMap& cnmm)
}
}
+/*!
+ Print the list of module names ordered according
+ to how many successful searches each tree had.
+ */
+void QDocForest::printLinkCounts(const QString& project)
+{
+ Location::null.report(QString("%1: Link Counts").arg(project));
+ QMultiMap<int, QString> m;
+ foreach (Tree* t, searchOrder()) {
+ if (t->linkCount() < 0)
+ m.insert(t->linkCount(), t->moduleName());
+ }
+ QString depends = "depends +=";
+ QString module = project.toLower();
+ QMultiMap<int, QString>::iterator i = m.begin();
+ while (i != m.end()) {
+ QString line = " " + i.value();
+ if (i.value() != module)
+ depends += " " + i.value();
+ int pad = 30 - line.length();
+ for (int k=0; k<pad; ++k)
+ line += " ";
+ line += "%1";
+ Location::null.report(line.arg(-(i.key())));
+ ++i;
+ }
+ Location::null.report("Optimal depends variable:");
+ Location::null.report(depends);
+}
+
+/*!
+ Print the list of module names ordered according
+ to how many successful searches each tree had.
+ */
+QString QDocForest::getLinkCounts(QStringList& strings, QVector<int>& counts)
+{
+ QMultiMap<int, QString> m;
+ foreach (Tree* t, searchOrder()) {
+ if (t->linkCount() < 0)
+ m.insert(t->linkCount(), t->moduleName());
+ }
+ QString depends = "depends +=";
+ QString module = Generator::defaultModuleName().toLower();
+ QMultiMap<int, QString>::iterator i = m.begin();
+ while (i != m.end()) {
+ if (i.value() != module) {
+ counts.append(-(i.key()));
+ strings.append(i.value());
+ depends += " " + i.value();
+ }
+ ++i;
+ }
+ return depends;
+}
+
/*! \class QDocDatabase
This class provides exclusive access to the qdoc database,
which consists of a forrest of trees and a lot of maps and
@@ -445,8 +418,19 @@ NodeMap QDocDatabase::typeNodeMap_;
constructs the \a forest_ object, which is also a singleton.
\a showInternal_ is normally false. If it is true, qdoc will
write documentation for nodes marked \c internal.
+
+ \a singleExec_ is false when qdoc is being used in the standard
+ way of running qdoc twices for each module, first with -prepare
+ and then with -generate. First the -prepare phase is run for
+ each module, then the -generate phase is run for each module.
+
+ When \a singleExec_ is true, qdoc is run only once. During the
+ single execution, qdoc processes the qdocconf files for all the
+ modules sequentially in a loop. Each source file for each module
+ is read exactly once.
*/
-QDocDatabase::QDocDatabase() : showInternal_(false), forest_(this)
+QDocDatabase::QDocDatabase()
+ : showInternal_(false), singleExec_(false), forest_(this)
{
// nothing
}
@@ -809,13 +793,41 @@ QmlClassNode* QDocDatabase::findQmlType(const ImportRec& import, const QString&
}
/*!
- This function calls \a func for each tree in the forest.
+ This function calls a set of functions for each tree in the
+ forest that has not already been analyzed. In this way, when
+ running qdoc in \e singleExec mode, each tree is analyzed in
+ turn, and its classes and types are added to the appropriate
+ node maps.
+ */
+void QDocDatabase::processForest()
+{
+ Tree* t = forest_.firstTree();
+ while (t) {
+ findAllNamespaces(t->root());
+ findAllClasses(t->root());
+ findAllFunctions(t->root());
+ findAllObsoleteThings(t->root());
+ findAllLegaleseTexts(t->root());
+ findAllSince(t->root());
+ t->setTreeHasBeenAnalyzed();
+ t = forest_.nextTree();
+ }
+}
+
+/*!
+ This function calls \a func for each tree in the forest,
+ but only if Tree::treeHasBeenAnalyzed() returns false for
+ the tree. In this way, when running qdoc in \e singleExec
+ mode, each tree is analyzed in turn, and its classes and
+ types are added to the appropriate node maps.
*/
void QDocDatabase::processForest(void (QDocDatabase::*func) (InnerNode*))
{
Tree* t = forest_.firstTree();
while (t) {
- (this->*(func))(t->root());
+ if (!t->treeHasBeenAnalyzed()) {
+ (this->*(func))(t->root());
+ }
t = forest_.nextTree();
}
}
@@ -887,7 +899,7 @@ NodeMap& QDocDatabase::getNamespaces()
*/
NodeMap& QDocDatabase::getServiceClasses()
{
- if (nonCompatClasses_.isEmpty() && qmlClasses_.isEmpty())
+ if (cppClasses_.isEmpty() && qmlTypes_.isEmpty())
processForest(&QDocDatabase::findAllClasses);
return serviceClasses_;
}
@@ -899,7 +911,7 @@ NodeMap& QDocDatabase::getServiceClasses()
*/
NodeMap& QDocDatabase::getQmlBasicTypes()
{
- if (nonCompatClasses_.isEmpty() && qmlBasicTypes_.isEmpty())
+ if (cppClasses_.isEmpty() && qmlBasicTypes_.isEmpty())
processForest(&QDocDatabase::findAllClasses);
return qmlBasicTypes_;
}
@@ -911,9 +923,9 @@ NodeMap& QDocDatabase::getQmlBasicTypes()
*/
NodeMap& QDocDatabase::getQmlTypes()
{
- if (nonCompatClasses_.isEmpty() && qmlClasses_.isEmpty())
+ if (cppClasses_.isEmpty() && qmlTypes_.isEmpty())
processForest(&QDocDatabase::findAllClasses);
- return qmlClasses_;
+ return qmlTypes_;
}
/*!
@@ -935,7 +947,7 @@ NodeMap& QDocDatabase::getObsoleteClasses()
*/
NodeMap& QDocDatabase::getCompatibilityClasses()
{
- if (nonCompatClasses_.isEmpty() && qmlClasses_.isEmpty())
+ if (cppClasses_.isEmpty() && qmlTypes_.isEmpty())
processForest(&QDocDatabase::findAllClasses);
return compatClasses_;
}
@@ -950,7 +962,7 @@ NodeMap& QDocDatabase::getCompatibilityClasses()
*/
NodeMap& QDocDatabase::getMainClasses()
{
- if (nonCompatClasses_.isEmpty() && qmlClasses_.isEmpty())
+ if (cppClasses_.isEmpty() && qmlTypes_.isEmpty())
processForest(&QDocDatabase::findAllClasses);
return mainClasses_;
}
@@ -962,9 +974,9 @@ NodeMap& QDocDatabase::getMainClasses()
*/
NodeMap& QDocDatabase::getCppClasses()
{
- if (nonCompatClasses_.isEmpty() && qmlClasses_.isEmpty())
+ if (cppClasses_.isEmpty() && qmlTypes_.isEmpty())
processForest(&QDocDatabase::findAllClasses);
- return nonCompatClasses_;
+ return cppClasses_;
}
/*!
@@ -987,7 +999,7 @@ void QDocDatabase::findAllClasses(InnerNode* node)
compatClasses_.insert(className, *c);
}
else {
- nonCompatClasses_.insert(className, *c);
+ cppClasses_.insert(className, *c);
if ((*c)->status() == Node::Main)
mainClasses_.insert(className, *c);
}
@@ -1000,9 +1012,9 @@ void QDocDatabase::findAllClasses(InnerNode* node)
else if (((*c)->isQmlType() || (*c)->isQmlBasicType())&& !(*c)->doc().isEmpty()) {
QString qmlTypeName = (*c)->name();
if (qmlTypeName.startsWith(QLatin1String("QML:")))
- qmlClasses_.insert(qmlTypeName.mid(4),*c);
+ qmlTypes_.insert(qmlTypeName.mid(4),*c);
else
- qmlClasses_.insert(qmlTypeName,*c);
+ qmlTypes_.insert(qmlTypeName,*c);
//also add to the QML basic type map
if ((*c)->isQmlBasicType())
@@ -1022,7 +1034,6 @@ void QDocDatabase::findAllClasses(InnerNode* node)
*/
NodeMapMap& QDocDatabase::getFunctionIndex()
{
- funcIndex_.clear();
processForest(&QDocDatabase::findAllFunctions);
return funcIndex_;
}
@@ -1314,7 +1325,15 @@ const NodeMultiMap& QDocDatabase::getSinceMap(const QString& key)
*/
void QDocDatabase::resolveIssues() {
resolveQmlInheritance(primaryTreeRoot());
- resolveTargets();
+ primaryTree()->resolveTargets(primaryTreeRoot());
+ primaryTree()->resolveCppToQmlLinks();
+}
+
+void QDocDatabase::resolveStuff()
+{
+ primaryTree()->resolveInheritance();
+ resolveQmlInheritance(primaryTreeRoot());
+ //primaryTree()->resolveTargets(primaryTreeRoot());
primaryTree()->resolveCppToQmlLinks();
}
@@ -1424,10 +1443,18 @@ void QDocDatabase::generateTagFile(const QString& name, Generator* g)
}
/*!
- Reads and parses the qdoc index files listed in \a indexFiles.
+ Reads and parses the qdoc index files listed in \a t.
*/
-void QDocDatabase::readIndexes(const QStringList& indexFiles)
+void QDocDatabase::readIndexes(const QStringList& t)
{
+ QStringList indexFiles;
+ foreach (const QString& f, t) {
+ QString fn = f.mid(f.lastIndexOf(QChar('/'))+1);
+ if (!isLoaded(fn))
+ indexFiles << f;
+ else
+ qDebug() << "This index file is already in memory:" << f;
+ }
QDocIndexFiles::qdocIndexFiles()->readIndexes(indexFiles);
QDocIndexFiles::destroyQDocIndexFiles();
}
@@ -1443,6 +1470,8 @@ void QDocDatabase::generateIndex(const QString& fileName,
Generator* g,
bool generateInternalNodes)
{
+ QString t = fileName.mid(fileName.lastIndexOf(QChar('/'))+1);
+ primaryTree()->setIndexFileName(t);
QDocIndexFiles::qdocIndexFiles()->generateIndex(fileName, url, title, g, generateInternalNodes);
QDocIndexFiles::destroyQDocIndexFiles();
}
diff --git a/src/tools/qdoc/qdocdatabase.h b/src/tools/qdoc/qdocdatabase.h
index 8b67aca971..9b4d7019ad 100644
--- a/src/tools/qdoc/qdocdatabase.h
+++ b/src/tools/qdoc/qdocdatabase.h
@@ -78,7 +78,14 @@ class QDocForest
bool done() { return (currentIndex_ >= searchOrder().size()); }
const QVector<Tree*>& searchOrder();
const QVector<Tree*>& indexSearchOrder();
- void setSearchOrder();
+ void setSearchOrder(QStringList& t);
+ bool isLoaded(const QString& fn) {
+ foreach (Tree* t, searchOrder()) {
+ if (fn == t->indexFileName())
+ return true;
+ }
+ return false;
+ }
const Node* findNode(const QStringList& path,
const Node* relative,
@@ -186,8 +193,18 @@ class QDocForest
}
}
+ void clearSearchOrder() { searchOrder_.clear(); }
+ void clearLinkCounts()
+ {
+ foreach (Tree* t, searchOrder())
+ t->clearLinkCount();
+ }
+ void printLinkCounts(const QString& project);
+ QString getLinkCounts(QStringList& strings, QVector<int>& counts);
+
private:
void newPrimaryTree(const QString& module);
+ void setPrimaryTree(const QString& t);
NamespaceNode* newIndexTree(const QString& module);
private:
@@ -274,12 +291,10 @@ class QDocDatabase
void resolveInheritance() { primaryTree()->resolveInheritance(); }
void resolveQmlInheritance(InnerNode* root);
void resolveIssues();
+ void resolveStuff();
void fixInheritance() { primaryTree()->fixInheritance(); }
void resolveProperties() { primaryTree()->resolveProperties(); }
- void resolveTargets() {
- primaryTree()->resolveTargets(primaryTreeRoot());
- }
void insertTarget(const QString& name,
const QString& title,
TargetRec::Type type,
@@ -355,18 +370,37 @@ class QDocDatabase
void clearOpenNamespaces() { openNamespaces_.clear(); }
void insertOpenNamespace(const QString& path) { openNamespaces_.insert(path); }
void setShowInternal(bool value) { showInternal_ = value; }
+ void setSingleExec(bool value) { singleExec_ = value; }
+ void processForest();
// Try to make this function private.
QDocForest& forest() { return forest_; }
NamespaceNode* primaryTreeRoot() { return forest_.primaryTreeRoot(); }
void newPrimaryTree(const QString& module) { forest_.newPrimaryTree(module); }
+ void setPrimaryTree(const QString& t) { forest_.setPrimaryTree(t); }
NamespaceNode* newIndexTree(const QString& module) { return forest_.newIndexTree(module); }
const QVector<Tree*>& searchOrder() { return forest_.searchOrder(); }
void setLocalSearch() { forest_.searchOrder_ = QVector<Tree*>(1, primaryTree()); }
void setSearchOrder(const QVector<Tree*>& searchOrder) { forest_.searchOrder_ = searchOrder; }
- void setSearchOrder() { forest_.setSearchOrder(); }
+ void setSearchOrder(QStringList& t) { forest_.setSearchOrder(t); }
void mergeCollections(Node::Type nt, CNMap& cnm, const Node* relative);
void mergeCollections(CollectionNode* cn);
+ void clearSearchOrder() { forest_.clearSearchOrder(); }
+ void incrementLinkCount(const Node* t) { t->tree()->incrementLinkCount(); }
+ void clearLinkCounts() { forest_.clearLinkCounts(); }
+ void printLinkCounts(const QString& t) { forest_.printLinkCounts(t); }
+ QString getLinkCounts(QStringList& strings, QVector<int>& counts) {
+ return forest_.getLinkCounts(strings, counts);
+ }
+ QString getNewLinkTarget(const Node* locNode,
+ const Node* t,
+ const QString& fileName,
+ QString& text,
+ bool broken = false) {
+ return primaryTree()->getNewLinkTarget(locNode, t, fileName, text, broken);
+ }
+ TargetList* getTargetList(const QString& t) { return primaryTree()->getTargetList(t); }
+ QStringList getTargetListKeys() { return primaryTree()->getTargetListKeys(); }
private:
friend class QDocIndexFiles;
@@ -379,6 +413,7 @@ class QDocDatabase
return forest_.findNode(path, relative, findFlags, genus);
}
void processForest(void (QDocDatabase::*) (InnerNode*));
+ bool isLoaded(const QString& t) { return forest_.isLoaded(t); }
static void initializeDB();
private:
@@ -394,20 +429,21 @@ class QDocDatabase
static QDocDatabase* qdocDB_;
static NodeMap typeNodeMap_;
bool showInternal_;
+ bool singleExec_;
QString version_;
QDocForest forest_;
- NodeMap nonCompatClasses_;
- NodeMap mainClasses_;
+ NodeMap cppClasses_;
+ NodeMap mainClasses_; // MWS: not needed, should be delete
NodeMap compatClasses_;
NodeMap obsoleteClasses_;
NodeMap classesWithObsoleteMembers_;
NodeMap obsoleteQmlTypes_;
NodeMap qmlTypesWithObsoleteMembers_;
NodeMap namespaceIndex_;
- NodeMap serviceClasses_;
+ NodeMap serviceClasses_; // MWS: not needed, should be deleted
NodeMap qmlBasicTypes_;
- NodeMap qmlClasses_;
+ NodeMap qmlTypes_;
NodeMapMap newClassMaps_;
NodeMapMap newQmlTypeMaps_;
NodeMultiMapMap newSinceMaps_;
diff --git a/src/tools/qdoc/qdocindexfiles.cpp b/src/tools/qdoc/qdocindexfiles.cpp
index 00041b2b65..e152b04ead 100644
--- a/src/tools/qdoc/qdocindexfiles.cpp
+++ b/src/tools/qdoc/qdocindexfiles.cpp
@@ -564,7 +564,6 @@ void QDocIndexFiles::readIndexSection(const QDomElement& element,
node->setReconstitutedBrief(briefAttr);
}
- // zzz
bool useParent = (element.nodeName() == "namespace" && name.isEmpty());
if (element.hasChildNodes()) {
QDomElement child = element.firstChildElement();
@@ -806,11 +805,14 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer,
QString fullName = node->fullDocumentName();
if (fullName != objName)
writer.writeAttribute("fullname", fullName);
+#if 0
if (Generator::useOutputSubdirs())
href = node->outputSubdirectory();
if (!href.isEmpty())
href.append(QLatin1Char('/'));
href.append(gen_->fullDocumentLocation(node));
+#endif
+ href = gen_->fullDocumentLocation(node);
}
else
href = node->name();
diff --git a/src/tools/qdoc/tokenizer.cpp b/src/tools/qdoc/tokenizer.cpp
index 7c9e9f338a..dca1e9bb55 100644
--- a/src/tools/qdoc/tokenizer.cpp
+++ b/src/tools/qdoc/tokenizer.cpp
@@ -511,6 +511,9 @@ void Tokenizer::initialize(const Config &config)
defines = new QRegExp(d.join('|'));
falsehoods = new QRegExp(config.getStringList(CONFIG_FALSEHOODS).join('|'));
+ /*
+ The keyword hash table is always cleared before any words are inserted.
+ */
memset(kwordHashTable, 0, sizeof(kwordHashTable));
for (int i = 0; i < Tok_LastKeyword - Tok_FirstKeyword + 1; i++)
insertKwordIntoHash(kwords[i], i + 1);
@@ -533,6 +536,11 @@ void Tokenizer::initialize(const Config &config)
}
}
+/*!
+ The heap allocated variables are freed here. The keyword
+ hash table is not cleared here, but it is cleared in the
+ initialize() function, before any keywords are inserted.
+ */
void Tokenizer::terminate()
{
delete comment;
diff --git a/src/tools/qdoc/tree.cpp b/src/tools/qdoc/tree.cpp
index 2e327a5ac8..a4b8d8cd8a 100644
--- a/src/tools/qdoc/tree.cpp
+++ b/src/tools/qdoc/tree.cpp
@@ -66,10 +66,19 @@ QT_BEGIN_NAMESPACE
be necessary, and it might be removed later.
*/
Tree::Tree(const QString& module, QDocDatabase* qdb)
- : module_(module), qdb_(qdb), root_(0, QString())
+ : treeHasBeenAnalyzed_(false),
+ docsHaveBeenGenerated_(false),
+ linkCount_(0),
+ module_(module),
+ qdb_(qdb),
+ root_(0, QString()),
+ targetListMap_(0)
{
root_.setModuleName(module_);
root_.setTree(this);
+ if (Generator::writeQaPages()) {
+ targetListMap_ = new TargetListMap;
+ }
}
/*!
@@ -95,6 +104,18 @@ Tree::~Tree()
}
nodesByTargetRef_.clear();
nodesByTargetTitle_.clear();
+ if (Generator::writeQaPages() && targetListMap_) {
+ TargetListMap::iterator i = targetListMap_->begin();
+ while (i != targetListMap_->end()) {
+ TargetList* tlist = i.value();
+ if (tlist) {
+ foreach (TargetLoc* tloc, *tlist)
+ delete tloc;
+ }
+ delete tlist;
+ ++i;
+ }
+ }
}
/* API members */
@@ -1114,7 +1135,7 @@ QString Tree::refForAtom(const Atom* atom)
if (atom) {
if (atom->type() == Atom::SectionLeft)
return Doc::canonicalTitle(Text::sectionHeading(atom).toString());
- if (atom->type() == Atom::Target)
+ if ((atom->type() == Atom::Target) || (atom->type() == Atom::Keyword))
return Doc::canonicalTitle(atom->string());
}
return QString();
@@ -1394,4 +1415,51 @@ const Node* Tree::checkForCollision(const QString& name)
return findNode(QStringList(name), 0, 0, Node::DontCare);
}
+/*!
+ Generate a target of the form link-nnn, where the nnn is
+ the current link count for this tree. This target string
+ is returned. It will be output as an HTML anchor just before
+ an HTML link to the node \a t.
+
+ The node \a t
+ */
+QString Tree::getNewLinkTarget(const Node* locNode,
+ const Node* t,
+ const QString& fileName,
+ QString& text,
+ bool broken)
+{
+ QString moduleName;
+ if (t && !broken) {
+ Tree* tree = t->tree();
+ if (tree != this)
+ tree->incrementLinkCount();
+ moduleName = tree->moduleName();
+ }
+ else
+ moduleName = "broken";
+ incrementLinkCount();
+ QString target = QString("qa-target-%1").arg(-(linkCount()));
+ TargetLoc* tloc = new TargetLoc(locNode, target, fileName, text, broken);
+ TargetList* tList = 0;
+ TargetListMap::iterator i = targetListMap_->find(moduleName);
+ if (i == targetListMap_->end()) {
+ tList = new TargetList;
+ i = targetListMap_->insert(moduleName, tList);
+ }
+ else
+ tList = i.value();
+ tList->append(tloc);
+ return target;
+}
+
+/*!
+ Look up the target list for the specified \a module
+ and return a pointer to it.
+ */
+TargetList* Tree::getTargetList(const QString& module)
+{
+ return targetListMap_->value(module);
+}
+
QT_END_NAMESPACE
diff --git a/src/tools/qdoc/tree.h b/src/tools/qdoc/tree.h
index 6bb13ee327..6ccf85371b 100644
--- a/src/tools/qdoc/tree.h
+++ b/src/tools/qdoc/tree.h
@@ -67,10 +67,24 @@ struct TargetRec
Type type_;
};
+struct TargetLoc
+{
+ public:
+ TargetLoc(const Node* loc, const QString& t, const QString& fileName, const QString& text, bool broken)
+ : loc_(loc), target_(t), fileName_(fileName), text_(text), broken_(broken) { }
+ const Node* loc_;
+ QString target_;
+ QString fileName_;
+ QString text_;
+ bool broken_;
+};
+
typedef QMultiMap<QString, TargetRec*> TargetMap;
typedef QMultiMap<QString, DocNode*> DocNodeMultiMap;
typedef QMap<QString, QmlClassNode*> QmlTypeMap;
typedef QMultiMap<QString, const ExampleNode*> ExampleNodeMap;
+typedef QVector<TargetLoc*> TargetList;
+typedef QMap<QString, TargetList*> TargetListMap;
class Tree
{
@@ -187,12 +201,33 @@ class Tree
void addExampleNode(ExampleNode* n) { exampleNodeMap_.insert(n->title(), n); }
ExampleNodeMap& exampleNodeMap() { return exampleNodeMap_; }
const Node* checkForCollision(const QString& name);
+ void setIndexFileName(const QString& t) { indexFileName_ = t; }
+
+ bool treeHasBeenAnalyzed() const { return treeHasBeenAnalyzed_; }
+ bool docsHaveBeenGenerated() const { return docsHaveBeenGenerated_; }
+ void setTreeHasBeenAnalyzed() { treeHasBeenAnalyzed_ = true; }
+ void setdocsHaveBeenGenerated() { docsHaveBeenGenerated_ = true; }
+ QString getNewLinkTarget(const Node* locNode,
+ const Node* t,
+ const QString& fileName,
+ QString& text,
+ bool broken);
+ TargetList* getTargetList(const QString& module);
+ QStringList getTargetListKeys() { return targetListMap_->keys(); }
public:
const QString& moduleName() const { return module_; }
+ const QString& indexFileName() const { return indexFileName_; }
+ long incrementLinkCount() { return --linkCount_; }
+ void clearLinkCount() { linkCount_ = 0; }
+ long linkCount() const { return linkCount_; }
private:
+ bool treeHasBeenAnalyzed_;
+ bool docsHaveBeenGenerated_;
+ long linkCount_;
QString module_;
+ QString indexFileName_;
QDocDatabase* qdb_;
NamespaceNode root_;
PropertyMap unresolvedPropertyMap;
@@ -204,6 +239,7 @@ private:
CNMap qmlModules_;
QmlTypeMap qmlTypeMap_;
ExampleNodeMap exampleNodeMap_;
+ TargetListMap* targetListMap_;
};
QT_END_NAMESPACE
diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp
index 5a1c1850d4..2627c4cf5c 100644
--- a/src/tools/uic/cpp/cppwriteinitialization.cpp
+++ b/src/tools/uic/cpp/cppwriteinitialization.cpp
@@ -913,6 +913,7 @@ void WriteInitialization::acceptLayout(DomLayout *node)
m_layoutMarginType = SubLayoutMargin;
DomPropertyList propList = node->elementProperty();
+ DomPropertyList newPropList;
if (m_layoutWidget) {
bool left, top, right, bottom;
left = top = right = bottom = false;
@@ -932,31 +933,38 @@ void WriteInitialization::acceptLayout(DomLayout *node)
DomProperty *p = new DomProperty();
p->setAttributeName(QLatin1String("leftMargin"));
p->setElementNumber(0);
- propList.append(p);
+ newPropList.append(p);
}
if (!top) {
DomProperty *p = new DomProperty();
p->setAttributeName(QLatin1String("topMargin"));
p->setElementNumber(0);
- propList.append(p);
+ newPropList.append(p);
}
if (!right) {
DomProperty *p = new DomProperty();
p->setAttributeName(QLatin1String("rightMargin"));
p->setElementNumber(0);
- propList.append(p);
+ newPropList.append(p);
}
if (!bottom) {
DomProperty *p = new DomProperty();
p->setAttributeName(QLatin1String("bottomMargin"));
p->setElementNumber(0);
- propList.append(p);
+ newPropList.append(p);
}
m_layoutWidget = false;
}
+ propList.append(newPropList);
+
writeProperties(varName, className, propList, WritePropertyIgnoreMargin|WritePropertyIgnoreSpacing);
+ // Clean up again:
+ propList.clear();
+ qDeleteAll(newPropList);
+ newPropList.clear();
+
m_layoutChain.push(node);
TreeWalker::acceptLayout(node);
m_layoutChain.pop();
diff --git a/src/widgets/effects/qpixmapfilter.cpp b/src/widgets/effects/qpixmapfilter.cpp
index 6f618b8914..e4e409a542 100644
--- a/src/widgets/effects/qpixmapfilter.cpp
+++ b/src/widgets/effects/qpixmapfilter.cpp
@@ -705,7 +705,8 @@ void expblur(QImage &img, qreal radius, bool improvedQuality = false, int transp
Q_ASSERT(img.format() == QImage::Format_ARGB32_Premultiplied
|| img.format() == QImage::Format_RGB32
- || img.format() == QImage::Format_Indexed8);
+ || img.format() == QImage::Format_Indexed8
+ || img.format() == QImage::Format_Grayscale8);
// choose the alpha such that pixels at radius distance from a fully
// saturated pixel will have an alpha component of no greater than
@@ -780,7 +781,7 @@ Q_WIDGETS_EXPORT QImage qt_halfScaled(const QImage &source)
QImage srcImage = source;
- if (source.format() == QImage::Format_Indexed8) {
+ if (source.format() == QImage::Format_Indexed8 || source.format() == QImage::Format_Grayscale8) {
// assumes grayscale
QImage dest(source.width() / 2, source.height() / 2, srcImage.format());
@@ -890,7 +891,7 @@ Q_WIDGETS_EXPORT void qt_blurImage(QPainter *p, QImage &blurImage, qreal radius,
Q_WIDGETS_EXPORT void qt_blurImage(QImage &blurImage, qreal radius, bool quality, int transposed = 0)
{
- if (blurImage.format() == QImage::Format_Indexed8)
+ if (blurImage.format() == QImage::Format_Indexed8 || blurImage.format() == QImage::Format_Grayscale8)
expblur<12, 10, true>(blurImage, radius, quality, transposed);
else
expblur<12, 10, false>(blurImage, radius, quality, transposed);
diff --git a/src/widgets/graphicsview/qgraphicslayout_p.h b/src/widgets/graphicsview/qgraphicslayout_p.h
index a45cb31b28..698118eb75 100644
--- a/src/widgets/graphicsview/qgraphicslayout_p.h
+++ b/src/widgets/graphicsview/qgraphicslayout_p.h
@@ -65,7 +65,7 @@ inline bool qt_graphicsLayoutDebug()
{
static int checked_env = -1;
if(checked_env == -1)
- checked_env = !!qgetenv("QT_GRAPHICSLAYOUT_DEBUG").toInt();
+ checked_env = !!qEnvironmentVariableIntValue("QT_GRAPHICSLAYOUT_DEBUG");
return checked_env;
}
#endif
diff --git a/src/widgets/graphicsview/qgraphicsscene.cpp b/src/widgets/graphicsview/qgraphicsscene.cpp
index 988152da9d..8765b8114d 100644
--- a/src/widgets/graphicsview/qgraphicsscene.cpp
+++ b/src/widgets/graphicsview/qgraphicsscene.cpp
@@ -4910,7 +4910,7 @@ void QGraphicsScenePrivate::draw(QGraphicsItem *item, QPainter *painter, const Q
if (painterStateProtection || restorePainterClip)
painter->restore();
- static int drawRect = qgetenv("QT_DRAW_SCENE_ITEM_RECTS").toInt();
+ static int drawRect = qEnvironmentVariableIntValue("QT_DRAW_SCENE_ITEM_RECTS");
if (drawRect) {
QPen oldPen = painter->pen();
QBrush oldBrush = painter->brush();
diff --git a/src/widgets/itemviews/itemviews.pri b/src/widgets/itemviews/itemviews.pri
index 4e152d18bb..2bbf7ac1ff 100644
--- a/src/widgets/itemviews/itemviews.pri
+++ b/src/widgets/itemviews/itemviews.pri
@@ -12,6 +12,7 @@ HEADERS += \
itemviews/qtreeview.h \
itemviews/qtreeview_p.h \
itemviews/qabstractitemdelegate.h \
+ itemviews/qabstractitemdelegate_p.h \
itemviews/qitemdelegate.h \
itemviews/qdirmodel.h \
itemviews/qlistwidget.h \
diff --git a/src/widgets/itemviews/qabstractitemdelegate.cpp b/src/widgets/itemviews/qabstractitemdelegate.cpp
index 4dffa6efe7..4d0840c3d6 100644
--- a/src/widgets/itemviews/qabstractitemdelegate.cpp
+++ b/src/widgets/itemviews/qabstractitemdelegate.cpp
@@ -42,7 +42,17 @@
#include <qevent.h>
#include <qstring.h>
#include <qdebug.h>
+#include <qlineedit.h>
+#include <qtextedit.h>
+#include <qplaintextedit.h>
+#include <qapplication.h>
#include <private/qtextengine_p.h>
+#include <private/qabstractitemdelegate_p.h>
+
+#include <qpa/qplatformintegration.h>
+#include <qpa/qplatformdrag.h>
+#include <private/qguiapplication_p.h>
+#include <private/qdnd_p.h>
QT_BEGIN_NAMESPACE
@@ -165,7 +175,7 @@ QT_BEGIN_NAMESPACE
Creates a new abstract item delegate with the given \a parent.
*/
QAbstractItemDelegate::QAbstractItemDelegate(QObject *parent)
- : QObject(parent)
+ : QObject(*new QAbstractItemDelegatePrivate, parent)
{
}
@@ -405,6 +415,112 @@ QVector<int> QAbstractItemDelegate::paintingRoles() const
return QVector<int>();
}
+QAbstractItemDelegatePrivate::QAbstractItemDelegatePrivate()
+ : QObjectPrivate()
+{
+}
+
+bool QAbstractItemDelegatePrivate::editorEventFilter(QObject *object, QEvent *event)
+{
+ Q_Q(QAbstractItemDelegate);
+
+ QWidget *editor = qobject_cast<QWidget*>(object);
+ if (!editor)
+ return false;
+ if (event->type() == QEvent::KeyPress) {
+ switch (static_cast<QKeyEvent *>(event)->key()) {
+ case Qt::Key_Tab:
+ if (tryFixup(editor)) {
+ emit q->commitData(editor);
+ emit q->closeEditor(editor, QAbstractItemDelegate::EditNextItem);
+ }
+ return true;
+ case Qt::Key_Backtab:
+ if (tryFixup(editor)) {
+ emit q->commitData(editor);
+ emit q->closeEditor(editor, QAbstractItemDelegate::EditPreviousItem);
+ }
+ return true;
+ case Qt::Key_Enter:
+ case Qt::Key_Return:
+#ifndef QT_NO_TEXTEDIT
+ if (qobject_cast<QTextEdit *>(editor) || qobject_cast<QPlainTextEdit *>(editor))
+ return false; // don't filter enter key events for QTextEdit or QPlainTextEdit
+#endif // QT_NO_TEXTEDIT
+ // We want the editor to be able to process the key press
+ // before committing the data (e.g. so it can do
+ // validation/fixup of the input).
+ if (!tryFixup(editor))
+ return true;
+
+ QMetaObject::invokeMethod(q, "_q_commitDataAndCloseEditor",
+ Qt::QueuedConnection, Q_ARG(QWidget*, editor));
+ return false;
+ case Qt::Key_Escape:
+ // don't commit data
+ emit q->closeEditor(editor, QAbstractItemDelegate::RevertModelCache);
+ return true;
+ default:
+ return false;
+ }
+ } else if (event->type() == QEvent::FocusOut || (event->type() == QEvent::Hide && editor->isWindow())) {
+ //the Hide event will take care of he editors that are in fact complete dialogs
+ if (!editor->isActiveWindow() || (QApplication::focusWidget() != editor)) {
+ QWidget *w = QApplication::focusWidget();
+ while (w) { // don't worry about focus changes internally in the editor
+ if (w == editor)
+ return false;
+ w = w->parentWidget();
+ }
+#ifndef QT_NO_DRAGANDDROP
+ // The window may lose focus during an drag operation.
+ // i.e when dragging involves the taskbar on Windows.
+ QPlatformDrag *platformDrag = QGuiApplicationPrivate::instance()->platformIntegration()->drag();
+ if (platformDrag && platformDrag->currentDrag()) {
+ return false;
+ }
+#endif
+ if (tryFixup(editor))
+ emit q->commitData(editor);
+
+ emit q->closeEditor(editor, QAbstractItemDelegate::NoHint);
+ }
+ } else if (event->type() == QEvent::ShortcutOverride) {
+ if (static_cast<QKeyEvent*>(event)->key() == Qt::Key_Escape) {
+ event->accept();
+ return true;
+ }
+ }
+ return false;
+}
+
+bool QAbstractItemDelegatePrivate::tryFixup(QWidget *editor)
+{
+#ifndef QT_NO_LINEEDIT
+ if (QLineEdit *e = qobject_cast<QLineEdit*>(editor)) {
+ if (!e->hasAcceptableInput()) {
+ if (const QValidator *validator = e->validator()) {
+ QString text = e->text();
+ validator->fixup(text);
+ e->setText(text);
+ }
+ return e->hasAcceptableInput();
+ }
+ }
+#endif // QT_NO_LINEEDIT
+
+ return true;
+}
+
+void QAbstractItemDelegatePrivate::_q_commitDataAndCloseEditor(QWidget *editor)
+{
+ Q_Q(QAbstractItemDelegate);
+ emit q->commitData(editor);
+ emit q->closeEditor(editor, QAbstractItemDelegate::SubmitModelCache);
+}
+
QT_END_NAMESPACE
+#include "moc_qabstractitemdelegate.cpp"
+
#endif // QT_NO_ITEMVIEWS
diff --git a/src/widgets/itemviews/qabstractitemdelegate.h b/src/widgets/itemviews/qabstractitemdelegate.h
index 9bce527bdc..8cd902f58e 100644
--- a/src/widgets/itemviews/qabstractitemdelegate.h
+++ b/src/widgets/itemviews/qabstractitemdelegate.h
@@ -47,6 +47,7 @@ class QModelIndex;
class QAbstractItemModel;
class QAbstractItemView;
class QHelpEvent;
+class QAbstractItemDelegatePrivate;
class Q_WIDGETS_EXPORT QAbstractItemDelegate : public QObject
{
@@ -114,7 +115,9 @@ Q_SIGNALS:
protected:
QAbstractItemDelegate(QObjectPrivate &, QObject *parent = 0);
private:
+ Q_DECLARE_PRIVATE(QAbstractItemDelegate)
Q_DISABLE_COPY(QAbstractItemDelegate)
+ Q_PRIVATE_SLOT(d_func(), void _q_commitDataAndCloseEditor(QWidget*))
};
#endif // QT_NO_ITEMVIEWS
diff --git a/src/platformsupport/eglconvenience/qeglcompositor_p.h b/src/widgets/itemviews/qabstractitemdelegate_p.h
index 1401fbdd55..debc9f5926 100644
--- a/src/platformsupport/eglconvenience/qeglcompositor_p.h
+++ b/src/widgets/itemviews/qabstractitemdelegate_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
-** This file is part of the plugins of the Qt Toolkit.
+** This file is part of the QtWidgets module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
@@ -31,53 +31,40 @@
**
****************************************************************************/
-#ifndef QEGLCOMPOSITOR_H
-#define QEGLCOMPOSITOR_H
+#ifndef QABSTRACTITEMDELEGATE_P_H
+#define QABSTRACTITEMDELEGATE_P_H
//
// W A R N I N G
// -------------
//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
//
-#include <QtCore/QTimer>
+#include "qabstractitemdelegate.h"
+#include <private/qobject_p.h>
-QT_BEGIN_NAMESPACE
+#ifndef QT_NO_ITEMVIEWS
-class QOpenGLContext;
-class QOpenGLTextureBlitter;
-class QEGLPlatformWindow;
+QT_BEGIN_NAMESPACE
-class QEGLCompositor : public QObject
+class QAbstractItemDelegatePrivate : public QObjectPrivate
{
- Q_OBJECT
-
+ Q_DECLARE_PUBLIC(QAbstractItemDelegate)
public:
- void schedule(QOpenGLContext *context, QEGLPlatformWindow *window);
-
- static QEGLCompositor *instance();
- static void destroy();
+ explicit QAbstractItemDelegatePrivate();
-private slots:
- void renderAll();
-
-private:
- QEGLCompositor();
- ~QEGLCompositor();
-
- void render(QEGLPlatformWindow *window);
-
- QOpenGLContext *m_context;
- QEGLPlatformWindow *m_window;
- QTimer m_updateTimer;
- QOpenGLTextureBlitter *m_blitter;
+ bool editorEventFilter(QObject *object, QEvent *event);
+ bool tryFixup(QWidget *editor);
+ void _q_commitDataAndCloseEditor(QWidget *editor);
};
QT_END_NAMESPACE
-#endif // QEGLCOMPOSITOR_H
+#endif // QT_NO_ITEMVIEWS
+
+#endif // QABSTRACTITEMDELEGATE_P_H
diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp
index 16de80476f..9d38a330c8 100644
--- a/src/widgets/itemviews/qabstractitemview.cpp
+++ b/src/widgets/itemviews/qabstractitemview.cpp
@@ -1531,6 +1531,7 @@ void QAbstractItemView::setIconSize(const QSize &size)
return;
d->iconSize = size;
d->doDelayedItemsLayout();
+ emit iconSizeChanged(size);
}
QSize QAbstractItemView::iconSize() const
diff --git a/src/widgets/itemviews/qabstractitemview.h b/src/widgets/itemviews/qabstractitemview.h
index f7cdcc8451..4162479194 100644
--- a/src/widgets/itemviews/qabstractitemview.h
+++ b/src/widgets/itemviews/qabstractitemview.h
@@ -68,7 +68,7 @@ class Q_WIDGETS_EXPORT QAbstractItemView : public QAbstractScrollArea
Q_PROPERTY(bool alternatingRowColors READ alternatingRowColors WRITE setAlternatingRowColors)
Q_PROPERTY(SelectionMode selectionMode READ selectionMode WRITE setSelectionMode)
Q_PROPERTY(SelectionBehavior selectionBehavior READ selectionBehavior WRITE setSelectionBehavior)
- Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)
+ Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize NOTIFY iconSizeChanged)
Q_PROPERTY(Qt::TextElideMode textElideMode READ textElideMode WRITE setTextElideMode)
Q_PROPERTY(ScrollMode verticalScrollMode READ verticalScrollMode WRITE setVerticalScrollMode)
Q_PROPERTY(ScrollMode horizontalScrollMode READ horizontalScrollMode WRITE setHorizontalScrollMode)
@@ -255,6 +255,8 @@ Q_SIGNALS:
void entered(const QModelIndex &index);
void viewportEntered();
+ void iconSizeChanged(const QSize &size);
+
protected:
QAbstractItemView(QAbstractItemViewPrivate &, QWidget *parent = 0);
diff --git a/src/widgets/itemviews/qitemdelegate.cpp b/src/widgets/itemviews/qitemdelegate.cpp
index ef14ab8ed5..9303800e87 100644
--- a/src/widgets/itemviews/qitemdelegate.cpp
+++ b/src/widgets/itemviews/qitemdelegate.cpp
@@ -36,13 +36,7 @@
#ifndef QT_NO_ITEMVIEWS
#include <qabstractitemmodel.h>
#include <qapplication.h>
-#include <qpa/qplatformintegration.h>
-#include <qpa/qplatformdrag.h>
-#include <private/qguiapplication_p.h>
#include <qbrush.h>
-#include <qlineedit.h>
-#include <qtextedit.h>
-#include <qplaintextedit.h>
#include <qpainter.h>
#include <qpalette.h>
#include <qpoint.h>
@@ -58,8 +52,7 @@
#include <qitemeditorfactory.h>
#include <qmetaobject.h>
#include <qtextlayout.h>
-#include <private/qobject_p.h>
-#include <private/qdnd_p.h>
+#include <private/qabstractitemdelegate_p.h>
#include <private/qtextengine_p.h>
#include <qdebug.h>
#include <qlocale.h>
@@ -74,7 +67,7 @@
QT_BEGIN_NAMESPACE
-class QItemDelegatePrivate : public QObjectPrivate
+class QItemDelegatePrivate : public QAbstractItemDelegatePrivate
{
Q_DECLARE_PUBLIC(QItemDelegate)
@@ -105,9 +98,6 @@ public:
static QString valueToText(const QVariant &value, const QStyleOptionViewItem &option);
- bool tryFixup(QWidget *editor);
- void _q_commitDataAndCloseEditor(QWidget *editor);
-
QItemEditorFactory *f;
bool clipPainting;
@@ -129,13 +119,6 @@ public:
} tmp;
};
-void QItemDelegatePrivate::_q_commitDataAndCloseEditor(QWidget *editor)
-{
- Q_Q(QItemDelegate);
- emit q->commitData(editor);
- emit q->closeEditor(editor, QAbstractItemDelegate::SubmitModelCache);
-}
-
QRect QItemDelegatePrivate::textLayoutBounds(const QStyleOptionViewItem &option) const
{
QRect rect = option.rect;
@@ -379,24 +362,6 @@ QString QItemDelegatePrivate::valueToText(const QVariant &value, const QStyleOpt
return text;
}
-bool QItemDelegatePrivate::tryFixup(QWidget *editor)
-{
-#ifndef QT_NO_LINEEDIT
- if (QLineEdit *e = qobject_cast<QLineEdit*>(editor)) {
- if (!e->hasAcceptableInput()) {
- if (const QValidator *validator = e->validator()) {
- QString text = e->text();
- validator->fixup(text);
- e->setText(text);
- }
- return e->hasAcceptableInput();
- }
- }
-#endif // QT_NO_LINEEDIT
-
- return true;
-}
-
/*!
Renders the delegate using the given \a painter and style \a option for
the item specified by \a index.
@@ -1166,75 +1131,7 @@ QRect QItemDelegate::textRectangle(QPainter * /*painter*/, const QRect &rect,
bool QItemDelegate::eventFilter(QObject *object, QEvent *event)
{
Q_D(QItemDelegate);
-
- QWidget *editor = qobject_cast<QWidget*>(object);
- if (!editor)
- return false;
- if (event->type() == QEvent::KeyPress) {
- switch (static_cast<QKeyEvent *>(event)->key()) {
- case Qt::Key_Tab:
- if (d->tryFixup(editor)) {
- emit commitData(editor);
- emit closeEditor(editor, EditNextItem);
- }
- return true;
- case Qt::Key_Backtab:
- if (d->tryFixup(editor)) {
- emit commitData(editor);
- emit closeEditor(editor, EditPreviousItem);
- }
- return true;
- case Qt::Key_Enter:
- case Qt::Key_Return:
-#ifndef QT_NO_TEXTEDIT
- if (qobject_cast<QTextEdit *>(editor) || qobject_cast<QPlainTextEdit *>(editor))
- return false; // don't filter enter key events for QTextEdit
- // We want the editor to be able to process the key press
- // before committing the data (e.g. so it can do
- // validation/fixup of the input).
-#endif // QT_NO_TEXTEDIT
- if (!d->tryFixup(editor))
- return true;
-
- QMetaObject::invokeMethod(this, "_q_commitDataAndCloseEditor",
- Qt::QueuedConnection, Q_ARG(QWidget*, editor));
- return false;
- case Qt::Key_Escape:
- // don't commit data
- emit closeEditor(editor, QAbstractItemDelegate::RevertModelCache);
- return true;
- default:
- return false;
- }
- } else if (event->type() == QEvent::FocusOut || (event->type() == QEvent::Hide && editor->isWindow())) {
- //the Hide event will take care of he editors that are in fact complete dialogs
- if (!editor->isActiveWindow() || (QApplication::focusWidget() != editor)) {
- QWidget *w = QApplication::focusWidget();
- while (w) { // don't worry about focus changes internally in the editor
- if (w == editor)
- return false;
- w = w->parentWidget();
- }
-#ifndef QT_NO_DRAGANDDROP
- // The window may lose focus during an drag operation.
- // i.e when dragging involves the taskbar on Windows.
- QPlatformDrag *platformDrag = QGuiApplicationPrivate::instance()->platformIntegration()->drag();
- if (platformDrag && platformDrag->currentDrag()) {
- return false;
- }
-#endif
- if (d->tryFixup(editor))
- emit commitData(editor);
-
- emit closeEditor(editor, NoHint);
- }
- } else if (event->type() == QEvent::ShortcutOverride) {
- if (static_cast<QKeyEvent*>(event)->key() == Qt::Key_Escape) {
- event->accept();
- return true;
- }
- }
- return false;
+ return d->editorEventFilter(object, event);
}
/*!
diff --git a/src/widgets/itemviews/qitemdelegate.h b/src/widgets/itemviews/qitemdelegate.h
index 55b33b69b2..70e55227f8 100644
--- a/src/widgets/itemviews/qitemdelegate.h
+++ b/src/widgets/itemviews/qitemdelegate.h
@@ -117,8 +117,6 @@ protected:
private:
Q_DECLARE_PRIVATE(QItemDelegate)
Q_DISABLE_COPY(QItemDelegate)
-
- Q_PRIVATE_SLOT(d_func(), void _q_commitDataAndCloseEditor(QWidget*))
};
#endif // QT_NO_ITEMVIEWS
diff --git a/src/widgets/itemviews/qlistwidget.cpp b/src/widgets/itemviews/qlistwidget.cpp
index 51561ac23b..aae75e5651 100644
--- a/src/widgets/itemviews/qlistwidget.cpp
+++ b/src/widgets/itemviews/qlistwidget.cpp
@@ -1783,9 +1783,24 @@ QStringList QListWidget::mimeTypes() const
If the list of items is empty, 0 is returned instead of a serialized empty
list.
*/
-QMimeData *QListWidget::mimeData(const QList<QListWidgetItem*>) const
+QMimeData *QListWidget::mimeData(const QList<QListWidgetItem*> items) const
{
- return d_func()->listModel()->internalMimeData();
+ Q_D(const QListWidget);
+
+ QModelIndexList &cachedIndexes = d->listModel()->cachedIndexes;
+
+ // if non empty, it's called from the model's own mimeData
+ if (cachedIndexes.isEmpty()) {
+ foreach (QListWidgetItem *item, items)
+ cachedIndexes << indexFromItem(item);
+
+ QMimeData *result = d->listModel()->internalMimeData();
+
+ cachedIndexes.clear();
+ return result;
+ }
+
+ return d->listModel()->internalMimeData();
}
#ifndef QT_NO_DRAGANDDROP
diff --git a/src/widgets/itemviews/qlistwidget_p.h b/src/widgets/itemviews/qlistwidget_p.h
index b019cd5eaf..1f2e9e8819 100644
--- a/src/widgets/itemviews/qlistwidget_p.h
+++ b/src/widgets/itemviews/qlistwidget_p.h
@@ -72,6 +72,8 @@ public:
class Q_AUTOTEST_EXPORT QListModel : public QAbstractListModel
{
Q_OBJECT
+ friend class QListWidget;
+
public:
QListModel(QListWidget *parent);
~QListModel();
diff --git a/src/widgets/itemviews/qstyleditemdelegate.cpp b/src/widgets/itemviews/qstyleditemdelegate.cpp
index fd4fb4440e..9d16b2abfc 100644
--- a/src/widgets/itemviews/qstyleditemdelegate.cpp
+++ b/src/widgets/itemviews/qstyleditemdelegate.cpp
@@ -36,9 +36,6 @@
#ifndef QT_NO_ITEMVIEWS
#include <qabstractitemmodel.h>
#include <qapplication.h>
-#include <qpa/qplatformintegration.h>
-#include <qpa/qplatformdrag.h>
-#include <private/qguiapplication_p.h>
#include <qbrush.h>
#include <qlineedit.h>
#include <qtextedit.h>
@@ -59,8 +56,7 @@
#include <private/qitemeditorfactory_p.h>
#include <qmetaobject.h>
#include <qtextlayout.h>
-#include <private/qobject_p.h>
-#include <private/qdnd_p.h>
+#include <private/qabstractitemdelegate_p.h>
#include <private/qtextengine_p.h>
#include <private/qlayoutengine_p.h>
#include <qdebug.h>
@@ -72,7 +68,7 @@
QT_BEGIN_NAMESPACE
-class QStyledItemDelegatePrivate : public QObjectPrivate
+class QStyledItemDelegatePrivate : public QAbstractItemDelegatePrivate
{
Q_DECLARE_PUBLIC(QStyledItemDelegate)
@@ -89,34 +85,9 @@ public:
return factory ? factory : QItemEditorFactory::defaultFactory();
}
- bool tryFixup(QWidget *editor);
- void _q_commitDataAndCloseEditor(QWidget *editor)
- {
- Q_Q(QStyledItemDelegate);
- emit q->commitData(editor);
- emit q->closeEditor(editor, QAbstractItemDelegate::SubmitModelCache);
- }
QItemEditorFactory *factory;
};
-bool QStyledItemDelegatePrivate::tryFixup(QWidget *editor)
-{
-#ifndef QT_NO_LINEEDIT
- if (QLineEdit *e = qobject_cast<QLineEdit*>(editor)) {
- if (!e->hasAcceptableInput()) {
- if (const QValidator *validator = e->validator()) {
- QString text = e->text();
- validator->fixup(text);
- e->setText(text);
- }
- return e->hasAcceptableInput();
- }
- }
-#endif // QT_NO_LINEEDIT
-
- return true;
-}
-
/*!
\class QStyledItemDelegate
@@ -637,75 +608,7 @@ void QStyledItemDelegate::setItemEditorFactory(QItemEditorFactory *factory)
bool QStyledItemDelegate::eventFilter(QObject *object, QEvent *event)
{
Q_D(QStyledItemDelegate);
-
- QWidget *editor = qobject_cast<QWidget*>(object);
- if (!editor)
- return false;
- if (event->type() == QEvent::KeyPress) {
- switch (static_cast<QKeyEvent *>(event)->key()) {
- case Qt::Key_Tab:
- if (d->tryFixup(editor)) {
- emit commitData(editor);
- emit closeEditor(editor, EditNextItem);
- }
- return true;
- case Qt::Key_Backtab:
- if (d->tryFixup(editor)) {
- emit commitData(editor);
- emit closeEditor(editor, EditPreviousItem);
- }
- return true;
- case Qt::Key_Enter:
- case Qt::Key_Return:
-#ifndef QT_NO_TEXTEDIT
- if (qobject_cast<QTextEdit *>(editor) || qobject_cast<QPlainTextEdit *>(editor))
- return false; // don't filter enter key events for QTextEdit
- // We want the editor to be able to process the key press
- // before committing the data (e.g. so it can do
- // validation/fixup of the input).
-#endif // QT_NO_TEXTEDIT
- if (!d->tryFixup(editor))
- return true;
-
- QMetaObject::invokeMethod(this, "_q_commitDataAndCloseEditor",
- Qt::QueuedConnection, Q_ARG(QWidget*, editor));
- return false;
- case Qt::Key_Escape:
- // don't commit data
- emit closeEditor(editor, QAbstractItemDelegate::RevertModelCache);
- return true;
- default:
- return false;
- }
- } else if (event->type() == QEvent::FocusOut || (event->type() == QEvent::Hide && editor->isWindow())) {
- //the Hide event will take care of he editors that are in fact complete dialogs
- if (!editor->isActiveWindow() || (QApplication::focusWidget() != editor)) {
- QWidget *w = QApplication::focusWidget();
- while (w) { // don't worry about focus changes internally in the editor
- if (w == editor)
- return false;
- w = w->parentWidget();
- }
-#ifndef QT_NO_DRAGANDDROP
- // The window may lose focus during an drag operation.
- // i.e when dragging involves the taskbar on Windows.
- QPlatformDrag *platformDrag = QGuiApplicationPrivate::instance()->platformIntegration()->drag();
- if (platformDrag && platformDrag->currentDrag()) {
- return false;
- }
-#endif
- if (d->tryFixup(editor))
- emit commitData(editor);
-
- emit closeEditor(editor, NoHint);
- }
- } else if (event->type() == QEvent::ShortcutOverride) {
- if (static_cast<QKeyEvent*>(event)->key() == Qt::Key_Escape) {
- event->accept();
- return true;
- }
- }
- return false;
+ return d->editorEventFilter(object, event);
}
/*!
diff --git a/src/widgets/itemviews/qstyleditemdelegate.h b/src/widgets/itemviews/qstyleditemdelegate.h
index b523263bd9..e960e652e9 100644
--- a/src/widgets/itemviews/qstyleditemdelegate.h
+++ b/src/widgets/itemviews/qstyleditemdelegate.h
@@ -92,8 +92,6 @@ protected:
private:
Q_DECLARE_PRIVATE(QStyledItemDelegate)
Q_DISABLE_COPY(QStyledItemDelegate)
-
- Q_PRIVATE_SLOT(d_func(), void _q_commitDataAndCloseEditor(QWidget*))
};
#endif // QT_NO_ITEMVIEWS
diff --git a/src/widgets/itemviews/qtablewidget.cpp b/src/widgets/itemviews/qtablewidget.cpp
index 7c24819c0e..eb239f8025 100644
--- a/src/widgets/itemviews/qtablewidget.cpp
+++ b/src/widgets/itemviews/qtablewidget.cpp
@@ -2553,9 +2553,24 @@ QStringList QTableWidget::mimeTypes() const
If the list of items is empty, 0 is returned rather than a serialized
empty list.
*/
-QMimeData *QTableWidget::mimeData(const QList<QTableWidgetItem*>) const
+QMimeData *QTableWidget::mimeData(const QList<QTableWidgetItem*> items) const
{
- return d_func()->tableModel()->internalMimeData();
+ Q_D(const QTableWidget);
+
+ QModelIndexList &cachedIndexes = d->tableModel()->cachedIndexes;
+
+ // if non empty, it's called from the model's own mimeData
+ if (cachedIndexes.isEmpty()) {
+ foreach (QTableWidgetItem *item, items)
+ cachedIndexes << indexFromItem(item);
+
+ QMimeData *result = d->tableModel()->internalMimeData();
+
+ cachedIndexes.clear();
+ return result;
+ }
+
+ return d->tableModel()->internalMimeData();
}
/*!
diff --git a/src/widgets/itemviews/qtablewidget_p.h b/src/widgets/itemviews/qtablewidget_p.h
index 50b5a66eb5..92a8f5f305 100644
--- a/src/widgets/itemviews/qtablewidget_p.h
+++ b/src/widgets/itemviews/qtablewidget_p.h
@@ -82,6 +82,8 @@ public:
class QTableModel : public QAbstractTableModel
{
Q_OBJECT
+ friend class QTableWidget;
+
public:
enum ItemFlagsExtension {
ItemIsHeaderItem = 128
diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp
index 2c5f4b7c72..71bf92f321 100644
--- a/src/widgets/itemviews/qtreeview.cpp
+++ b/src/widgets/itemviews/qtreeview.cpp
@@ -3094,8 +3094,6 @@ void QTreeViewPrivate::expand(int item, bool emitSignal)
void QTreeViewPrivate::insertViewItems(int pos, int count, const QTreeViewItem &viewItem)
{
- Q_Q(QTreeView);
- Q_UNUSED(q)
viewItems.insert(pos, count, viewItem);
QTreeViewItem *items = viewItems.data();
for (int i = pos + count; i < viewItems.count(); i++)
@@ -3105,8 +3103,6 @@ void QTreeViewPrivate::insertViewItems(int pos, int count, const QTreeViewItem &
void QTreeViewPrivate::removeViewItems(int pos, int count)
{
- Q_Q(QTreeView);
- Q_UNUSED(q)
viewItems.remove(pos, count);
QTreeViewItem *items = viewItems.data();
for (int i = pos; i < viewItems.count(); i++)
diff --git a/src/widgets/itemviews/qtreeview_p.h b/src/widgets/itemviews/qtreeview_p.h
index bc444eb37f..72cb897353 100644
--- a/src/widgets/itemviews/qtreeview_p.h
+++ b/src/widgets/itemviews/qtreeview_p.h
@@ -210,6 +210,8 @@ public:
QSet<QPersistentModelIndex> hiddenIndexes;
inline bool isRowHidden(const QModelIndex &idx) const {
+ if (hiddenIndexes.isEmpty())
+ return false;
//We first check if the idx is a QPersistentModelIndex, because creating QPersistentModelIndex is slow
return isPersistent(idx) && hiddenIndexes.contains(idx);
}
diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp
index 82b9fec37f..500e812e28 100644
--- a/src/widgets/kernel/qapplication.cpp
+++ b/src/widgets/kernel/qapplication.cpp
@@ -65,6 +65,7 @@
#include <QtWidgets/qgraphicsproxywidget.h>
#include <QtGui/qstylehints.h>
#include <QtGui/qinputmethod.h>
+#include <QtGui/private/qwindow_p.h>
#include <qpa/qplatformtheme.h>
#ifndef QT_NO_WHATSTHIS
#include <QtWidgets/QWhatsThis>
@@ -637,7 +638,7 @@ void QApplicationPrivate::initialize()
qRegisterGuiStateMachine();
#endif
- if (qgetenv("QT_USE_NATIVE_WINDOWS").toInt() > 0)
+ if (qEnvironmentVariableIntValue("QT_USE_NATIVE_WINDOWS") > 0)
QCoreApplication::setAttribute(Qt::AA_NativeWindows);
#ifdef Q_OS_WINCE
@@ -659,8 +660,12 @@ void QApplicationPrivate::initialize()
initializeMultitouch();
if (QApplication::desktopSettingsAware())
- if (const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme())
+ if (const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme()) {
QApplicationPrivate::enabledAnimations = theme->themeHint(QPlatformTheme::UiEffects).toInt();
+#ifndef QT_NO_WHEELEVENT
+ QApplicationPrivate::wheel_scroll_lines = theme->themeHint(QPlatformTheme::WheelScrollLines).toInt();
+#endif
+ }
is_app_running = true; // no longer starting up
}
@@ -2511,7 +2516,7 @@ bool QApplicationPrivate::isWindowBlocked(QWindow *window, QWindow **blockingWin
}
QWidget *popupWidget = QApplication::activePopupWidget();
QWindow *popupWindow = popupWidget ? popupWidget->windowHandle() : 0;
- if (popupWindow == window) {
+ if (popupWindow == window || (!popupWindow && QWindowPrivate::get(window)->isPopup())) {
*blockingWindow = 0;
return false;
}
@@ -3148,39 +3153,15 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
}
switch (e->type()) {
- case QEvent::KeyPress:
- {
- bool isWidget = receiver->isWidgetType();
- bool isWindow = receiver->isWindowType();
- bool isGraphicsWidget = false;
-#ifndef QT_NO_GRAPHICSVIEW
- isGraphicsWidget = !isWidget && !isWindow && qobject_cast<QGraphicsWidget *>(receiver);
-#endif
- if (!isWidget && !isGraphicsWidget && !isWindow) {
- return d->notify_helper(receiver, e);
- }
-
- QKeyEvent* key = static_cast<QKeyEvent*>(e);
-#ifndef QT_NO_SHORTCUT
- // Try looking for a Shortcut before sending key events
- QObject *shortcutReceiver = receiver;
- if (!isWidget && isWindow) {
- QWindow *w = qobject_cast<QWindow *>(receiver);
- QObject *focus = w ? w->focusObject() : 0;
- if (focus)
- shortcutReceiver = focus;
- }
- if (qApp->d_func()->shortcutMap.tryShortcutEvent(shortcutReceiver, key))
- return true;
-#endif
- qt_in_tab_key_event = (key->key() == Qt::Key_Backtab
- || key->key() == Qt::Key_Tab
- || key->key() == Qt::Key_Left
- || key->key() == Qt::Key_Up
- || key->key() == Qt::Key_Right
- || key->key() == Qt::Key_Down);
-
- }
+ case QEvent::KeyPress: {
+ int key = static_cast<QKeyEvent*>(e)->key();
+ qt_in_tab_key_event = (key == Qt::Key_Backtab
+ || key == Qt::Key_Tab
+ || key == Qt::Key_Left
+ || key == Qt::Key_Up
+ || key == Qt::Key_Right
+ || key == Qt::Key_Down);
+ }
default:
break;
}
diff --git a/src/widgets/kernel/qdesktopwidget_p.h b/src/widgets/kernel/qdesktopwidget_p.h
index 62f4d8ed6f..0f3083cbb5 100644
--- a/src/widgets/kernel/qdesktopwidget_p.h
+++ b/src/widgets/kernel/qdesktopwidget_p.h
@@ -48,6 +48,8 @@
#include "QDesktopWidget"
#include "private/qwidget_p.h"
+#include <QtCore/qalgorithms.h>
+
QT_BEGIN_NAMESPACE
class QDesktopScreenWidget : public QWidget {
@@ -65,7 +67,7 @@ class QDesktopWidgetPrivate : public QWidgetPrivate {
Q_DECLARE_PUBLIC(QDesktopWidget)
public:
- ~QDesktopWidgetPrivate() {foreach(QDesktopScreenWidget *s, screens) delete s; }
+ ~QDesktopWidgetPrivate() { qDeleteAll(screens); }
void _q_updateScreens();
void _q_availableGeometryChanged();
diff --git a/src/widgets/kernel/qgesture.cpp b/src/widgets/kernel/qgesture.cpp
index 2b8f04ccdf..72faedf24e 100644
--- a/src/widgets/kernel/qgesture.cpp
+++ b/src/widgets/kernel/qgesture.cpp
@@ -36,6 +36,7 @@
#include "private/qstandardgestures_p.h"
#include "qgraphicsview.h"
+#include <QtCore/QDebug>
#ifndef QT_NO_GESTURES
QT_BEGIN_NAMESPACE
@@ -1124,7 +1125,81 @@ QPointF QGestureEvent::mapToGraphicsScene(const QPointF &gesturePoint) const
\sa QEvent::ignore()
*/
-#endif
+#endif // Q_NO_USING_KEYWORD
+
+#ifndef QT_NO_DEBUG_STREAM
+
+static void formatGestureHeader(QDebug d, const char *className, const QGesture *gesture)
+{
+ d << className << "(state=" << gesture->state();
+ if (gesture->hasHotSpot())
+ d << ",hotSpot=" << gesture->hotSpot();
+}
+
+Q_WIDGETS_EXPORT QDebug operator<<(QDebug d, const QGesture *gesture)
+{
+ QDebugStateSaver saver(d);
+ d.nospace();
+ switch (gesture->gestureType()) {
+ case Qt::TapGesture:
+ formatGestureHeader(d, "QTapGesture", gesture);
+ d << ",position=" << static_cast<const QTapGesture*>(gesture)->position() << ')';
+ break;
+ case Qt::TapAndHoldGesture: {
+ const QTapAndHoldGesture *tap = static_cast<const QTapAndHoldGesture*>(gesture);
+ formatGestureHeader(d, "QTapAndHoldGesture", tap);
+ d << ",position=" << tap->position() << ",timeout=" << tap->timeout() << ')';
+ }
+ break;
+ case Qt::PanGesture: {
+ const QPanGesture *pan = static_cast<const QPanGesture*>(gesture);
+ formatGestureHeader(d, "QPanGesture", pan);
+ d << ",lastOffset=" << pan->lastOffset() << ",offset=" << pan->offset()
+ << ",acceleration=" << pan->acceleration()
+ << ",delta=" << pan->delta() << ')';
+ }
+ break;
+ case Qt::PinchGesture: {
+ const QPinchGesture *pinch = static_cast<const QPinchGesture*>(gesture);
+ formatGestureHeader(d, "QPinchGesture", pinch);
+ d << ",totalChangeFlags=" << pinch->totalChangeFlags()
+ << ",changeFlags=" << pinch->changeFlags()
+ << ",startCenterPoint=" << pinch->startCenterPoint()
+ << ",lastCenterPoint=" << pinch->lastCenterPoint()
+ << ",centerPoint=" << pinch->centerPoint()
+ << ",totalScaleFactor=" << pinch->totalScaleFactor()
+ << ",lastScaleFactor=" << pinch->lastScaleFactor()
+ << ",scaleFactor=" << pinch->scaleFactor()
+ << ",totalRotationAngle=" << pinch->totalRotationAngle()
+ << ",lastRotationAngle=" << pinch->lastRotationAngle()
+ << ",rotationAngle=" << pinch->rotationAngle() << ')';
+ }
+ break;
+ case Qt::SwipeGesture: {
+ const QSwipeGesture *swipe = static_cast<const QSwipeGesture*>(gesture);
+ formatGestureHeader(d, "QSwipeGesture", swipe);
+ d << ",horizontalDirection=" << swipe->horizontalDirection()
+ << ",verticalDirection=" << swipe->verticalDirection()
+ << ",swipeAngle=" << swipe->swipeAngle() << ')';
+ }
+ break;
+ default:
+ formatGestureHeader(d, "Custom gesture", gesture);
+ d << ",type=" << gesture->gestureType() << ')';
+ break;
+ }
+ return d;
+}
+
+Q_WIDGETS_EXPORT QDebug operator<<(QDebug d, const QGestureEvent *gestureEvent)
+{
+ QDebugStateSaver saver(d);
+ d.nospace();
+ d << "QGestureEvent(" << gestureEvent->gestures() << ')';
+ return d;
+}
+
+#endif // !QT_NO_DEBUG_STREAM
QT_END_NAMESPACE
diff --git a/src/widgets/kernel/qgesture.h b/src/widgets/kernel/qgesture.h
index 9e3ee64c87..70b1faf735 100644
--- a/src/widgets/kernel/qgesture.h
+++ b/src/widgets/kernel/qgesture.h
@@ -315,6 +315,11 @@ private:
friend class QGestureManager;
};
+# ifndef QT_NO_DEBUG_STREAM
+Q_WIDGETS_EXPORT QDebug operator<<(QDebug, const QGesture *);
+Q_WIDGETS_EXPORT QDebug operator<<(QDebug, const QGestureEvent *);
+# endif
+
QT_END_NAMESPACE
Q_DECLARE_METATYPE(QGesture::GestureCancelPolicy)
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index c362530264..143293b589 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -1283,10 +1283,8 @@ void QWidget::create(WId window, bool initializeWindow, bool destroyOldWindow)
}
- static int paintOnScreenEnv = -1;
- if (paintOnScreenEnv == -1)
- paintOnScreenEnv = qgetenv("QT_ONSCREEN_PAINT").toInt() > 0 ? 1 : 0;
- if (paintOnScreenEnv == 1)
+ static const bool paintOnScreenEnv = qEnvironmentVariableIntValue("QT_ONSCREEN_PAINT") > 0;
+ if (paintOnScreenEnv)
setAttribute(Qt::WA_PaintOnScreen);
if (QApplicationPrivate::testAttribute(Qt::AA_NativeWindows))
@@ -2112,7 +2110,7 @@ void QWidgetPrivate::subtractOpaqueSiblings(QRegion &sourceRegion, bool *hasDirt
bool alsoNonOpaque) const
{
Q_Q(const QWidget);
- static int disableSubtractOpaqueSiblings = qgetenv("QT_NO_SUBTRACTOPAQUESIBLINGS").toInt();
+ static int disableSubtractOpaqueSiblings = qEnvironmentVariableIntValue("QT_NO_SUBTRACTOPAQUESIBLINGS");
if (disableSubtractOpaqueSiblings || q->isWindow())
return;
@@ -12579,13 +12577,10 @@ int QWidget::metric(PaintDeviceMetric m) const
QWindow *topLevelWindow = 0;
QScreen *screen = 0;
- if (QWidget *topLevel = window())
+ if (QWidget *topLevel = window()) {
topLevelWindow = topLevel->windowHandle();
-
- if (topLevelWindow) {
- QPlatformScreen *platformScreen = QPlatformScreen::platformScreenForWindow(topLevelWindow);
- if (platformScreen)
- screen = platformScreen->screen();
+ if (topLevelWindow)
+ screen = topLevelWindow->screen();
}
if (!screen && QGuiApplication::primaryScreen())
screen = QGuiApplication::primaryScreen();
diff --git a/src/widgets/kernel/qwidget_p.h b/src/widgets/kernel/qwidget_p.h
index bbdbabc14b..d5a91f18d6 100644
--- a/src/widgets/kernel/qwidget_p.h
+++ b/src/widgets/kernel/qwidget_p.h
@@ -612,10 +612,10 @@ public:
{ return p + data.wrect.topLeft(); }
inline QRect mapToWS(const QRect &r) const
- { QRect rr(r); rr.translate(-data.wrect.topLeft()); return rr; }
+ { return r.translated(-data.wrect.topLeft()); }
inline QRect mapFromWS(const QRect &r) const
- { QRect rr(r); rr.translate(data.wrect.topLeft()); return rr; }
+ { return r.translated(data.wrect.topLeft()); }
QOpenGLContext *shareContext() const;
diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetbackingstore.cpp
index 9f014aa4fe..38f02b2ed9 100644
--- a/src/widgets/kernel/qwidgetbackingstore.cpp
+++ b/src/widgets/kernel/qwidgetbackingstore.cpp
@@ -81,14 +81,14 @@ void QWidgetBackingStore::qt_flush(QWidget *widget, const QRegion &region, QBack
Q_ASSERT(tlw);
#if !defined(QT_NO_PAINT_DEBUG)
- static int flushUpdate = qgetenv("QT_FLUSH_UPDATE").toInt();
+ static int flushUpdate = qEnvironmentVariableIntValue("QT_FLUSH_UPDATE");
if (flushUpdate > 0)
QWidgetBackingStore::showYellowThing(widget, region, flushUpdate * 10, false);
#endif
if (tlw->testAttribute(Qt::WA_DontShowOnScreen) || widget->testAttribute(Qt::WA_DontShowOnScreen))
return;
- static bool fpsDebug = qgetenv("QT_DEBUG_FPS").toInt();
+ static bool fpsDebug = qEnvironmentVariableIntValue("QT_DEBUG_FPS");
if (fpsDebug) {
if (!widgetBackingStore->perfFrames++)
widgetBackingStore->perfTime.start();
@@ -239,12 +239,12 @@ bool QWidgetBackingStore::flushPaint(QWidget *widget, const QRegion &rgn)
int delay = 0;
if (widget->testAttribute(Qt::WA_WState_InPaintEvent)) {
- static int flushPaintEvent = qgetenv("QT_FLUSH_PAINT_EVENT").toInt();
+ static int flushPaintEvent = qEnvironmentVariableIntValue("QT_FLUSH_PAINT_EVENT");
if (!flushPaintEvent)
return false;
delay = flushPaintEvent;
} else {
- static int flushPaint = qgetenv("QT_FLUSH_PAINT").toInt();
+ static int flushPaint = qEnvironmentVariableIntValue("QT_FLUSH_PAINT");
if (!flushPaint)
return false;
delay = flushPaint;
@@ -780,10 +780,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy)
if (x->inTopLevelResize)
return;
- static int accelEnv = -1;
- if (accelEnv == -1) {
- accelEnv = qgetenv("QT_NO_FAST_MOVE").toInt() == 0;
- }
+ static const bool accelEnv = qEnvironmentVariableIntValue("QT_NO_FAST_MOVE") == 0;
QWidget *pw = q->parentWidget();
QPoint toplevelOffset = pw->mapTo(tlw, QPoint());
@@ -862,10 +859,7 @@ void QWidgetPrivate::scrollRect(const QRect &rect, int dx, int dy)
if (!wbs)
return;
- static int accelEnv = -1;
- if (accelEnv == -1) {
- accelEnv = qgetenv("QT_NO_FAST_SCROLL").toInt() == 0;
- }
+ static const bool accelEnv = qEnvironmentVariableIntValue("QT_NO_FAST_SCROLL") == 0;
QRect scrollRect = rect & clipRect();
bool overlapped = false;
diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
index 463eea4ddc..4bca0eab4a 100644
--- a/src/widgets/kernel/qwidgetwindow.cpp
+++ b/src/widgets/kernel/qwidgetwindow.cpp
@@ -434,6 +434,7 @@ void QWidgetWindow::handleMouseEvent(QMouseEvent *event)
QGuiApplicationPrivate::setMouseEventSource(&e, QGuiApplicationPrivate::mouseEventSource(event));
e.setTimestamp(event->timestamp());
QApplicationPrivate::sendMouseEvent(receiver, &e, alien, m_widget, &qt_button_down, qt_last_mouse_receiver);
+ qt_last_mouse_receiver = receiver;
} else {
// close disabled popups when a mouse button is pressed or released
switch (event->type()) {
diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp
index 1c5dcf5f0a..7e9a631c5e 100644
--- a/src/widgets/styles/qcommonstyle.cpp
+++ b/src/widgets/styles/qcommonstyle.cpp
@@ -4923,6 +4923,25 @@ int QCommonStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget
ret = true;
break;
+ case SH_Menu_SubMenuUniDirection:
+ ret = false;
+ break;
+ case SH_Menu_SubMenuUniDirectionFailCount:
+ ret = 1;
+ break;
+ case SH_Menu_SubMenuSloppySelectOtherActions:
+ ret = true;
+ break;
+ case SH_Menu_SubMenuSloppyCloseTimeout:
+ ret = 1000;
+ break;
+ case SH_Menu_SubMenuResetWhenReenteringParent:
+ ret = false;
+ break;
+ case SH_Menu_SubMenuDontStartSloppyOnLeave:
+ ret = false;
+ break;
+
case SH_ProgressDialog_TextLabelAlignment:
ret = Qt::AlignCenter;
break;
diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp
index ed7b4ab3b6..c4f78b9998 100644
--- a/src/widgets/styles/qfusionstyle.cpp
+++ b/src/widgets/styles/qfusionstyle.cpp
@@ -1541,7 +1541,8 @@ void QFusionStyle::drawControl(ControlElement element, const QStyleOption *optio
bool ignoreCheckMark = false;
int checkcol = qMax(menuItem->maxIconWidth, 20);
- if (qobject_cast<const QComboBox*>(widget))
+ if (qobject_cast<const QComboBox*>(widget) ||
+ (option->styleObject && option->styleObject->property("_q_isComboBoxPopupItem").toBool()))
ignoreCheckMark = true; //ignore the checkmarks provided by the QComboMenuDelegate
if (!ignoreCheckMark) {
@@ -1610,7 +1611,7 @@ void QFusionStyle::drawControl(ControlElement element, const QStyleOption *optio
QRect pmr(0, 0, pixw, pixh);
pmr.moveCenter(vCheckRect.center());
painter->setPen(menuItem->palette.text().color());
- if (checkable && checked) {
+ if (!ignoreCheckMark && checkable && checked) {
QStyleOption opt = *option;
if (act) {
QColor activeColor = mergedColors(option->palette.background().color(),
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm
index 00112a5c6d..328378cb8e 100644
--- a/src/widgets/styles/qmacstyle_mac.mm
+++ b/src/widgets/styles/qmacstyle_mac.mm
@@ -2794,6 +2794,19 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w
case SH_Menu_SubMenuPopupDelay:
ret = 100;
break;
+ case SH_Menu_SubMenuUniDirection:
+ ret = true;
+ break;
+ case SH_Menu_SubMenuSloppySelectOtherActions:
+ ret = false;
+ break;
+ case SH_Menu_SubMenuResetWhenReenteringParent:
+ ret = true;
+ break;
+ case SH_Menu_SubMenuDontStartSloppyOnLeave:
+ ret = true;
+ break;
+
case SH_ScrollBar_LeftClickAbsolutePosition: {
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
bool result = [defaults boolForKey:@"AppleScrollerPagingBehavior"];
@@ -3040,8 +3053,11 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w
break;
case SH_ScrollBar_Transient:
if ((qobject_cast<const QScrollBar *>(w) && w->parent() &&
- qobject_cast<QAbstractScrollArea*>(w->parent()->parent())) ||
- (opt && QStyleHelper::hasAncestor(opt->styleObject, QAccessible::ScrollBar))) {
+ qobject_cast<QAbstractScrollArea*>(w->parent()->parent()))
+#ifndef QT_NO_ACCESSIBILITY
+ || (opt && QStyleHelper::hasAncestor(opt->styleObject, QAccessible::ScrollBar))
+#endif
+ ) {
ret = [NSScroller preferredScrollerStyle] == NSScrollerStyleOverlay;
}
break;
@@ -3683,6 +3699,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
if (const QStyleOptionToolButton *tb = qstyleoption_cast<const QStyleOptionToolButton *>(opt)) {
QStyleOptionToolButton myTb = *tb;
myTb.state &= ~State_AutoRaise;
+#ifndef QT_NO_ACCESSIBILITY
if (QStyleHelper::hasAncestor(opt->styleObject, QAccessible::ToolBar)) {
QRect cr = tb->rect;
int shiftX = 0;
@@ -3772,6 +3789,9 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
} else {
QCommonStyle::drawControl(ce, &myTb, p, w);
}
+#else
+ Q_UNUSED(tb)
+#endif
}
break;
case CE_ToolBoxTabShape:
@@ -5910,7 +5930,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
case CC_ToolButton:
if (const QStyleOptionToolButton *tb
= qstyleoption_cast<const QStyleOptionToolButton *>(opt)) {
-
+#ifndef QT_NO_ACCESSIBILITY
if (QStyleHelper::hasAncestor(opt->styleObject, QAccessible::ToolBar)) {
if (tb->subControls & SC_ToolButtonMenu) {
QStyleOption arrowOpt(0);
@@ -6036,6 +6056,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
label.rect = buttonRect.adjusted(fw, fw, -fw, -fw);
proxy()->drawControl(CE_ToolButtonLabel, &label, p, widget);
}
+#endif
}
break;
case CC_Dial:
@@ -6514,7 +6535,11 @@ QRect QMacStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex *op
break;
case CC_ToolButton:
ret = QCommonStyle::subControlRect(cc, opt, sc, widget);
- if (sc == SC_ToolButtonMenu && !QStyleHelper::hasAncestor(opt->styleObject, QAccessible::ToolBar)) {
+ if (sc == SC_ToolButtonMenu
+#ifndef QT_NO_ACCESSIBILITY
+ && !QStyleHelper::hasAncestor(opt->styleObject, QAccessible::ToolBar)
+#endif
+ ) {
ret.adjust(-1, 0, 0, 0);
}
break;
diff --git a/src/widgets/styles/qstyle.cpp b/src/widgets/styles/qstyle.cpp
index 856ec271fb..109a0ea451 100644
--- a/src/widgets/styles/qstyle.cpp
+++ b/src/widgets/styles/qstyle.cpp
@@ -1707,6 +1707,32 @@ void QStyle::drawItemPixmap(QPainter *painter, const QRect &rect, int alignment,
other items of the menu. This is supported on most modern
desktop platforms.
+ \value SH_Menu_SubMenuUniDirection Since Qt 5.5. If the cursor has
+ to move towards the submenu (like it is on OS X), or if the
+ cursor can move in any direction as long as it reaches the
+ submenu before the sloppy timeout.
+
+ \value SH_Menu_SubMenuUniDirectionFailCount Since Qt 5.5. When
+ SH_Menu_SubMenuUniDirection is defined this enum defines the
+ number of failed mouse moves before the sloppy submenu is
+ discarded. This can be used to control the "strictness" of the
+ uni direction algorithm.
+
+ \value SH_Menu_SubMenuSloppySelectOtherActions Since Qt 5.5. Should
+ other action items be selected when the mouse moves towards a
+ sloppy submenu.
+
+ \value SH_Menu_SubMenuSloppyCloseTimeout Since Qt 5.5. The timeout
+ used to close sloppy submenus.
+
+ \value SH_Menu_SubMenuResetWhenReenteringParent Since Qt 5.5. When
+ entering parent from child submenu, should the sloppy state be
+ reset, effectively closing the child and making the current
+ submenu active.
+
+ \value SH_Menu_SubMenuDontStartSloppyOnLeave Since Qt 5.5. Do not
+ start sloppy timers when the mouse leaves a sub-menu.
+
\value SH_ScrollView_FrameOnlyAroundContents Whether scrollviews
draw their frame only around contents (like Motif), or around
contents, scroll bars and corner widgets (like Windows).
diff --git a/src/widgets/styles/qstyle.h b/src/widgets/styles/qstyle.h
index 43a49e3746..fa15a0d4c4 100644
--- a/src/widgets/styles/qstyle.h
+++ b/src/widgets/styles/qstyle.h
@@ -703,6 +703,12 @@ public:
SH_ComboBox_UseNativePopup,
SH_LineEdit_PasswordMaskDelay,
SH_TabBar_ChangeCurrentDelay,
+ SH_Menu_SubMenuUniDirection,
+ SH_Menu_SubMenuUniDirectionFailCount,
+ SH_Menu_SubMenuSloppySelectOtherActions,
+ SH_Menu_SubMenuSloppyCloseTimeout,
+ SH_Menu_SubMenuResetWhenReenteringParent,
+ SH_Menu_SubMenuDontStartSloppyOnLeave,
// Add new style hint values here
SH_CustomBase = 0xf0000000
diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp
index 1d98a56063..027e36387a 100644
--- a/src/widgets/styles/qstyleoption.cpp
+++ b/src/widgets/styles/qstyleoption.cpp
@@ -1626,6 +1626,9 @@ QStyleOptionProgressBar::QStyleOptionProgressBar(int version)
\brief the progress bar's orientation (horizontal or vertical);
the default orentation is Qt::Horizontal
+ \deprecated
+ Use the QStyle::State_Horizontal flag instead (in the the QStyleOption::state member).
+
\sa QProgressBar::orientation
*/
diff --git a/src/widgets/styles/qstyleoption.h b/src/widgets/styles/qstyleoption.h
index a475f485df..4b55cf3faf 100644
--- a/src/widgets/styles/qstyleoption.h
+++ b/src/widgets/styles/qstyleoption.h
@@ -317,7 +317,7 @@ public:
QString text;
Qt::Alignment textAlignment;
bool textVisible;
- Qt::Orientation orientation;
+ Qt::Orientation orientation; // ### Qt 6: remove
bool invertedAppearance;
bool bottomToTop;
diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp
index a10bdc67e1..9deeb725f9 100644
--- a/src/widgets/styles/qwindowsstyle.cpp
+++ b/src/widgets/styles/qwindowsstyle.cpp
@@ -586,6 +586,17 @@ int QWindowsStyle::styleHint(StyleHint hint, const QStyleOption *opt, const QWid
break;
}
#endif // Q_OS_WIN && !Q_OS_WINRT
+ case SH_Menu_SubMenuSloppyCloseTimeout:
+ case SH_Menu_SubMenuPopupDelay: {
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
+ DWORD delay;
+ if (SystemParametersInfo(SPI_GETMENUSHOWDELAY, 0, &delay, 0))
+ ret = delay;
+ else
+#endif // Q_OS_WIN && !Q_OS_WINCE && !Q_OS_WINRT
+ ret = 400;
+ break;
+ }
#ifndef QT_NO_RUBBERBAND
case SH_RubberBand_Mask:
if (const QStyleOptionRubberBand *rbOpt = qstyleoption_cast<const QStyleOptionRubberBand *>(opt)) {
diff --git a/src/widgets/widgets/qframe.cpp b/src/widgets/widgets/qframe.cpp
index 57cd51396c..b914a80f1d 100644
--- a/src/widgets/widgets/qframe.cpp
+++ b/src/widgets/widgets/qframe.cpp
@@ -202,6 +202,49 @@ QFrame::QFrame(QFramePrivate &dd, QWidget* parent, Qt::WindowFlags f)
d->init();
}
+/*!
+ \since 5.5
+
+ Initializes \a option with the values from this QFrame. This method is
+ useful for subclasses when they need a QStyleOptionFrame but don't want to
+ fill in all the information themselves.
+
+ \sa QStyleOption::initFrom()
+*/
+void QFrame::initStyleOption(QStyleOptionFrame *option) const
+{
+ if (!option)
+ return;
+
+ Q_D(const QFrame);
+ option->initFrom(this);
+
+ int frameShape = d->frameStyle & QFrame::Shape_Mask;
+ int frameShadow = d->frameStyle & QFrame::Shadow_Mask;
+ option->frameShape = Shape(int(option->frameShape) | frameShape);
+ option->rect = frameRect();
+ switch (frameShape) {
+ case QFrame::Box:
+ case QFrame::HLine:
+ case QFrame::VLine:
+ case QFrame::StyledPanel:
+ case QFrame::Panel:
+ option->lineWidth = d->lineWidth;
+ option->midLineWidth = d->midLineWidth;
+ break;
+ default:
+ // most frame styles do not handle customized line and midline widths
+ // (see updateFrameWidth()).
+ option->lineWidth = d->frameWidth;
+ break;
+ }
+
+ if (frameShadow == Sunken)
+ option->state |= QStyle::State_Sunken;
+ else if (frameShadow == Raised)
+ option->state |= QStyle::State_Raised;
+}
+
/*!
Destroys the frame.
@@ -362,10 +405,7 @@ void QFramePrivate::updateStyledFrameWidths()
{
Q_Q(const QFrame);
QStyleOptionFrame opt;
- opt.initFrom(q);
- opt.lineWidth = lineWidth;
- opt.midLineWidth = midLineWidth;
- opt.frameShape = QFrame::Shape(frameStyle & QFrame::Shape_Mask);
+ q->initStyleOption(&opt);
QRect cr = q->style()->subElementRect(QStyle::SE_ShapedFrameContents, &opt, q);
leftFrameWidth = cr.left() - opt.rect.left();
@@ -472,34 +512,8 @@ void QFrame::paintEvent(QPaintEvent *)
*/
void QFrame::drawFrame(QPainter *p)
{
- Q_D(QFrame);
QStyleOptionFrame opt;
- opt.init(this);
- int frameShape = d->frameStyle & QFrame::Shape_Mask;
- int frameShadow = d->frameStyle & QFrame::Shadow_Mask;
- opt.frameShape = Shape(int(opt.frameShape) | frameShape);
- opt.rect = frameRect();
- switch (frameShape) {
- case QFrame::Box:
- case QFrame::HLine:
- case QFrame::VLine:
- case QFrame::StyledPanel:
- case QFrame::Panel:
- opt.lineWidth = d->lineWidth;
- opt.midLineWidth = d->midLineWidth;
- break;
- default:
- // most frame styles do not handle customized line and midline widths
- // (see updateFrameWidth()).
- opt.lineWidth = d->frameWidth;
- break;
- }
-
- if (frameShadow == Sunken)
- opt.state |= QStyle::State_Sunken;
- else if (frameShadow == Raised)
- opt.state |= QStyle::State_Raised;
-
+ initStyleOption(&opt);
style()->drawControl(QStyle::CE_ShapedFrame, &opt, p, this);
}
diff --git a/src/widgets/widgets/qframe.h b/src/widgets/widgets/qframe.h
index ff04d70afc..70dd138ad1 100644
--- a/src/widgets/widgets/qframe.h
+++ b/src/widgets/widgets/qframe.h
@@ -40,6 +40,7 @@ QT_BEGIN_NAMESPACE
class QFramePrivate;
+class QStyleOptionFrame;
class Q_WIDGETS_EXPORT QFrame : public QWidget
{
@@ -107,6 +108,7 @@ protected:
protected:
QFrame(QFramePrivate &dd, QWidget* parent = 0, Qt::WindowFlags f = 0);
+ void initStyleOption(QStyleOptionFrame *option) const;
private:
Q_DISABLE_COPY(QFrame)
diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp
index bd8dd783ff..5a504a880c 100644
--- a/src/widgets/widgets/qlineedit.cpp
+++ b/src/widgets/widgets/qlineedit.cpp
@@ -1405,7 +1405,7 @@ bool QLineEdit::event(QEvent * e)
{
Q_D(QLineEdit);
if (e->type() == QEvent::Timer) {
- // should be timerEvent, is here for binary compatibility
+ // ### Qt6: move to timerEvent, is here for binary compatibility
int timerId = ((QTimerEvent*)e)->timerId();
if (false) {
#ifndef QT_NO_DRAGANDDROP
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
index acfccc8e19..2c27344a4a 100644
--- a/src/widgets/widgets/qmenu.cpp
+++ b/src/widgets/widgets/qmenu.cpp
@@ -70,6 +70,22 @@
QT_BEGIN_NAMESPACE
QMenu *QMenuPrivate::mouseDown = 0;
+QPointer<QMenu> QMenuPrivate::previousMouseMenu(Q_NULLPTR);
+static void handleEnterLeaveEvents(QPointer<QMenu> *previous_ptr, QMenu *next)
+{
+ QWidget *previous = previous_ptr->data();
+ if (previous != next) {
+ if (previous) {
+ QEvent leaveEvent(QEvent::Leave);
+ QApplication::sendEvent(previous, &leaveEvent);
+ }
+ if (next) {
+ QEvent enterEvent(QEvent::Enter);
+ QApplication::sendEvent(next, &enterEvent);
+ }
+ }
+ *previous_ptr = next;
+}
/* QMenu code */
// internal class used for the torn off popup
@@ -148,6 +164,9 @@ void QMenuPrivate::init()
}
setPlatformMenu(QGuiApplicationPrivate::platformTheme()->createPlatformMenu());
+ sloppyState.initialize(q);
+ delayState.initialize(q);
+ mousePopupDelay = q->style()->styleHint(QStyle::SH_Menu_SubMenuPopupDelay, 0, q);
}
void QMenuPrivate::setPlatformMenu(QPlatformMenu *menu)
@@ -270,7 +289,6 @@ void QMenuPrivate::updateActionRects(const QRect &screen) const
maxIconWidth = 0;
hasCheckableItems = false;
ncols = 1;
- sloppyAction = 0;
for (int i = 0; i < actions.count(); ++i) {
QAction *action = actions.at(i);
@@ -482,21 +500,30 @@ void QMenuPrivate::hideMenu(QMenu *menu)
aboutToHide = false;
blocker.unblock();
#endif // QT_NO_EFFECTS
+ if (activeMenu == menu)
+ activeMenu = 0;
+ menu->d_func()->causedPopup.action = 0;
+ menu->d_func()->causedPopup.widget = 0;
menu->close();
+ if (previousMouseMenu.data() == menu)
+ handleEnterLeaveEvents(&previousMouseMenu, Q_NULLPTR);
}
void QMenuPrivate::popupAction(QAction *action, int delay, bool activateFirst)
{
Q_Q(QMenu);
- if (action && action->isEnabled()) {
- if (!delay)
- q->internalDelayedPopup();
- else if (!menuDelayTimer.isActive() && (!action->menu() || !action->menu()->isVisible()))
- menuDelayTimer.start(delay, q);
- if (activateFirst && action->menu())
- action->menu()->d_func()->setFirstActionActive();
+ if (action) {
+ if (action->isEnabled()) {
+ if (!delay)
+ q->internalDelayedPopup();
+ else if (action->menu() && !action->menu()->isVisible())
+ delayState.start(delay, action);
+ else if (!action->menu())
+ delayState.stop();
+ if (activateFirst && action->menu())
+ action->menu()->d_func()->setFirstActionActive();
+ }
} else if (QMenu *menu = activeMenu) { //hide the current item
- activeMenu = 0;
hideMenu(menu);
}
}
@@ -547,33 +574,32 @@ void QMenuPrivate::setCurrentAction(QAction *action, int popup, SelectionReason
{
Q_Q(QMenu);
tearoffHighlighted = 0;
+
+ if (action
+ && (action->isSeparator()
+ || (!action->isEnabled() && !q->style()->styleHint(QStyle::SH_Menu_AllowActiveAndDisabled, 0, q))))
+ action = Q_NULLPTR;
+
// Reselect the currently active action in case mouse moved over other menu items when
// moving from sub menu action to sub menu (QTBUG-20094).
- if (reason != SelectedFromKeyboard && action == currentAction && !(action && action->menu() && action->menu() != activeMenu)) {
+ if (reason != SelectedFromKeyboard) {
if (QMenu *menu = qobject_cast<QMenu*>(causedPopup.widget)) {
if (causedPopup.action && menu->d_func()->activeMenu == q)
menu->d_func()->setCurrentAction(causedPopup.action, 0, reason, false);
}
- return;
}
if (currentAction)
q->update(actionRect(currentAction));
- sloppyAction = 0;
- if (!sloppyRegion.isEmpty())
- sloppyRegion = QRegion();
QMenu *hideActiveMenu = activeMenu;
-#ifndef QT_NO_STATUSTIP
QAction *previousAction = currentAction;
-#endif
currentAction = action;
if (action) {
if (!action->isSeparator()) {
activateAction(action, QAction::Hover);
if (popup != -1) {
- hideActiveMenu = 0; //will be done "later"
// if the menu is visible then activate the required action,
// otherwise we just mark the action as currentAction
// and activate it when the menu will be popuped.
@@ -596,24 +622,122 @@ void QMenuPrivate::setCurrentAction(QAction *action, int popup, SelectionReason
}
}
}
- } else { //action is a separator
- if (popup != -1)
- hideActiveMenu = 0; //will be done "later"
}
#ifndef QT_NO_STATUSTIP
} else if (previousAction) {
previousAction->d_func()->showStatusText(topCausedWidget(), QString());
#endif
}
- if (hideActiveMenu) {
- activeMenu = 0;
+ if (hideActiveMenu && previousAction != currentAction) {
+ if (popup == -1) {
#ifndef QT_NO_EFFECTS
- // kill any running effect
- qFadeEffect(0);
- qScrollEffect(0);
+ // kill any running effect
+ qFadeEffect(0);
+ qScrollEffect(0);
#endif
- hideMenu(hideActiveMenu);
+ hideMenu(hideActiveMenu);
+ } else if (!currentAction || !currentAction->menu()) {
+ sloppyState.startTimerIfNotRunning();
+ }
+ }
+}
+
+void QMenuSloppyState::reset()
+{
+ m_enabled = false;
+ m_first_mouse = true;
+ m_init_guard = false;
+ m_uni_dir_discarded_count = 0;
+ m_time.stop();
+ m_reset_action = Q_NULLPTR;
+ m_origin_action = Q_NULLPTR;
+ m_action_rect = QRect();
+ m_previous_point = QPointF();
+ if (m_sub_menu) {
+ QMenuPrivate::get(m_sub_menu)->sloppyState.m_parent = Q_NULLPTR;
+ m_sub_menu = Q_NULLPTR;
+ }
+}
+void QMenuSloppyState::enter()
+{
+ QMenuPrivate *menuPriv = QMenuPrivate::get(m_menu);
+
+ if (m_discard_state_when_entering_parent && m_sub_menu == menuPriv->activeMenu) {
+ menuPriv->hideMenu(m_sub_menu);
+ reset();
+ }
+ if (m_parent)
+ m_parent->childEnter();
+}
+
+void QMenuSloppyState::childLeave()
+{
+ if (m_enabled && !QMenuPrivate::get(m_menu)->hasReceievedEnter) {
+ startTimer();
+ if (m_parent)
+ m_parent->childLeave();
+ }
+}
+
+void QMenuSloppyState::setSubMenuPopup(const QRect &actionRect, QAction *resetAction, QMenu *subMenu)
+{
+ m_enabled = true;
+ m_init_guard = true;
+ m_time.stop();
+ m_action_rect = actionRect;
+ m_sub_menu = subMenu;
+ QMenuPrivate::get(subMenu)->sloppyState.m_parent = this;
+ m_reset_action = resetAction;
+ m_origin_action = resetAction;
+}
+
+bool QMenuSloppyState::hasParentActiveDelayTimer() const
+{
+ return m_parent && m_parent->m_menu && QMenuPrivate::get(m_parent->m_menu)->delayState.timer.isActive();
+}
+
+class ResetOnDestroy
+{
+public:
+ ResetOnDestroy(QMenuSloppyState *sloppyState, bool *guard)
+ : toReset(sloppyState)
+ , guard(guard)
+ {
+ *guard = false;
}
+
+ ~ResetOnDestroy()
+ {
+ if (!*guard)
+ toReset->reset();
+ }
+
+ QMenuSloppyState *toReset;
+ bool *guard;
+};
+
+void QMenuSloppyState::timeout()
+{
+ QMenuPrivate *menu_priv = QMenuPrivate::get(m_menu);
+ if (menu_priv->currentAction == m_reset_action
+ && menu_priv->hasReceievedEnter
+ && (menu_priv->currentAction
+ && menu_priv->currentAction->menu() == menu_priv->activeMenu)) {
+ return;
+ }
+
+ ResetOnDestroy resetState(this, &m_init_guard);
+
+ if (hasParentActiveDelayTimer() || !m_menu || !m_menu->isVisible())
+ return;
+
+ if (m_sub_menu)
+ menu_priv->hideMenu(m_sub_menu);
+
+ if (menu_priv->hasReceievedEnter)
+ menu_priv->setCurrentAction(m_reset_action,0);
+ else
+ menu_priv->setCurrentAction(Q_NULLPTR, 0);
}
//return the top causedPopup.widget that is not a QMenu
@@ -964,8 +1088,10 @@ bool QMenuPrivate::mouseEventTaken(QMouseEvent *e)
tearoffHighlighted = 0;
}
- if (q->frameGeometry().contains(e->globalPos())) //otherwise if the event is in our rect we want it..
+ if (q->frameGeometry().contains(e->globalPos())) { //otherwise if the event is in our rect we want it..
+ handleEnterLeaveEvents(&previousMouseMenu, q);
return false;
+ }
for(QWidget *caused = causedPopup.widget; caused;) {
bool passOnEvent = false;
@@ -981,16 +1107,17 @@ bool QMenuPrivate::mouseEventTaken(QMouseEvent *e)
next_widget = m->d_func()->causedPopup.widget;
}
if (passOnEvent) {
+ handleEnterLeaveEvents(&previousMouseMenu,qobject_cast<QMenu *>(caused));
if(e->type() != QEvent::MouseButtonRelease || mouseDown == caused) {
QMouseEvent new_e(e->type(), cpos, caused->mapTo(caused->topLevelWidget(), cpos), e->screenPos(),
e->button(), e->buttons(), e->modifiers());
QApplication::sendEvent(caused, &new_e);
return true;
+ }
}
- }
- if (!next_widget)
- break;
caused = next_widget;
+ if (!caused)
+ handleEnterLeaveEvents(&previousMouseMenu, Q_NULLPTR);
}
return false;
}
@@ -2235,6 +2362,8 @@ void QMenu::hideEvent(QHideEvent *)
#endif
d->mouseDown = 0;
d->hasHadMouse = false;
+ if (d->activeMenu)
+ d->hideMenu(d->activeMenu);
d->causedPopup.widget = 0;
d->causedPopup.action = 0;
if (d->scroll)
@@ -2401,7 +2530,7 @@ void QMenu::mouseReleaseEvent(QMouseEvent *e)
#endif
d->activateAction(action, QAction::Trigger);
}
- } else if (d->hasMouseMoved(e->globalPos())) {
+ } else if ((!action || action->isEnabled()) && d->hasMouseMoved(e->globalPos())) {
d->hideUpToMenuBar();
}
}
@@ -2466,8 +2595,8 @@ QMenu::event(QEvent *e)
}
} break;
case QEvent::ContextMenu:
- if(d->menuDelayTimer.isActive()) {
- d->menuDelayTimer.stop();
+ if (d->delayState.timer.isActive()) {
+ d->delayState.stop();
internalDelayedPopup();
}
break;
@@ -2484,6 +2613,7 @@ QMenu::event(QEvent *e)
case QEvent::Show:
d->mouseDown = 0;
d->updateActionRects();
+ d->sloppyState.reset();
if (d->currentAction)
d->popupAction(d->currentAction, 0, false);
break;
@@ -2891,34 +3021,34 @@ void QMenu::mouseMoveEvent(QMouseEvent *e)
Q_D(QMenu);
if (!isVisible() || d->aboutToHide || d->mouseEventTaken(e))
return;
+
d->motions++;
- if (d->motions == 0) // ignore first mouse move event (see enterEvent())
+ if (d->motions == 0)
return;
+
d->hasHadMouse = d->hasHadMouse || rect().contains(e->pos());
QAction *action = d->actionAt(e->pos());
- if (!action || action->isSeparator()) {
+ if ((!action || action->isSeparator()) && !d->sloppyState.enabled()) {
if (d->hasHadMouse
- && d->sloppyDelayTimer == 0 // Keep things as they are while we're moving to the submenu
- && (!d->currentAction || (action && action->isSeparator())
- || !(d->currentAction->menu() && d->currentAction->menu()->isVisible())))
- d->setCurrentAction(0);
+ || (!d->currentAction || !d->currentAction->menu() || !d->currentAction->menu()->isVisible())) {
+ d->setCurrentAction(action);
+ }
return;
- } else if(e->buttons()) {
- d->mouseDown = this;
}
- if (d->sloppyRegion.contains(e->pos())) {
- // If the timer is already running then don't start a new one unless the action is the same
- if (d->sloppyAction != action && d->sloppyDelayTimer != 0) {
- killTimer(d->sloppyDelayTimer);
- d->sloppyDelayTimer = 0;
- }
- if (d->sloppyDelayTimer == 0) {
- d->sloppyAction = action;
- d->sloppyDelayTimer = startTimer(style()->styleHint(QStyle::SH_Menu_SubMenuPopupDelay, 0, this) * 6);
- }
- } else if (action != d->currentAction) {
- d->setCurrentAction(action, style()->styleHint(QStyle::SH_Menu_SubMenuPopupDelay, 0, this));
+
+ if (e->buttons())
+ d->mouseDown = this;
+
+ if (d->activeMenu)
+ d->activeMenu->d_func()->setCurrentAction(0);
+
+ QMenuSloppyState::MouseEventResult sloppyEventResult = d->sloppyState.processMouseEvent(e->localPos(), action, d->currentAction);
+ if (sloppyEventResult == QMenuSloppyState::EventShouldBePropogated) {
+ d->setCurrentAction(action, d->mousePopupDelay);
+ } else if (sloppyEventResult == QMenuSloppyState::EventDiscardsSloppyState) {
+ d->sloppyState.reset();
+ d->hideMenu(d->activeMenu);
}
}
@@ -2927,7 +3057,11 @@ void QMenu::mouseMoveEvent(QMouseEvent *e)
*/
void QMenu::enterEvent(QEvent *)
{
- d_func()->motions = -1; // force us to ignore the generate mouse move in mouseMoveEvent()
+ Q_D(QMenu);
+ d->hasReceievedEnter = true;
+ d->sloppyState.enter();
+ d->sloppyState.startTimer();
+ d->motions = -1; // force us to ignore the generate mouse move in mouseMoveEvent()
}
/*!
@@ -2936,9 +3070,8 @@ void QMenu::enterEvent(QEvent *)
void QMenu::leaveEvent(QEvent *)
{
Q_D(QMenu);
- d->sloppyAction = 0;
- if (!d->sloppyRegion.isEmpty())
- d->sloppyRegion = QRegion();
+ d->hasReceievedEnter = false;
+ d->sloppyState.leave();
if (!d->activeMenu && d->currentAction)
setActiveAction(0);
}
@@ -2954,13 +3087,14 @@ QMenu::timerEvent(QTimerEvent *e)
d->scrollMenu((QMenuPrivate::QMenuScroller::ScrollDirection)d->scroll->scrollDirection);
if (d->scroll->scrollFlags == QMenuPrivate::QMenuScroller::ScrollNone)
d->scroll->scrollTimer.stop();
- } else if(d->menuDelayTimer.timerId() == e->timerId()) {
- d->menuDelayTimer.stop();
+ } else if (d->delayState.timer.timerId() == e->timerId()) {
+ if (d->currentAction && !d->currentAction->menu())
+ return;
+ d->delayState.stop();
+ d->sloppyState.stopTimer();
internalDelayedPopup();
- } else if (d->sloppyDelayTimer == e->timerId()) {
- killTimer(d->sloppyDelayTimer);
- d->sloppyDelayTimer = 0;
- internalSetSloppyAction();
+ } else if (d->sloppyState.isTimerId(e->timerId())) {
+ d->sloppyState.timeout();
} else if(d->searchBufferTimer.timerId() == e->timerId()) {
d->searchBuffer.clear();
}
@@ -3085,23 +3219,13 @@ void QMenu::actionEvent(QActionEvent *e)
/*!
\internal
*/
-void QMenu::internalSetSloppyAction()
-{
- if (d_func()->sloppyAction)
- d_func()->setCurrentAction(d_func()->sloppyAction, 0);
-}
-
-/*!
- \internal
-*/
void QMenu::internalDelayedPopup()
{
Q_D(QMenu);
-
//hide the current item
if (QMenu *menu = d->activeMenu) {
- d->activeMenu = 0;
- d->hideMenu(menu);
+ if (d->activeMenu->menuAction() != d->currentAction)
+ d->hideMenu(menu);
}
if (!d->currentAction || !d->currentAction->isEnabled() || !d->currentAction->menu() ||
@@ -3115,34 +3239,12 @@ void QMenu::internalDelayedPopup()
int subMenuOffset = style()->pixelMetric(QStyle::PM_SubMenuOverlap, 0, this);
const QRect actionRect(d->actionRect(d->currentAction));
- const QSize menuSize(d->activeMenu->sizeHint());
const QPoint rightPos(mapToGlobal(QPoint(actionRect.right() + subMenuOffset + 1, actionRect.top())));
QPoint pos(rightPos);
- //calc sloppy focus buffer
- if (style()->styleHint(QStyle::SH_Menu_SloppySubMenus, 0, this)) {
- QPoint cur = QCursor::pos();
- if (actionRect.contains(mapFromGlobal(cur))) {
- QPoint pts[4];
- pts[0] = QPoint(cur.x(), cur.y() - 2);
- pts[3] = QPoint(cur.x(), cur.y() + 2);
- if (pos.x() >= cur.x()) {
- pts[1] = QPoint(geometry().right(), pos.y());
- pts[2] = QPoint(geometry().right(), pos.y() + menuSize.height());
- } else {
- pts[1] = QPoint(pos.x() + menuSize.width(), pos.y());
- pts[2] = QPoint(pos.x() + menuSize.width(), pos.y() + menuSize.height());
- }
- QPolygon points(4);
- for(int i = 0; i < 4; i++)
- points.setPoint(i, mapFromGlobal(pts[i]));
- d->sloppyRegion = QRegion(points);
- }
- }
-
- //do the popup
d->activeMenu->popup(pos);
+ d->sloppyState.setSubMenuPopup(actionRect, d->currentAction, d->activeMenu);
}
/*!
diff --git a/src/widgets/widgets/qmenu.h b/src/widgets/widgets/qmenu.h
index 937f6e3316..0fcbb3d29b 100644
--- a/src/widgets/widgets/qmenu.h
+++ b/src/widgets/widgets/qmenu.h
@@ -180,7 +180,6 @@ protected:
#endif
private Q_SLOTS:
- void internalSetSloppyAction();
void internalDelayedPopup();
private:
diff --git a/src/widgets/widgets/qmenu_p.h b/src/widgets/widgets/qmenu_p.h
index 4a4518671c..64a728eaba 100644
--- a/src/widgets/widgets/qmenu_p.h
+++ b/src/widgets/widgets/qmenu_p.h
@@ -71,20 +71,230 @@ struct QWceMenuAction {
};
#endif
+template <typename T>
+class QSetValueOnDestroy
+{
+public:
+ QSetValueOnDestroy(T &toSet, T value)
+ : toSet(toSet)
+ , value(value)
+ { }
+
+ ~QSetValueOnDestroy() { toSet = value; }
+private:
+ T &toSet;
+ T value;
+};
+
+class QMenuSloppyState
+{
+ Q_DISABLE_COPY(QMenuSloppyState)
+public:
+ QMenuSloppyState()
+ : m_menu(Q_NULLPTR)
+ , m_enabled(false)
+ , m_uni_directional(false)
+ , m_select_other_actions(false)
+ , m_first_mouse(true)
+ , m_init_guard(false)
+ , m_uni_dir_discarded_count(0)
+ , m_uni_dir_fail_at_count(0)
+ , m_timeout(0)
+ , m_reset_action(Q_NULLPTR)
+ , m_origin_action(Q_NULLPTR)
+ , m_parent(Q_NULLPTR)
+ { }
+
+ ~QMenuSloppyState() { reset(); }
+
+ void initialize(QMenu *menu)
+ {
+ m_menu = menu;
+ m_uni_directional = menu->style()->styleHint(QStyle::SH_Menu_SubMenuUniDirection, 0, menu);
+ m_uni_dir_fail_at_count = menu->style()->styleHint(QStyle::SH_Menu_SubMenuUniDirectionFailCount, 0, menu);
+ m_select_other_actions = menu->style()->styleHint(QStyle::SH_Menu_SubMenuSloppySelectOtherActions, 0 , menu);
+ m_timeout = menu->style()->styleHint(QStyle::SH_Menu_SubMenuSloppyCloseTimeout);
+ m_discard_state_when_entering_parent = menu->style()->styleHint(QStyle::SH_Menu_SubMenuResetWhenReenteringParent);
+ m_dont_start_time_on_leave = menu->style()->styleHint(QStyle::SH_Menu_SubMenuDontStartSloppyOnLeave);
+ reset();
+ }
+
+ void reset();
+ bool enabled() const { return m_enabled; }
+
+ void setResetAction(QAction *action) { m_reset_action = action; }
+
+ enum MouseEventResult {
+ EventIsProcessed,
+ EventShouldBePropogated,
+ EventDiscardsSloppyState
+ };
+
+ void startTimer()
+ {
+ if (m_enabled)
+ m_time.start(m_timeout, m_menu);
+ }
+
+ void startTimerIfNotRunning()
+ {
+ if (!m_time.isActive())
+ startTimer();
+ }
+
+ void stopTimer()
+ {
+ m_time.stop();
+ }
+
+ void enter();
+
+ void childEnter()
+ {
+ stopTimer();
+ if (m_parent)
+ m_parent->childEnter();
+ }
+
+ void leave()
+ {
+ if (m_dont_start_time_on_leave)
+ return;
+ if (m_parent)
+ m_parent->childLeave();
+ startTimer();
+ }
+ void childLeave();
+
+ static float slope(const QPointF &p1, const QPointF &p2)
+ {
+ const QPointF slope = p2 - p1;
+ if (slope.x()== 0)
+ return 9999;
+ return slope.y()/slope.x();
+ }
+
+ bool checkSlope(qreal oldS, qreal newS, bool wantSteeper)
+ {
+ if (wantSteeper)
+ return oldS <= newS;
+ return newS <= oldS;
+ }
+
+ MouseEventResult processMouseEvent(const QPointF &mousePos, QAction *resetAction, QAction *currentAction)
+ {
+ if (m_parent)
+ m_parent->stopTimer();
+
+ if (!m_enabled)
+ return EventShouldBePropogated;
+
+ if (!m_time.isActive())
+ startTimer();
+
+ if (!m_sub_menu) {
+ reset();
+ return EventShouldBePropogated;
+ }
+
+ QSetValueOnDestroy<bool> setFirstMouse(m_first_mouse, false);
+ QSetValueOnDestroy<QPointF> setPreviousPoint(m_previous_point, mousePos);
+
+ if (resetAction && resetAction->isSeparator())
+ m_reset_action = Q_NULLPTR;
+ else {
+ m_reset_action = resetAction;
+ }
+
+ if (m_action_rect.contains(mousePos)) {
+ startTimer();
+ return currentAction == m_menu->menuAction() ? EventIsProcessed : EventShouldBePropogated;
+ }
+
+ if (m_uni_directional && !m_first_mouse && resetAction != m_origin_action) {
+ bool left_to_right = m_menu->layoutDirection() == Qt::LeftToRight;
+ QRect sub_menu_rect = m_sub_menu->geometry();
+ QPoint sub_menu_top =
+ left_to_right? sub_menu_rect.topLeft() : sub_menu_rect.topRight();
+ QPoint sub_menu_bottom =
+ left_to_right? sub_menu_rect.bottomLeft() : sub_menu_rect.bottomRight();
+ qreal prev_slope_top = slope(m_previous_point, sub_menu_top);
+ qreal prev_slope_bottom = slope(m_previous_point, sub_menu_bottom);
+
+ qreal current_slope_top = slope(mousePos, sub_menu_top);
+ qreal current_slope_bottom = slope(mousePos, sub_menu_bottom);
+
+ bool slopeTop = checkSlope(prev_slope_top, current_slope_top, sub_menu_top.y() < mousePos.y());
+ bool slopeBottom = checkSlope(prev_slope_bottom, current_slope_bottom, sub_menu_bottom.y() > mousePos.y());
+ bool rightDirection = false;
+ int mouseDir = m_previous_point.y() - mousePos.y();
+ if (mouseDir >= 0) {
+ rightDirection = rightDirection || slopeTop;
+ }
+ if (mouseDir <= 0) {
+ rightDirection = rightDirection || slopeBottom;
+ }
+
+ if (m_uni_dir_discarded_count >= m_uni_dir_fail_at_count && !rightDirection) {
+ m_uni_dir_discarded_count = 0;
+ return EventDiscardsSloppyState;
+ }
+
+ if (!rightDirection)
+ m_uni_dir_discarded_count++;
+ else
+ m_uni_dir_discarded_count = 0;
+
+ }
+
+ return m_select_other_actions ? EventShouldBePropogated : EventIsProcessed;
+ }
+
+ void setSubMenuPopup(const QRect &actionRect, QAction *resetAction, QMenu *subMenu);
+ bool hasParentActiveDelayTimer() const;
+ void timeout();
+ int timeForTimeout() const { return m_timeout; }
+
+ bool isTimerId(int timerId) const { return m_time.timerId() == timerId; }
+ QMenu *subMenu() const { return m_sub_menu; }
+
+private:
+ QMenu *m_menu;
+ bool m_enabled;
+ bool m_uni_directional;
+ bool m_select_other_actions;
+ bool m_first_mouse;
+ bool m_init_guard;
+ bool m_discard_state_when_entering_parent;
+ bool m_dont_start_time_on_leave;
+ short m_uni_dir_discarded_count;
+ short m_uni_dir_fail_at_count;
+ short m_timeout;
+ QBasicTimer m_time;
+ QAction *m_reset_action;
+ QAction *m_origin_action;
+ QRectF m_action_rect;
+ QPointF m_previous_point;
+ QPointer<QMenu> m_sub_menu;
+ QMenuSloppyState *m_parent;
+};
+
class QMenuPrivate : public QWidgetPrivate
{
Q_DECLARE_PUBLIC(QMenu)
public:
QMenuPrivate() : itemsDirty(0), maxIconWidth(0), tabWidth(0), ncols(0),
collapsibleSeparators(true), toolTipsVisible(false),
- activationRecursionGuard(false), hasHadMouse(0), aboutToHide(0), motions(0),
+ activationRecursionGuard(false), delayedPopupGuard(false),
+ hasReceievedEnter(false),
+ hasHadMouse(0), aboutToHide(0), motions(0),
currentAction(0),
#ifdef QT_KEYPAD_NAVIGATION
selectAction(0),
cancelAction(0),
#endif
scroll(0), eventLoop(0), tearoff(0), tornoff(0), tearoffHighlighted(0),
- hasCheckableItems(0), sloppyDelayTimer(0), sloppyAction(0), doChildEffects(false), platformMenu(0)
+ hasCheckableItems(0), doChildEffects(false), platformMenu(0)
#if defined(Q_OS_WINCE) && !defined(QT_NO_MENUBAR)
,wce_menu(0)
@@ -127,6 +337,8 @@ public:
int getLastVisibleAction() const;
bool activationRecursionGuard;
+ bool delayedPopupGuard;
+ bool hasReceievedEnter;
//selection
static QMenu *mouseDown;
@@ -134,12 +346,39 @@ public:
uint hasHadMouse : 1;
uint aboutToHide : 1;
int motions;
+ int mousePopupDelay;
QAction *currentAction;
#ifdef QT_KEYPAD_NAVIGATION
QAction *selectAction;
QAction *cancelAction;
#endif
- QBasicTimer menuDelayTimer;
+ struct DelayState {
+ DelayState()
+ : parent(0)
+ , action(0)
+ { }
+ void initialize(QMenu *parent)
+ {
+ this->parent = parent;
+ }
+
+ void start(int timeout, QAction *toStartAction)
+ {
+ if (timer.isActive() && toStartAction == action)
+ return;
+ action = toStartAction;
+ timer.start(timeout,parent);
+ }
+ void stop()
+ {
+ action = 0;
+ timer.stop();
+ }
+
+ QMenu *parent;
+ QBasicTimer timer;
+ QAction *action;
+ } delayState;
enum SelectionReason {
SelectedFromKeyboard,
SelectedFromElsewhere
@@ -198,10 +437,7 @@ public:
mutable bool hasCheckableItems;
- //sloppy selection
- int sloppyDelayTimer;
- mutable QAction *sloppyAction;
- QRegion sloppyRegion;
+ QMenuSloppyState sloppyState;
//default action
QPointer<QAction> defaultAction;
@@ -257,6 +493,7 @@ public:
QAction* wceCommands(uint command);
#endif
QPointer<QWidget> noReplayFor;
+ static QPointer<QMenu> previousMouseMenu;
};
#endif // QT_NO_MENU
diff --git a/src/widgets/widgets/qprogressbar.cpp b/src/widgets/widgets/qprogressbar.cpp
index 5501247973..751fcda871 100644
--- a/src/widgets/widgets/qprogressbar.cpp
+++ b/src/widgets/widgets/qprogressbar.cpp
@@ -132,7 +132,7 @@ void QProgressBar::initStyleOption(QStyleOptionProgressBar *option) const
if (QStyleOptionProgressBarV2 *optionV2
= qstyleoption_cast<QStyleOptionProgressBarV2 *>(option)) {
- optionV2->orientation = d->orientation; // ### Qt 5: use State_Horizontal instead
+ optionV2->orientation = d->orientation; // ### Qt 6: remove this member from QStyleOptionProgressBarV2
optionV2->invertedAppearance = d->invertedAppearance;
optionV2->bottomToTop = (d->textDirection == QProgressBar::BottomToTop);
}
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index 8f017b7b87..93835156da 100644
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
@@ -1312,8 +1312,10 @@ void QWidgetTextControlPrivate::keyPressEvent(QKeyEvent *e)
else if (e == QKeySequence::Delete) {
QTextCursor localCursor = cursor;
localCursor.deleteChar();
- }
- else if (e == QKeySequence::DeleteEndOfWord) {
+ } else if (e == QKeySequence::Backspace) {
+ QTextCursor localCursor = cursor;
+ localCursor.deletePreviousChar();
+ }else if (e == QKeySequence::DeleteEndOfWord) {
if (!cursor.hasSelection())
cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor);
cursor.removeSelectedText();
diff --git a/src/xml/dom/qdom.cpp b/src/xml/dom/qdom.cpp
index 1fcbe607e4..9068830c4b 100644
--- a/src/xml/dom/qdom.cpp
+++ b/src/xml/dom/qdom.cpp
@@ -7035,6 +7035,9 @@ QDomNodeList QDomDocument::elementsByTagName(const QString& tagname) const
import QDomDocument and QDomDocumentType nodes. In those cases
this function returns a \l{QDomNode::isNull()}{null node}.
+ If \a importedNode is a \l{QDomNode::isNull()}{null node},
+ a null node is returned.
+
If \a deep is true, this function imports not only the node \a
importedNode but its whole subtree; if it is false, only the \a
importedNode is imported. The argument \a deep has no effect on
@@ -7093,6 +7096,8 @@ QDomNodeList QDomDocument::elementsByTagName(const QString& tagname) const
*/
QDomNode QDomDocument::importNode(const QDomNode& importedNode, bool deep)
{
+ if (importedNode.isNull())
+ return QDomNode();
if (!impl)
impl = new QDomDocumentPrivate();
return QDomNode(IMPL->importNode(importedNode.impl, deep));
diff --git a/tests/auto/corelib/global/qflags/qflags.pro b/tests/auto/corelib/global/qflags/qflags.pro
index 9e80d5634b..3f78bc045b 100644
--- a/tests/auto/corelib/global/qflags/qflags.pro
+++ b/tests/auto/corelib/global/qflags/qflags.pro
@@ -3,3 +3,4 @@ TARGET = tst_qflags
QT = core testlib
SOURCES = tst_qflags.cpp
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
+contains(QT_CONFIG, c++11): CONFIG += c++11 c++14
diff --git a/tests/auto/corelib/global/qflags/tst_qflags.cpp b/tests/auto/corelib/global/qflags/tst_qflags.cpp
index 4c74ac166b..15fe93298d 100644
--- a/tests/auto/corelib/global/qflags/tst_qflags.cpp
+++ b/tests/auto/corelib/global/qflags/tst_qflags.cpp
@@ -94,6 +94,16 @@ void tst_QFlags::testFlagMultiBits() const
template <unsigned int N, typename T> bool verifyConstExpr(T n) { return n == N; }
+Q_DECL_RELAXED_CONSTEXPR Qt::MouseButtons testRelaxedConstExpr()
+{
+ Qt::MouseButtons value;
+ value = Qt::LeftButton | Qt::RightButton;
+ value |= Qt::MiddleButton;
+ value &= ~Qt::LeftButton;
+ value ^= Qt::RightButton;
+ return value;
+}
+
void tst_QFlags::constExpr()
{
#ifdef Q_COMPILER_CONSTEXPR
@@ -115,6 +125,10 @@ void tst_QFlags::constExpr()
QVERIFY(verifyConstExpr<Qt::MouseButtons(Qt::RightButton) | 0xff>(0xff));
QVERIFY(!verifyConstExpr<Qt::RightButton>(!Qt::MouseButtons(Qt::LeftButton)));
+
+#if defined(__cpp_constexpr) && __cpp_constexpr-0 >= 201304
+ QVERIFY(verifyConstExpr<testRelaxedConstExpr()>(Qt::MiddleButton));
+#endif
#endif
}
diff --git a/tests/auto/corelib/global/qgetputenv/tst_qgetputenv.cpp b/tests/auto/corelib/global/qgetputenv/tst_qgetputenv.cpp
index c0b4ff654a..3304a09061 100644
--- a/tests/auto/corelib/global/qgetputenv/tst_qgetputenv.cpp
+++ b/tests/auto/corelib/global/qgetputenv/tst_qgetputenv.cpp
@@ -41,14 +41,22 @@ class tst_QGetPutEnv : public QObject
Q_OBJECT
private slots:
void getSetCheck();
+ void intValue_data();
+ void intValue();
};
void tst_QGetPutEnv::getSetCheck()
{
const char varName[] = "should_not_exist";
+ bool ok;
+
QVERIFY(!qEnvironmentVariableIsSet(varName));
QVERIFY(qEnvironmentVariableIsEmpty(varName));
+ ok = true;
+ QCOMPARE(qEnvironmentVariableIntValue(varName), 0);
+ QCOMPARE(qEnvironmentVariableIntValue(varName, &ok), 0);
+ QVERIFY(!ok);
QByteArray result = qgetenv(varName);
QCOMPARE(result, QByteArray());
@@ -57,12 +65,20 @@ void tst_QGetPutEnv::getSetCheck()
QVERIFY(qEnvironmentVariableIsSet(varName));
QVERIFY(qEnvironmentVariableIsEmpty(varName));
+ ok = true;
+ QCOMPARE(qEnvironmentVariableIntValue(varName), 0);
+ QCOMPARE(qEnvironmentVariableIntValue(varName, &ok), 0);
+ QVERIFY(!ok);
#endif
QVERIFY(qputenv(varName, QByteArray("supervalue")));
QVERIFY(qEnvironmentVariableIsSet(varName));
QVERIFY(!qEnvironmentVariableIsEmpty(varName));
+ ok = true;
+ QCOMPARE(qEnvironmentVariableIntValue(varName), 0);
+ QCOMPARE(qEnvironmentVariableIntValue(varName, &ok), 0);
+ QVERIFY(!ok);
result = qgetenv(varName);
QVERIFY(result == "supervalue");
@@ -72,9 +88,61 @@ void tst_QGetPutEnv::getSetCheck()
QVERIFY(qunsetenv(varName));
QVERIFY(!qEnvironmentVariableIsSet(varName));
QVERIFY(qEnvironmentVariableIsEmpty(varName));
+ ok = true;
+ QCOMPARE(qEnvironmentVariableIntValue(varName), 0);
+ QCOMPARE(qEnvironmentVariableIntValue(varName, &ok), 0);
+ QVERIFY(!ok);
result = qgetenv(varName);
QCOMPARE(result, QByteArray());
}
+void tst_QGetPutEnv::intValue_data()
+{
+ QTest::addColumn<QByteArray>("value");
+ QTest::addColumn<int>("expected");
+ QTest::addColumn<bool>("ok");
+
+ // most non-success cases already tested in getSetCheck()
+
+#define ROW(x, i, b) \
+ QTest::newRow(#x) << QByteArray(#x) << (i) << (b)
+ ROW(auto, 0, false);
+ ROW(0, 0, true);
+ ROW(1, 1, true);
+ ROW(010, 8, true);
+ ROW(0x10, 16, true);
+ ROW(-1, -1, true);
+ ROW(-010, -8, true);
+ // ROW(0xffffffff, -1, true); // could be expected, but not how QByteArray::toInt() works
+ ROW(0xffffffff, 0, false);
+ const int bases[] = {10, 8, 16};
+ for (size_t i = 0; i < sizeof bases / sizeof *bases; ++i) {
+ QTest::newRow(qPrintable(QString().sprintf("INT_MAX, base %d", bases[i])))
+ << QByteArray::number(INT_MAX) << INT_MAX << true;
+ QTest::newRow(qPrintable(QString().sprintf("INT_MAX+1, base %d", bases[i])))
+ << QByteArray::number(qlonglong(INT_MAX) + 1) << 0 << false;
+ QTest::newRow(qPrintable(QString().sprintf("INT_MIN, base %d", bases[i])))
+ << QByteArray::number(INT_MIN) << INT_MIN << true;
+ QTest::newRow(qPrintable(QString().sprintf("INT_MIN-1, base %d", bases[i])))
+ << QByteArray::number(qlonglong(INT_MIN) - 1) << 0 << false;
+ };
+}
+
+void tst_QGetPutEnv::intValue()
+{
+ const char varName[] = "should_not_exist";
+
+ QFETCH(QByteArray, value);
+ QFETCH(int, expected);
+ QFETCH(bool, ok);
+
+ bool actualOk = !ok;
+
+ QVERIFY(qputenv(varName, value));
+ QCOMPARE(qEnvironmentVariableIntValue(varName), expected);
+ QCOMPARE(qEnvironmentVariableIntValue(varName, &actualOk), expected);
+ QCOMPARE(actualOk, ok);
+}
+
QTEST_MAIN(tst_QGetPutEnv)
#include "tst_qgetputenv.moc"
diff --git a/tests/auto/corelib/json/tst_qtjson.cpp b/tests/auto/corelib/json/tst_qtjson.cpp
index 56a5a28c50..997ceaf7b9 100644
--- a/tests/auto/corelib/json/tst_qtjson.cpp
+++ b/tests/auto/corelib/json/tst_qtjson.cpp
@@ -90,7 +90,9 @@ private Q_SLOTS:
void fromVariant();
void fromVariantMap();
+ void fromVariantHash();
void toVariantMap();
+ void toVariantHash();
void toVariantList();
void toJson();
@@ -1165,6 +1167,17 @@ void tst_QtJson::fromVariantMap()
QCOMPARE(array.at(3).toString(), QLatin1String("foo"));
}
+void tst_QtJson::fromVariantHash()
+{
+ QVariantHash map;
+ map.insert(QLatin1String("key1"), QLatin1String("value1"));
+ map.insert(QLatin1String("key2"), QLatin1String("value2"));
+ QJsonObject object = QJsonObject::fromVariantHash(map);
+ QCOMPARE(object.size(), 2);
+ QCOMPARE(object.value(QLatin1String("key1")), QJsonValue(QLatin1String("value1")));
+ QCOMPARE(object.value(QLatin1String("key2")), QJsonValue(QLatin1String("value2")));
+}
+
void tst_QtJson::toVariantMap()
{
QCOMPARE(QMetaType::Type(QJsonValue(QJsonObject()).toVariant().type()), QMetaType::QVariantMap); // QTBUG-32524
@@ -1196,6 +1209,35 @@ void tst_QtJson::toVariantMap()
QCOMPARE(list.at(3), QVariant());
}
+void tst_QtJson::toVariantHash()
+{
+ QJsonObject object;
+ QVariantHash hash = object.toVariantHash();
+ QVERIFY(hash.isEmpty());
+
+ object.insert("Key", QString("Value"));
+ object.insert("null", QJsonValue());
+ QJsonArray array;
+ array.append(true);
+ array.append(999.);
+ array.append(QLatin1String("string"));
+ array.append(QJsonValue());
+ object.insert("Array", array);
+
+ hash = object.toVariantHash();
+
+ QCOMPARE(hash.size(), 3);
+ QCOMPARE(hash.value("Key"), QVariant(QString("Value")));
+ QCOMPARE(hash.value("null"), QVariant());
+ QCOMPARE(hash.value("Array").type(), QVariant::List);
+ QVariantList list = hash.value("Array").toList();
+ QCOMPARE(list.size(), 4);
+ QCOMPARE(list.at(0), QVariant(true));
+ QCOMPARE(list.at(1), QVariant(999.));
+ QCOMPARE(list.at(2), QVariant(QLatin1String("string")));
+ QCOMPARE(list.at(3), QVariant());
+}
+
void tst_QtJson::toVariantList()
{
QCOMPARE(QMetaType::Type(QJsonValue(QJsonArray()).toVariant().type()), QMetaType::QVariantList); // QTBUG-32524
diff --git a/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp b/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp
index 1d39280afb..18de761e2a 100644
--- a/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp
+++ b/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Olivier Goffart <ogoffart@woboq.com>
** Contact: http://www.qt-project.org/legal
**
** This file is part of the test suite of the Qt Toolkit.
@@ -50,6 +51,8 @@ private slots:
void comparisonOperators();
void fromSignal();
+
+ void gadget();
};
struct CustomType { };
@@ -727,5 +730,51 @@ void tst_QMetaMethod::fromSignal()
#undef FROMSIGNAL_HELPER
}
+class MyGadget {
+ Q_GADGET
+public:
+ QString m_value;
+ Q_INVOKABLE void setValue(const QString &value) { m_value = value; }
+ Q_INVOKABLE QString getValue() { return m_value; }
+};
+
+void tst_QMetaMethod::gadget()
+{
+ int idx;
+
+ idx = MyGadget::staticMetaObject.indexOfMethod("setValue(QString)");
+ QVERIFY(idx >= 0);
+ QMetaMethod setValueMethod = MyGadget::staticMetaObject.method(idx);
+ QVERIFY(setValueMethod.isValid());
+
+ idx = MyGadget::staticMetaObject.indexOfMethod("getValue()");
+ QVERIFY(idx >= 0);
+ QMetaMethod getValueMethod = MyGadget::staticMetaObject.method(idx);
+ QVERIFY(getValueMethod.isValid());
+
+ {
+ MyGadget gadget;
+ QString string;
+
+ QVERIFY(getValueMethod.invokeOnGadget(&gadget, Q_RETURN_ARG(QString, string)));
+ QCOMPARE(string, gadget.m_value);
+
+ QVERIFY(setValueMethod.invokeOnGadget(&gadget, Q_ARG(QString, QLatin1String("hello"))));
+ QCOMPARE(gadget.m_value, QLatin1String("hello"));
+
+ QVERIFY(getValueMethod.invokeOnGadget(&gadget, Q_RETURN_ARG(QString, string)));
+ QCOMPARE(string, gadget.m_value);
+ }
+
+ {
+ // Call with null should not crash
+ MyGadget *gadget = Q_NULLPTR;
+ QString string;
+ QVERIFY(!setValueMethod.invokeOnGadget(gadget, Q_ARG(QString, QLatin1String("hi"))));
+ QVERIFY(!getValueMethod.invokeOnGadget(gadget, Q_RETURN_ARG(QString, string)));
+ }
+}
+
+
QTEST_MAIN(tst_QMetaMethod)
#include "tst_qmetamethod.moc"
diff --git a/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp b/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp
index 5cac80191c..941abf9039 100644
--- a/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp
+++ b/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Olivier Goffart <ogoffart@woboq.com>
** Contact: http://www.qt-project.org/legal
**
** This file is part of the test suite of the Qt Toolkit.
@@ -50,6 +51,7 @@ private slots:
void hasStdCppSet();
void isConstant();
void isFinal();
+ void gadget();
public:
enum EnumType { EnumType1 };
@@ -103,5 +105,32 @@ void tst_QMetaProperty::isFinal()
QVERIFY(!prop.isFinal());
}
+class MyGadget {
+ Q_GADGET
+ Q_PROPERTY(QString value READ getValue WRITE setValue RESET resetValue)
+public:
+ QString m_value;
+ void setValue(const QString &value) { m_value = value; }
+ QString getValue() { return m_value; }
+ void resetValue() { m_value = QLatin1Literal("reset"); }
+};
+
+void tst_QMetaProperty::gadget()
+{
+ const QMetaObject *mo = &MyGadget::staticMetaObject;
+ QMetaProperty valueProp = mo->property(mo->indexOfProperty("value"));
+ QVERIFY(valueProp.isValid());
+ {
+ MyGadget g;
+ QString hello = QLatin1Literal("hello");
+ QVERIFY(valueProp.writeOnGadget(&g, hello));
+ QCOMPARE(g.m_value, QLatin1String("hello"));
+ QCOMPARE(valueProp.readOnGadget(&g), QVariant(hello));
+ QVERIFY(valueProp.resetOnGadget(&g));
+ QCOMPARE(valueProp.readOnGadget(&g), QVariant(QLatin1String("reset")));
+ }
+}
+
+
QTEST_MAIN(tst_QMetaProperty)
#include "tst_qmetaproperty.moc"
diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
index a35896283a..e3ef2b6714 100644
--- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
+++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
@@ -79,6 +79,10 @@ private slots:
void normalizedTypes();
void typeName_data();
void typeName();
+ void type_data();
+ void type();
+ void type_fromSubString_data();
+ void type_fromSubString();
void create_data();
void create();
void createCopy_data();
@@ -109,6 +113,7 @@ private slots:
void saveAndLoadBuiltin_data();
void saveAndLoadBuiltin();
void saveAndLoadCustom();
+ void metaObject_data();
void metaObject();
void constexprMetaTypeIds();
void constRefs();
@@ -385,6 +390,61 @@ void tst_QMetaType::typeName()
QCOMPARE(name.toLatin1(), QMetaObject::normalizedType(name.toLatin1().constData()));
}
+void tst_QMetaType::type_data()
+{
+ QTest::addColumn<QMetaType::Type>("aType");
+ QTest::addColumn<QByteArray>("aTypeName");
+
+#define TST_QMETATYPE_TYPE_DATA(MetaTypeName, MetaTypeId, RealType)\
+ QTest::newRow(#RealType) << QMetaType::MetaTypeName << QByteArray( #RealType );
+#define TST_QMETATYPE_TYPE_DATA_ALIAS(MetaTypeName, MetaTypeId, AliasType, RealTypeString)\
+ QTest::newRow(RealTypeString) << QMetaType::MetaTypeName << QByteArray( #AliasType );
+
+ QTest::newRow("empty") << QMetaType::UnknownType << QByteArray();
+
+ QT_FOR_EACH_STATIC_TYPE(TST_QMETATYPE_TYPE_DATA)
+ QT_FOR_EACH_STATIC_ALIAS_TYPE(TST_QMETATYPE_TYPE_DATA_ALIAS)
+
+#undef TST_QMETATYPE_TYPE_DATA
+#undef TST_METATYPE_TYPE_DATA_ALIAS
+}
+
+void tst_QMetaType::type()
+{
+ QFETCH(QMetaType::Type, aType);
+ QFETCH(QByteArray, aTypeName);
+
+ // QMetaType::type(QByteArray)
+ QCOMPARE(QMetaType::type(aTypeName), int(aType));
+ // QMetaType::type(const char *)
+ QCOMPARE(QMetaType::type(aTypeName.constData()), int(aType));
+}
+
+void tst_QMetaType::type_fromSubString_data()
+{
+ QTest::addColumn<int>("offset");
+ QTest::addColumn<int>("size");
+ QTest::addColumn<int>("expectedType");
+
+ // The test string is defined in the test function below
+ QTest::newRow("int") << 0 << 3 << int(QMetaType::Int);
+ QTest::newRow("boo") << 3 << 3 << 0;
+ QTest::newRow("bool") << 3 << 4 << int(QMetaType::Bool);
+ QTest::newRow("intbool") << 0 << 7 << 0;
+ QTest::newRow("QMetaType::Type") << 7 << 15 << ::qMetaTypeId<QMetaType::Type>();
+ QTest::newRow("double") << 22 << 6 << int(QMetaType::Double);
+}
+
+void tst_QMetaType::type_fromSubString()
+{
+ static const char *types = "intboolQMetaType::Typedoublexxx";
+ QFETCH(int, offset);
+ QFETCH(int, size);
+ QFETCH(int, expectedType);
+ QByteArray ba = QByteArray::fromRawData(types + offset, size);
+ QCOMPARE(QMetaType::type(ba), expectedType);
+}
+
#define FOR_EACH_PRIMITIVE_METATYPE(F) \
QT_FOR_EACH_STATIC_PRIMITIVE_TYPE(F) \
QT_FOR_EACH_STATIC_CORE_POINTER(F) \
@@ -968,7 +1028,9 @@ void tst_QMetaType::flagsBinaryCompatibility5_0()
QFETCH(quint32, id);
QFETCH(quint32, flags);
- QCOMPARE(quint32(QMetaType::typeFlags(id)), flags);
+ quint32 mask_5_0 = 0x1ff; // Only compare the values that were already defined in 5.0
+
+ QCOMPARE(quint32(QMetaType::typeFlags(id)) & mask_5_0, flags);
}
void tst_QMetaType::construct_data()
@@ -1772,17 +1834,41 @@ void tst_QMetaType::saveAndLoadCustom()
QCOMPARE(stream.status(), QDataStream::ReadPastEnd);
}
-void tst_QMetaType::metaObject()
+struct MyGadget {
+ Q_GADGET;
+};
+
+Q_DECLARE_METATYPE(MyGadget);
+Q_DECLARE_METATYPE(const QMetaObject *);
+
+void tst_QMetaType::metaObject_data()
{
- QCOMPARE(QMetaType::metaObjectForType(QMetaType::QObjectStar), &QObject::staticMetaObject);
- QCOMPARE(QMetaType::metaObjectForType(::qMetaTypeId<QFile*>()), &QFile::staticMetaObject);
- QCOMPARE(QMetaType::metaObjectForType(::qMetaTypeId<MyObject*>()), &MyObject::staticMetaObject);
- QCOMPARE(QMetaType::metaObjectForType(QMetaType::Int), static_cast<const QMetaObject *>(0));
+ QTest::addColumn<int>("type");
+ QTest::addColumn<const QMetaObject*>("result");
+ QTest::addColumn<bool>("isGadget");
+ QTest::addColumn<bool>("isQObjectPtr");
+
+ QTest::newRow("QObject") << int(QMetaType::QObjectStar) << &QObject::staticMetaObject << false << true;
+ QTest::newRow("QFile*") << ::qMetaTypeId<QFile*>() << &QFile::staticMetaObject << false << true;
+ QTest::newRow("MyObject*") << ::qMetaTypeId<MyObject*>() << &MyObject::staticMetaObject << false << true;
+ QTest::newRow("int") << int(QMetaType::Int) << static_cast<const QMetaObject *>(0) << false << false;
+ QTest::newRow("QEasingCurve") << ::qMetaTypeId<QEasingCurve>() << &QEasingCurve::staticMetaObject << true << false;
+ QTest::newRow("MyGadget") << ::qMetaTypeId<MyGadget>() << &MyGadget::staticMetaObject << true << false;
+}
- QCOMPARE(QMetaType(QMetaType::QObjectStar).metaObject(), &QObject::staticMetaObject);
- QCOMPARE(QMetaType(::qMetaTypeId<QFile*>()).metaObject(), &QFile::staticMetaObject);
- QCOMPARE(QMetaType(::qMetaTypeId<MyObject*>()).metaObject(), &MyObject::staticMetaObject);
- QCOMPARE(QMetaType(QMetaType::Int).metaObject(), static_cast<const QMetaObject *>(0));
+
+void tst_QMetaType::metaObject()
+{
+ QFETCH(int, type);
+ QFETCH(const QMetaObject *, result);
+ QFETCH(bool, isGadget);
+ QFETCH(bool, isQObjectPtr);
+
+ QCOMPARE(QMetaType::metaObjectForType(type), result);
+ QMetaType mt(type);
+ QCOMPARE(mt.metaObject(), result);
+ QCOMPARE(!!(mt.flags() & QMetaType::IsGadget), isGadget);
+ QCOMPARE(!!(mt.flags() & QMetaType::PointerToQObject), isQObjectPtr);
}
#define METATYPE_ID_FUNCTION(Type, MetaTypeId, Name) \
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index 41a6de214a..301db37233 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -43,9 +43,10 @@
#include <qlocale.h>
#include <qdebug.h>
#include <qjsondocument.h>
-
+#include <quuid.h>
#include <limits.h>
+#include <float.h>
#include <QLinkedList>
#include <QRegularExpression>
@@ -213,7 +214,10 @@ private slots:
void toIntFromQString() const;
void toIntFromDouble() const;
void setValue();
+ void fpStringRoundtrip_data() const;
+ void fpStringRoundtrip() const;
+ void numericalConvert_data();
void numericalConvert();
void moreCustomTypes();
void movabilityTest();
@@ -985,7 +989,7 @@ void tst_QVariant::toByteArray_data()
QTest::newRow( "int" ) << QVariant( -123 ) << QByteArray( "-123" );
QTest::newRow( "uint" ) << QVariant( (uint)123 ) << QByteArray( "123" );
QTest::newRow( "double" ) << QVariant( 123.456 ) << QByteArray( "123.456" );
- QTest::newRow( "float" ) << QVariant( 123.456f ) << QByteArray( "123.456" );
+ QTest::newRow( "float" ) << QVariant( 123.456f ) << QByteArray( "123.456001" );
QTest::newRow( "longlong" ) << QVariant( (qlonglong)34 ) << QByteArray( "34" );
QTest::newRow( "ulonglong" ) << QVariant( (qulonglong)34 ) << QByteArray( "34" );
}
@@ -1011,7 +1015,7 @@ void tst_QVariant::toString_data()
QTest::newRow( "int" ) << QVariant( -123 ) << QString( "-123" );
QTest::newRow( "uint" ) << QVariant( (uint)123 ) << QString( "123" );
QTest::newRow( "double" ) << QVariant( 123.456 ) << QString( "123.456" );
- QTest::newRow( "float" ) << QVariant( 123.456f ) << QString( "123.456" );
+ QTest::newRow( "float" ) << QVariant( 123.456f ) << QString( "123.456001" );
QTest::newRow( "bool" ) << QVariant( true ) << QString( "true" );
QTest::newRow( "qdate" ) << QVariant( QDate( 2002, 1, 1 ) ) << QString( "2002-01-01" );
QTest::newRow( "qtime" ) << QVariant( QTime( 12, 34, 56 ) ) << QString( "12:34:56" );
@@ -1367,12 +1371,12 @@ void tst_QVariant::operator_eq_eq_data()
QVariant mUIntQString(QString("42"));
QVariant mDouble(42.11);
- QVariant mDoubleString(QByteArray("42.11"));
- QVariant mDoubleQString(QString("42.11"));
+ QVariant mDoubleString(QByteArray("42.109999999999999"));
+ QVariant mDoubleQString(QString("42.109999999999999"));
QVariant mFloat(42.11f);
- QVariant mFloatString(QByteArray("42.11"));
- QVariant mFloatQString(QString("42.11"));
+ QVariant mFloatString(QByteArray("42.1100006"));
+ QVariant mFloatQString(QString("42.1100006"));
QVariant mLongLong((qlonglong)-42);
QVariant mLongLongString(QByteArray("-42"));
@@ -1433,6 +1437,13 @@ void tst_QVariant::operator_eq_eq_data()
// ### many other combinations missing
{
+ // QUuid can convert to QString, but not the opposite
+ QUuid uuid(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
+ QTest::newRow("uuidstring") << QVariant(uuid) << QVariant(uuid.toString()) << true;
+ QTest::newRow("stringuuid") << QVariant(uuid.toString()) << QVariant(uuid) << true;
+ }
+
+ {
QMap<QString, QVariant> map1;
map1.insert( "X", 1 );
@@ -2945,41 +2956,72 @@ void tst_QVariant::setValue()
QVERIFY( v2.isDetached() );
}
+void tst_QVariant::fpStringRoundtrip_data() const
+{
+ QTest::addColumn<QVariant>("number");
+
+ QTest::newRow("float") << QVariant(1 + FLT_EPSILON);
+ QTest::newRow("double") << QVariant(1 + DBL_EPSILON);
+}
+
+void tst_QVariant::fpStringRoundtrip() const
+{
+ QFETCH(QVariant, number);
+
+ QVariant converted = number;
+ QVERIFY(converted.convert(QVariant::String));
+ QVERIFY(converted.convert(number.type()));
+ QCOMPARE(converted, number);
+
+ converted = number;
+ QVERIFY(converted.convert(QVariant::ByteArray));
+ QVERIFY(converted.convert(number.type()));
+ QCOMPARE(converted, number);
+}
+
+void tst_QVariant::numericalConvert_data()
+{
+ QTest::addColumn<QVariant>("v");
+ QTest::addColumn<bool>("isInteger");
+ QTest::newRow("float") << QVariant(float(5.3)) << false;
+ QTest::newRow("double") << QVariant(double(5.3)) << false;
+ QTest::newRow("qreal") << QVariant(qreal(5.3)) << false;
+ QTest::newRow("int") << QVariant(int(5)) << true;
+ QTest::newRow("uint") << QVariant(uint(5)) << true;
+ QTest::newRow("short") << QVariant(short(5)) << true;
+ QTest::newRow("longlong") << QVariant(quint64(5)) << true;
+ QTest::newRow("long") << QVariant::fromValue(long(5)) << true;
+ QTest::newRow("stringint") << QVariant(QString::fromLatin1("5")) << true;
+ QTest::newRow("string") << QVariant(QString::fromLatin1("5.30000019")) << false;
+}
+
void tst_QVariant::numericalConvert()
{
#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(__x86_64__)
QSKIP("Known to fail due to a GCC bug on at least Ubuntu 10.04 32-bit - check QTBUG-8959");
#endif
- QVariant vfloat(float(5.3));
- QVariant vdouble(double(5.3));
- QVariant vreal(qreal(5.3));
- QVariant vint(int(5));
- QVariant vuint(uint(5));
- QVariant vshort(short(5));
- QVariant vlonglong(quint64(5));
- QVariant vlong = QVariant::fromValue(long(5));
- QVariant vstringint(QString::fromLatin1("5"));
- QVariant vstring(QString::fromLatin1("5.3"));
-
- QVector<QVariant *> vect;
- vect << &vfloat << &vdouble << &vreal << &vint << &vuint << &vshort<< &vlonglong << &vlong << &vstringint << &vstring;
-
- for(int i = 0; i < vect.size(); i++) {
- double num = 5.3;
- if (i >= 3 && i <= 8)
- num = 5;
- QVariant *v = vect.at(i);
- QCOMPARE(v->toFloat() , float(num));
- QCOMPARE(float(v->toReal()) , float(num));
- QCOMPARE(float(v->toDouble()) , float(num));
- if (i != 9) {
- QCOMPARE(v->toInt() , int(num));
- QCOMPARE(v->toUInt() , uint(num));
- QCOMPARE(v->toULongLong() , quint64(num));
- QCOMPARE(v->value<ulong>() , ulong(num));
- QCOMPARE(v->value<ushort>() , ushort(num));
- }
- QCOMPARE(v->toString() , QString::number(num));
+ QFETCH(QVariant, v);
+ QFETCH(bool, isInteger);
+ double num = isInteger ? 5 : 5.3;
+
+ QCOMPARE(v.toFloat() , float(num));
+ QCOMPARE(float(v.toReal()) , float(num));
+ QCOMPARE(float(v.toDouble()) , float(num));
+ if (isInteger) {
+ QCOMPARE(v.toInt() , int(num));
+ QCOMPARE(v.toUInt() , uint(num));
+ QCOMPARE(v.toULongLong() , quint64(num));
+ QCOMPARE(v.value<ulong>() , ulong(num));
+ QCOMPARE(v.value<ushort>() , ushort(num));
+ }
+ switch (v.userType())
+ {
+ case QVariant::Double:
+ QCOMPARE(v.toString() , QString::number(num, 'g', DBL_MANT_DIG * log10(2.) + 2));
+ break;
+ case QMetaType::Float:
+ QCOMPARE(v.toString() , QString::number(float(num), 'g', FLT_MANT_DIG * log10(2.) + 2));
+ break;
}
}
@@ -3214,8 +3256,8 @@ void tst_QVariant::moreCustomTypes()
QCOMPARE(MyNotMovable::count, 0);
{
- PLAY_WITH_VARIANT(12.12, false, "12.12", 12.12, true);
- PLAY_WITH_VARIANT(12.12f, false, "12.12", 12.12f, true);
+ PLAY_WITH_VARIANT(12.12, false, "12.119999999999999", 12.12, true);
+ PLAY_WITH_VARIANT(12.12f, false, "12.1199999", 12.12f, true);
PLAY_WITH_VARIANT('a', false, "a", 'a', true);
PLAY_WITH_VARIANT((unsigned char)('a'), false, "a", 'a', true);
PLAY_WITH_VARIANT( quint8(12), false, "\xc", 12, true);
diff --git a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
index 18739cb4e1..d010ff807d 100644
--- a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
+++ b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
@@ -2000,6 +2000,9 @@ void tst_QByteArray::toUpperLower_data()
QTest::addColumn<QByteArray>("lower");
QTest::newRow("empty") << QByteArray() << QByteArray() << QByteArray();
+ QTest::newRow("literal") << QByteArrayLiteral("Hello World")
+ << QByteArrayLiteral("HELLO WORLD")
+ << QByteArrayLiteral("hello world");
QTest::newRow("ascii") << QByteArray("Hello World, this is a STRING")
<< QByteArray("HELLO WORLD, THIS IS A STRING")
<< QByteArray("hello world, this is a string");
@@ -2014,8 +2017,34 @@ void tst_QByteArray::toUpperLower()
QFETCH(QByteArray, input);
QFETCH(QByteArray, upper);
QFETCH(QByteArray, lower);
+ QCOMPARE(lower.toLower(), lower);
+ QCOMPARE(upper.toUpper(), upper);
QCOMPARE(input.toUpper(), upper);
QCOMPARE(input.toLower(), lower);
+
+ QByteArray copy = input;
+ QCOMPARE(qMove(copy).toUpper(), upper);
+ copy = input;
+ copy.detach();
+ QCOMPARE(qMove(copy).toUpper(), upper);
+
+ copy = input;
+ QCOMPARE(qMove(copy).toLower(), lower);
+ copy = input;
+ copy.detach();
+ QCOMPARE(qMove(copy).toLower(), lower);
+
+ copy = lower;
+ QCOMPARE(qMove(copy).toLower(), lower);
+ copy = lower;
+ copy.detach();
+ QCOMPARE(qMove(copy).toLower(), lower);
+
+ copy = upper;
+ QCOMPARE(qMove(copy).toUpper(), upper);
+ copy = upper;
+ copy.detach();
+ QCOMPARE(qMove(copy).toUpper(), upper);
}
void tst_QByteArray::macTypes()
diff --git a/tests/auto/corelib/tools/qdatetime/qdatetime.pro b/tests/auto/corelib/tools/qdatetime/qdatetime.pro
index 0a89fe7645..25d11443e4 100644
--- a/tests/auto/corelib/tools/qdatetime/qdatetime.pro
+++ b/tests/auto/corelib/tools/qdatetime/qdatetime.pro
@@ -11,3 +11,8 @@ win32-msvc|win32-msvc9x {
QMAKE_CXXFLAGS_RELEASE -= -O1
}
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
+
+mac {
+ OBJECTIVE_SOURCES += tst_qdatetime_mac.mm
+ LIBS += -framework Foundation
+}
diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
index 51c3a19d63..8876bb3d34 100644
--- a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
+++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
@@ -145,6 +145,8 @@ private slots:
void invalid() const;
+ void macTypes();
+
private:
enum { LocalTimeIsUtc = 0, LocalTimeAheadOfUtc = 1, LocalTimeBehindUtc = -1} localTimeType;
bool europeanTimeZone;
@@ -2981,5 +2983,15 @@ void tst_QDateTime::invalid() const
QCOMPARE(tzDate.timeSpec(), Qt::TimeZone);
}
+void tst_QDateTime::macTypes()
+{
+#ifndef Q_OS_MAC
+ QSKIP("This is a Apple-only test");
+#else
+ extern void tst_QDateTime_macTypes(); // in qdatetime_mac.mm
+ tst_QDateTime_macTypes();
+#endif
+}
+
QTEST_APPLESS_MAIN(tst_QDateTime)
#include "tst_qdatetime.moc"
diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime_mac.mm b/tests/auto/corelib/tools/qdatetime/tst_qdatetime_mac.mm
new file mode 100644
index 0000000000..d03ae3faeb
--- /dev/null
+++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime_mac.mm
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Petroules Corporation.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QDateTime>
+#include <QtTest/QtTest>
+
+#include <CoreFoundation/CoreFoundation.h>
+#include <Foundation/Foundation.h>
+
+void tst_QDateTime_macTypes()
+{
+ // QDateTime <-> CFDate
+ {
+ QDateTime qtDateTime = QDateTime::fromMSecsSinceEpoch(0);
+ const CFDateRef cfDate = qtDateTime.toCFDate();
+ QCOMPARE(QDateTime::fromCFDate(cfDate), qtDateTime);
+ CFRelease(cfDate);
+ }
+ {
+ QDateTime qtDateTime = QDateTime::fromMSecsSinceEpoch(0);
+ const CFDateRef cfDate = qtDateTime.toCFDate();
+ QDateTime qtDateTimeCopy(qtDateTime);
+ qtDateTime.setTime_t(10000); // modify
+ QCOMPARE(QDateTime::fromCFDate(cfDate), qtDateTimeCopy);
+ }
+ // QDateTime <-> NSDate
+ {
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
+ QDateTime qtDateTime = QDateTime::fromMSecsSinceEpoch(0);
+ const NSDate *nsDate = qtDateTime.toNSDate();
+ QCOMPARE(QDateTime::fromNSDate(nsDate), qtDateTime);
+ [autoreleasepool release];
+ }
+ {
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
+ QDateTime qtDateTime = QDateTime::fromMSecsSinceEpoch(0);
+ const NSDate *nsDate = qtDateTime.toNSDate();
+ QDateTime qtDateTimeCopy(qtDateTime);
+ qtDateTime.setTime_t(10000); // modify
+ QCOMPARE(QDateTime::fromNSDate(nsDate), qtDateTimeCopy);
+ [autoreleasepool release];
+ }
+}
diff --git a/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp b/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
index d1152419c0..c1d6184072 100644
--- a/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
+++ b/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
@@ -51,6 +51,7 @@ private slots:
void operators();
void properties();
void metaTypes();
+ void propertyOrderIsNotImportant();
void bezierSpline_data();
void bezierSpline();
void tcbSpline_data();
@@ -552,6 +553,25 @@ void tst_QEasingCurve::metaTypes()
QVERIFY(qMetaTypeId<QEasingCurve>() == QMetaType::QEasingCurve);
}
+/*
+ Test to ensure that regardless of what order properties are set, they should produce the same
+ behavior.
+ */
+void tst_QEasingCurve::propertyOrderIsNotImportant()
+{
+
+ QEasingCurve c1;
+ c1.setPeriod(1);
+ c1.setType(QEasingCurve::OutSine);
+ QVERIFY(c1.valueForProgress(0.75) > 0.9);
+
+ QEasingCurve c2;
+ c2.setType(QEasingCurve::OutSine);
+ c2.setPeriod(1);
+
+ QCOMPARE(c1.valueForProgress(0.75), c2.valueForProgress(0.75));
+}
+
void tst_QEasingCurve::bezierSpline_data()
{
QTest::addColumn<QString>("definition");
diff --git a/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp b/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp
index db22f99cb8..1b6fe2aefe 100644
--- a/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp
+++ b/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp
@@ -237,6 +237,95 @@ void consistencyCheck(const QRegularExpressionMatchIterator &iterator)
}
+template<typename Result>
+static void prepareResultForNoMatchType(Result *r, const Result &orig)
+{
+ Q_UNUSED(r);
+ Q_UNUSED(orig);
+}
+
+static void prepareResultForNoMatchType(Match *m, const Match &orig)
+{
+ m->isValid = orig.isValid;
+}
+
+template<typename QREMatch, typename QREMatchFunc, typename Subject, typename Result>
+static void testMatchImpl(const QRegularExpression &regexp,
+ QREMatchFunc matchingMethod,
+ const Subject &subject,
+ int offset,
+ QRegularExpression::MatchType matchType,
+ QRegularExpression::MatchOptions matchOptions,
+ const Result &result)
+{
+ {
+ const QREMatch m = (regexp.*matchingMethod)(subject, offset, matchType, matchOptions);
+ consistencyCheck(m);
+ QVERIFY(m == result);
+ QCOMPARE(m.regularExpression(), regexp);
+ QCOMPARE(m.matchType(), matchType);
+ QCOMPARE(m.matchOptions(), matchOptions);
+ }
+ {
+ // ignore the expected results provided by the match object --
+ // we'll never get any result when testing the NoMatch type.
+ // Just check the validity of the match here.
+ Result realMatch;
+ prepareResultForNoMatchType(&realMatch, result);
+
+ const QREMatch m = (regexp.*matchingMethod)(subject, offset, QRegularExpression::NoMatch, matchOptions);
+ consistencyCheck(m);
+ QVERIFY(m == realMatch);
+ QCOMPARE(m.regularExpression(), regexp);
+ QCOMPARE(m.matchType(), QRegularExpression::NoMatch);
+ QCOMPARE(m.matchOptions(), matchOptions);
+ }
+}
+
+template<typename QREMatch, typename QREMatchFuncForString, typename QREMatchFuncForStringRef, typename Result>
+static void testMatch(const QRegularExpression &regexp,
+ QREMatchFuncForString matchingMethodForString,
+ QREMatchFuncForStringRef matchingMethodForStringRef,
+ const QString &subject,
+ int offset,
+ QRegularExpression::MatchType matchType,
+ QRegularExpression::MatchOptions matchOptions,
+ const Result &result)
+{
+ if (forceOptimize)
+ regexp.optimize();
+
+ // test with QString as subject type
+ testMatchImpl<QREMatch>(regexp, matchingMethodForString, subject, offset, matchType, matchOptions, result);
+
+ // test with QStringRef as subject type
+ testMatchImpl<QREMatch>(regexp,
+ matchingMethodForStringRef,
+ QStringRef(&subject, 0, subject.length()),
+ offset,
+ matchType,
+ matchOptions,
+ result);
+
+ // offset <= 0 tested above; now also test stringrefs not spanning over
+ // the entire subject. Note that the offset can be negative, hence the above
+ // tests can't be merged into this one
+ for (int i = 1; i <= offset; ++i) {
+ testMatchImpl<QREMatch>(regexp,
+ matchingMethodForStringRef,
+ QStringRef(&subject, i, subject.length() - i),
+ offset - i,
+ matchType,
+ matchOptions,
+ result);
+ }
+}
+
+typedef QRegularExpressionMatch (QRegularExpression::*QREMatchStringPMF)(const QString &, int, QRegularExpression::MatchType, QRegularExpression::MatchOptions) const;
+typedef QRegularExpressionMatch (QRegularExpression::*QREMatchStringRefPMF)(const QStringRef &, int, QRegularExpression::MatchType, QRegularExpression::MatchOptions) const;
+typedef QRegularExpressionMatchIterator (QRegularExpression::*QREGlobalMatchStringPMF)(const QString &, int, QRegularExpression::MatchType, QRegularExpression::MatchOptions) const;
+typedef QRegularExpressionMatchIterator (QRegularExpression::*QREGlobalMatchStringRefPMF)(const QStringRef &, int, QRegularExpression::MatchType, QRegularExpression::MatchOptions) const;
+
void tst_QRegularExpression::provideRegularExpressions()
{
QTest::addColumn<QString>("pattern");
@@ -526,6 +615,7 @@ void tst_QRegularExpression::normalMatch_data()
QTest::addColumn<Match>("match");
Match m;
+ int offset = 0;
m.clear();
m.isValid = true; m.hasMatch = true;
@@ -577,20 +667,28 @@ void tst_QRegularExpression::normalMatch_data()
m.clear();
m.isValid = true; m.hasMatch = true;
m.captured << "c123def" << "c12" << "3" << "def";
- QTest::newRow("match06") << QRegularExpression("(\\w*)(\\d+)(\\w*)")
- << "abc123def"
- << 2
- << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
- << m;
+ offset = 2;
+ for (int i = 0; i <= offset; ++i) {
+ QTest::newRow(QStringLiteral("match06-offset%1").arg(i).toUtf8().constData())
+ << QRegularExpression("(\\w*)(\\d+)(\\w*)")
+ << QStringLiteral("abc123def").mid(offset - i)
+ << i
+ << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
+ << m;
+ }
m.clear();
m.isValid = true; m.hasMatch = true;
m.captured << QString("");
- QTest::newRow("match07") << QRegularExpression("\\w*")
- << "abc123def"
- << 9
- << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
- << m;
+ offset = 9;
+ for (int i = 0; i <= offset; ++i) {
+ QTest::newRow(QStringLiteral("match07-offset%1").arg(i).toUtf8().constData())
+ << QRegularExpression("\\w*")
+ << QStringLiteral("abc123def").mid(offset - i)
+ << i
+ << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
+ << m;
+ }
m.clear();
m.isValid = true; m.hasMatch = true;
@@ -648,19 +746,27 @@ void tst_QRegularExpression::normalMatch_data()
m.clear();
m.isValid = true;
- QTest::newRow("nomatch02") << QRegularExpression("(\\w+) (\\w+)")
- << "a string"
- << 1
- << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
- << m;
+ offset = 1;
+ for (int i = 0; i <= offset; ++i) {
+ QTest::newRow(QStringLiteral("nomatch02-offset%1").arg(i).toUtf8().constData())
+ << QRegularExpression("(\\w+) (\\w+)")
+ << QStringLiteral("a string").mid(offset - i)
+ << i
+ << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
+ << m;
+ }
m.clear();
m.isValid = true;
- QTest::newRow("nomatch03") << QRegularExpression("\\w+")
- << "abc123def"
- << 9
- << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
- << m;
+ offset = 9;
+ for (int i = 0; i <= offset; ++i) {
+ QTest::newRow(QStringLiteral("nomatch03-offset%1").arg(i).toUtf8().constData())
+ << QRegularExpression("\\w+")
+ << QStringLiteral("abc123def").mid(offset - i)
+ << i
+ << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
+ << m;
+ }
// ***
@@ -728,32 +834,14 @@ void tst_QRegularExpression::normalMatch()
QFETCH(QRegularExpression::MatchOptions, matchOptions);
QFETCH(Match, match);
- if (forceOptimize)
- regexp.optimize();
-
- {
- QRegularExpressionMatch m = regexp.match(subject, offset, QRegularExpression::NormalMatch, matchOptions);
- consistencyCheck(m);
- QVERIFY(m == match);
- QCOMPARE(m.regularExpression(), regexp);
- QCOMPARE(m.matchType(), QRegularExpression::NormalMatch);
- QCOMPARE(m.matchOptions(), matchOptions);
- }
- {
- // ignore the expected results provided by the match object --
- // we'll never get any result when testing the NoMatch type.
- // Just check the validity of the match here.
- Match realMatch;
- realMatch.clear();
- realMatch.isValid = match.isValid;
-
- QRegularExpressionMatch m = regexp.match(subject, offset, QRegularExpression::NoMatch, matchOptions);
- consistencyCheck(m);
- QVERIFY(m == realMatch);
- QCOMPARE(m.regularExpression(), regexp);
- QCOMPARE(m.matchType(), QRegularExpression::NoMatch);
- QCOMPARE(m.matchOptions(), matchOptions);
- }
+ testMatch<QRegularExpressionMatch>(regexp,
+ static_cast<QREMatchStringPMF>(&QRegularExpression::match),
+ static_cast<QREMatchStringRefPMF>(&QRegularExpression::match),
+ subject,
+ offset,
+ QRegularExpression::NormalMatch,
+ matchOptions,
+ match);
}
void tst_QRegularExpression::partialMatch_data()
@@ -766,6 +854,7 @@ void tst_QRegularExpression::partialMatch_data()
QTest::addColumn<Match>("match");
Match m;
+ int offset = 0;
m.clear();
m.isValid = true; m.hasPartialMatch = true;
@@ -840,12 +929,16 @@ void tst_QRegularExpression::partialMatch_data()
m.clear();
m.isValid = true; m.hasPartialMatch = true;
m.captured << "def";
- QTest::newRow("softmatch08") << QRegularExpression("abc\\w+X|defY")
- << "abcdef"
- << 1
- << QRegularExpression::PartialPreferCompleteMatch
- << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
- << m;
+ offset = 1;
+ for (int i = 0; i <= offset; ++i) {
+ QTest::newRow(QStringLiteral("softmatch08-offset%1").arg(i).toUtf8().constData())
+ << QRegularExpression("abc\\w+X|defY")
+ << QStringLiteral("abcdef").mid(offset - i)
+ << i
+ << QRegularExpression::PartialPreferCompleteMatch
+ << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
+ << m;
+ }
// ***
@@ -922,12 +1015,16 @@ void tst_QRegularExpression::partialMatch_data()
m.clear();
m.isValid = true; m.hasPartialMatch = true;
m.captured << "def";
- QTest::newRow("hardmatch08") << QRegularExpression("abc\\w+X|defY")
- << "abcdef"
- << 1
- << QRegularExpression::PartialPreferFirstMatch
- << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
- << m;
+ offset = 1;
+ for (int i = 0; i <= offset; ++i) {
+ QTest::newRow(QStringLiteral("hardmatch08-offset%1").arg(i).toUtf8().constData())
+ << QRegularExpression("abc\\w+X|defY")
+ << QStringLiteral("abcdef").mid(offset - i)
+ << i
+ << QRegularExpression::PartialPreferFirstMatch
+ << QRegularExpression::MatchOptions(QRegularExpression::NoMatchOption)
+ << m;
+ }
m.clear();
m.isValid = true; m.hasPartialMatch = true;
@@ -1009,32 +1106,14 @@ void tst_QRegularExpression::partialMatch()
QFETCH(QRegularExpression::MatchOptions, matchOptions);
QFETCH(Match, match);
- if (forceOptimize)
- regexp.optimize();
-
- {
- QRegularExpressionMatch m = regexp.match(subject, offset, matchType, matchOptions);
- consistencyCheck(m);
- QVERIFY(m == match);
- QCOMPARE(m.regularExpression(), regexp);
- QCOMPARE(m.matchType(), matchType);
- QCOMPARE(m.matchOptions(), matchOptions);
- }
- {
- // ignore the expected results provided by the match object --
- // we'll never get any result when testing the NoMatch type.
- // Just check the validity of the match here.
- Match realMatch;
- realMatch.clear();
- realMatch.isValid = match.isValid;
-
- QRegularExpressionMatch m = regexp.match(subject, offset, QRegularExpression::NoMatch, matchOptions);
- consistencyCheck(m);
- QVERIFY(m == realMatch);
- QCOMPARE(m.regularExpression(), regexp);
- QCOMPARE(m.matchType(), QRegularExpression::NoMatch);
- QCOMPARE(m.matchOptions(), matchOptions);
- }
+ testMatch<QRegularExpressionMatch>(regexp,
+ static_cast<QREMatchStringPMF>(&QRegularExpression::match),
+ static_cast<QREMatchStringRefPMF>(&QRegularExpression::match),
+ subject,
+ offset,
+ matchType,
+ matchOptions,
+ match);
}
void tst_QRegularExpression::globalMatch_data()
@@ -1304,31 +1383,14 @@ void tst_QRegularExpression::globalMatch()
QFETCH(QRegularExpression::MatchOptions, matchOptions);
QFETCH(QList<Match>, matchList);
- if (forceOptimize)
- regexp.optimize();
-
- {
- QRegularExpressionMatchIterator iterator = regexp.globalMatch(subject, offset, matchType, matchOptions);
- consistencyCheck(iterator);
- QVERIFY(iterator == matchList);
- QCOMPARE(iterator.regularExpression(), regexp);
- QCOMPARE(iterator.matchType(), matchType);
- QCOMPARE(iterator.matchOptions(), matchOptions);
- }
- {
- // ignore the expected results provided by the match object --
- // we'll never get any result when testing the NoMatch type.
- // Just check the validity of the match here.
- QList<Match> realMatchList;
-
- QRegularExpressionMatchIterator iterator = regexp.globalMatch(subject, offset, QRegularExpression::NoMatch, matchOptions);
- consistencyCheck(iterator);
- QVERIFY(iterator == realMatchList);
- QCOMPARE(iterator.regularExpression(), regexp);
- QCOMPARE(iterator.matchType(), QRegularExpression::NoMatch);
- QCOMPARE(iterator.matchOptions(), matchOptions);
- }
-
+ testMatch<QRegularExpressionMatchIterator>(regexp,
+ static_cast<QREGlobalMatchStringPMF>(&QRegularExpression::globalMatch),
+ static_cast<QREGlobalMatchStringRefPMF>(&QRegularExpression::globalMatch),
+ subject,
+ offset,
+ matchType,
+ matchOptions,
+ matchList);
}
void tst_QRegularExpression::serialize_data()
diff --git a/tests/auto/corelib/tools/qstring/tst_qstring.cpp b/tests/auto/corelib/tools/qstring/tst_qstring.cpp
index ea40c64c89..e001440045 100644
--- a/tests/auto/corelib/tools/qstring/tst_qstring.cpp
+++ b/tests/auto/corelib/tools/qstring/tst_qstring.cpp
@@ -155,6 +155,7 @@ private slots:
void lastIndexOfInvalidRegex();
void indexOf_data();
void indexOf();
+ void indexOfInvalidRegex();
void indexOf2_data();
void indexOf2();
void indexOf3_data();
@@ -1182,6 +1183,18 @@ void tst_QString::indexOf()
QRegularExpression re(QRegularExpression::escape(needle), options);
QCOMPARE( haystack.indexOf(re, startpos), resultpos );
+ QCOMPARE(haystack.indexOf(re, startpos, Q_NULLPTR), resultpos);
+
+ QRegularExpressionMatch match;
+ QVERIFY(!match.hasMatch());
+ QCOMPARE(haystack.indexOf(re, startpos, &match), resultpos);
+ QCOMPARE(match.hasMatch(), resultpos != -1);
+ if (resultpos > -1 && needleIsLatin) {
+ if (bcs)
+ QVERIFY(match.captured() == needle);
+ else
+ QVERIFY(match.captured().toLower() == needle.toLower());
+ }
}
if (cs == Qt::CaseSensitive) {
@@ -1290,6 +1303,20 @@ void tst_QString::indexOf2()
}
}
+void tst_QString::indexOfInvalidRegex()
+{
+ QTest::ignoreMessage(QtWarningMsg, "QString::indexOf: invalid QRegularExpression object");
+ QCOMPARE(QString("invalid regex\\").indexOf(QRegularExpression("invalid regex\\")), -1);
+ QTest::ignoreMessage(QtWarningMsg, "QString::indexOf: invalid QRegularExpression object");
+ QCOMPARE(QString("invalid regex\\").indexOf(QRegularExpression("invalid regex\\"), -1, Q_NULLPTR), -1);
+
+ QRegularExpressionMatch match;
+ QVERIFY(!match.hasMatch());
+ QTest::ignoreMessage(QtWarningMsg, "QString::indexOf: invalid QRegularExpression object");
+ QCOMPARE(QString("invalid regex\\").indexOf(QRegularExpression("invalid regex\\"), -1, &match), -1);
+ QVERIFY(!match.hasMatch());
+}
+
void tst_QString::lastIndexOf_data()
{
QTest::addColumn<QString>("haystack" );
@@ -1379,6 +1406,17 @@ void tst_QString::lastIndexOf()
QRegularExpression re(QRegularExpression::escape(needle), options);
QCOMPARE(haystack.lastIndexOf(re, from), expected);
+ QCOMPARE(haystack.lastIndexOf(re, from, Q_NULLPTR), expected);
+ QRegularExpressionMatch match;
+ QVERIFY(!match.hasMatch());
+ QCOMPARE(haystack.lastIndexOf(re, from, &match), expected);
+ QCOMPARE(match.hasMatch(), expected > -1);
+ if (expected > -1) {
+ if (caseSensitive)
+ QCOMPARE(match.captured(), needle);
+ else
+ QCOMPARE(match.captured().toLower(), needle.toLower());
+ }
}
}
@@ -1403,7 +1441,15 @@ void tst_QString::lastIndexOf()
void tst_QString::lastIndexOfInvalidRegex()
{
QTest::ignoreMessage(QtWarningMsg, "QString::lastIndexOf: invalid QRegularExpression object");
- QCOMPARE(QString("").lastIndexOf(QRegularExpression("invalid regex\\"), 0), -1);
+ QCOMPARE(QString("invalid regex\\").lastIndexOf(QRegularExpression("invalid regex\\"), 0), -1);
+ QTest::ignoreMessage(QtWarningMsg, "QString::lastIndexOf: invalid QRegularExpression object");
+ QCOMPARE(QString("invalid regex\\").lastIndexOf(QRegularExpression("invalid regex\\"), -1, Q_NULLPTR), -1);
+
+ QRegularExpressionMatch match;
+ QVERIFY(!match.hasMatch());
+ QTest::ignoreMessage(QtWarningMsg, "QString::lastIndexOf: invalid QRegularExpression object");
+ QCOMPARE(QString("invalid regex\\").lastIndexOf(QRegularExpression("invalid regex\\"), -1, &match), -1);
+ QVERIFY(!match.hasMatch());
}
void tst_QString::count()
@@ -1838,6 +1884,7 @@ void tst_QString::toUpper()
{
QCOMPARE( QString().toUpper(), QString() );
QCOMPARE( QString("").toUpper(), QString("") );
+ QCOMPARE( QStringLiteral("text").toUpper(), QString("TEXT") );
QCOMPARE( QString("text").toUpper(), QString("TEXT") );
QCOMPARE( QString("Text").toUpper(), QString("TEXT") );
QCOMPARE( QString("tExt").toUpper(), QString("TEXT") );
@@ -1898,6 +1945,7 @@ void tst_QString::toLower()
QCOMPARE( QString().toLower(), QString() );
QCOMPARE( QString("").toLower(), QString("") );
QCOMPARE( QString("text").toLower(), QString("text") );
+ QCOMPARE( QStringLiteral("Text").toLower(), QString("text") );
QCOMPARE( QString("Text").toLower(), QString("text") );
QCOMPARE( QString("tExt").toLower(), QString("text") );
QCOMPARE( QString("teXt").toLower(), QString("text") );
@@ -2019,6 +2067,13 @@ void tst_QString::trimmed()
QCOMPARE(a,(QString)" ");
a=" a ";
QCOMPARE(a.trimmed(),(QString)"a");
+
+ a="Text";
+ QCOMPARE(qMove(a).trimmed(),(QString)"Text");
+ a=" ";
+ QCOMPARE(qMove(a).trimmed(),(QString)"");
+ a=" a ";
+ QCOMPARE(qMove(a).trimmed(),(QString)"a");
}
void tst_QString::simplified_data()
@@ -2063,9 +2118,12 @@ void tst_QString::simplified()
QVERIFY2(result.isEmpty() && !result.isNull(), qPrintable("'" + full + "' did not yield empty: " + result));
} else {
QCOMPARE(result, simple);
- if (full == simple)
- QVERIFY(result.isSharedWith(full));
}
+
+ // force a detach
+ if (!full.isEmpty())
+ full[0] = full[0];
+ QCOMPARE(qMove(full).simplified(), simple);
}
void tst_QString::insert()
@@ -4454,6 +4512,8 @@ void tst_QString::section()
QCOMPARE( wholeString.section( QRegExp(sep), start, end, QString::SectionFlag(flags) ), sectionString );
QCOMPARE( wholeString.section( QRegularExpression(sep), start, end, QString::SectionFlag(flags) ), sectionString );
} else {
+ if (sep.size() == 1)
+ QCOMPARE( wholeString.section( sep[0], start, end, QString::SectionFlag(flags) ), sectionString );
QCOMPARE( wholeString.section( sep, start, end, QString::SectionFlag(flags) ), sectionString );
QCOMPARE( wholeString.section( QRegExp(QRegExp::escape(sep)), start, end, QString::SectionFlag(flags) ), sectionString );
QCOMPARE( wholeString.section( QRegularExpression(QRegularExpression::escape(sep)), start, end, QString::SectionFlag(flags) ), sectionString );
diff --git a/tests/auto/corelib/tools/qvector/tst_qvector.cpp b/tests/auto/corelib/tools/qvector/tst_qvector.cpp
index 9a79d48472..c9e8a5f657 100644
--- a/tests/auto/corelib/tools/qvector/tst_qvector.cpp
+++ b/tests/auto/corelib/tools/qvector/tst_qvector.cpp
@@ -575,6 +575,18 @@ void tst_QVector::append() const
QCOMPARE(v.last(), SimpleValue<T>::at(0));
}
#endif
+ {
+ QVector<int> v;
+ v << 1 << 2 << 3;
+ QVector<int> x;
+ x << 4 << 5 << 6;
+ v.append(x);
+
+ QVector<int> combined;
+ combined << 1 << 2 << 3 << 4 << 5 << 6;
+
+ QCOMPARE(v, combined);
+ }
}
void tst_QVector::appendInt() const
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp
index fcee2884d9..676f8084a1 100644
--- a/tests/auto/gui/image/qimage/tst_qimage.cpp
+++ b/tests/auto/gui/image/qimage/tst_qimage.cpp
@@ -775,6 +775,13 @@ void tst_QImage::convertToFormat_data()
<< int(QImage::Format_ARGB32) << 0xff00ff00;
QTest::newRow("blue rgb30 -> argb32") << int(QImage::Format_RGB30) << 0xff0000ff
<< int(QImage::Format_ARGB32) << 0xff0000ff;
+
+ QTest::newRow("white gray8 -> argb pm") << int(QImage::Format_Grayscale8) << 0xfffffeffu
+ << int(QImage::Format_ARGB32_Premultiplied) << 0xfffefefeu;
+ QTest::newRow("gray gray8 -> argb pm") << int(QImage::Format_Grayscale8) << 0xff565557u
+ << int(QImage::Format_ARGB32_Premultiplied) << 0xff555555u;
+ QTest::newRow("black gray8 -> argb pm") << int(QImage::Format_Grayscale8) << 0xff000100u
+ << int(QImage::Format_ARGB32_Premultiplied) << 0xff000000u;
}
@@ -1004,6 +1011,10 @@ void tst_QImage::rotate_data()
<< QImage::Format_RGBX8888 << d;
QTest::newRow(qPrintable(title.arg("Format_RGBA8888_Premultiplied")))
<< QImage::Format_RGBA8888_Premultiplied << d;
+ QTest::newRow(qPrintable(title.arg("Format_Alpha8")))
+ << QImage::Format_Alpha8 << d;
+ QTest::newRow(qPrintable(title.arg("Format_Grayscale8")))
+ << QImage::Format_Grayscale8 << d;
}
}
@@ -2092,16 +2103,20 @@ void tst_QImage::fillPixel_data()
QTest::newRow("ARGB32, transparent") << QImage::Format_ARGB32 << 0x0u << 0x00000000u;
QTest::newRow("ARGB32pm, transparent") << QImage::Format_ARGB32_Premultiplied << 0x0u << 0x00000000u;
QTest::newRow("RGBA8888pm, transparent") << QImage::Format_RGBA8888_Premultiplied << 0x0u << 0x00000000u;
+ QTest::newRow("Alpha8, transparent") << QImage::Format_Alpha8 << 0x0u << 0x00000000u;
QTest::newRow("RGB16, red") << QImage::Format_RGB16 << (uint)qConvertRgb32To16(0xffff0000) << 0xffff0000u;
QTest::newRow("RGB32, red") << QImage::Format_RGB32 << 0xffff0000u << 0xffff0000u;
QTest::newRow("ARGB32, red") << QImage::Format_ARGB32 << 0xffff0000u << 0xffff0000u;
QTest::newRow("RGBA8888, red") << QImage::Format_RGBA8888 << 0xff0000ffu << 0xffff0000u;
+ QTest::newRow("Grayscale8, grey") << QImage::Format_Grayscale8 << 0xff808080u << 0xff808080u;
+
QTest::newRow("RGB32, semi-red") << QImage::Format_RGB32 << 0x80ff0000u << 0xffff0000u;
QTest::newRow("ARGB32, semi-red") << QImage::Format_ARGB32 << 0x80ff0000u << 0x80ff0000u;
QTest::newRow("ARGB32pm, semi-red") << QImage::Format_ARGB32 << 0x80800000u << 0x80800000u;
QTest::newRow("RGBA8888pm, semi-red") << QImage::Format_RGBA8888_Premultiplied << 0x80000080u << 0x80800000u;
+ QTest::newRow("Alpha8, semi-red") << QImage::Format_Alpha8 << 0x80000080u << 0x80000000u;
}
void tst_QImage::fillPixel()
diff --git a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
index 184cc872a1..e0eaba9896 100644
--- a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
+++ b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
@@ -487,13 +487,13 @@ void tst_QImageReader::imageFormat_data()
QTest::addColumn<QImage::Format>("imageFormat");
QTest::newRow("pbm") << QString("image.pbm") << QByteArray("pbm") << QImage::Format_Mono;
- QTest::newRow("pgm") << QString("image.pgm") << QByteArray("pgm") << QImage::Format_Indexed8;
+ QTest::newRow("pgm") << QString("image.pgm") << QByteArray("pgm") << QImage::Format_Grayscale8;
QTest::newRow("ppm-1") << QString("image.ppm") << QByteArray("ppm") << QImage::Format_RGB32;
QTest::newRow("ppm-2") << QString("teapot.ppm") << QByteArray("ppm") << QImage::Format_RGB32;
QTest::newRow("ppm-3") << QString("runners.ppm") << QByteArray("ppm") << QImage::Format_RGB32;
QTest::newRow("ppm-4") << QString("test.ppm") << QByteArray("ppm") << QImage::Format_RGB32;
- QTest::newRow("jpeg-1") << QString("beavis.jpg") << QByteArray("jpeg") << QImage::Format_Indexed8;
+ QTest::newRow("jpeg-1") << QString("beavis.jpg") << QByteArray("jpeg") << QImage::Format_Grayscale8;
QTest::newRow("jpeg-2") << QString("YCbCr_cmyk.jpg") << QByteArray("jpeg") << QImage::Format_RGB32;
QTest::newRow("jpeg-3") << QString("YCbCr_rgb.jpg") << QByteArray("jpeg") << QImage::Format_RGB32;
diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
index fac16ff8a3..7a0683c3bf 100644
--- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
+++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
@@ -63,6 +63,7 @@ private slots:
void positioning_data();
void positioning();
void positioningDuringMinimized();
+ void platformSurface();
void isExposed();
void isActive();
void testInputEvents();
@@ -160,8 +161,18 @@ public:
{
m_received[event->type()]++;
m_order << event->type();
- if (event->type() == QEvent::Expose)
+ switch (event->type()) {
+ case QEvent::Expose:
m_exposeRegion = static_cast<QExposeEvent *>(event)->region();
+ break;
+
+ case QEvent::PlatformSurface:
+ m_surfaceventType = static_cast<QPlatformSurfaceEvent *>(event)->surfaceEventType();
+ break;
+
+ default:
+ break;
+ }
return QWindow::event(event);
}
@@ -181,10 +192,16 @@ public:
return m_exposeRegion;
}
+ QPlatformSurfaceEvent::SurfaceEventType surfaceEventType() const
+ {
+ return m_surfaceventType;
+ }
+
private:
QHash<QEvent::Type, int> m_received;
QVector<QEvent::Type> m_order;
QRegion m_exposeRegion;
+ QPlatformSurfaceEvent::SurfaceEventType m_surfaceventType;
};
void tst_QWindow::eventOrderOnShow()
@@ -352,6 +369,63 @@ void tst_QWindow::positioningDuringMinimized()
QTRY_COMPARE(window.geometry(), newGeometry);
}
+class PlatformWindowFilter : public QObject
+{
+ Q_OBJECT
+public:
+ PlatformWindowFilter(QObject *parent = 0)
+ : QObject(parent)
+ , m_window(Q_NULLPTR)
+ , m_alwaysExisted(true)
+ {}
+
+ void setWindow(Window *window) { m_window = window; }
+
+ bool eventFilter(QObject *o, QEvent *e)
+ {
+ // Check that the platform surface events are delivered synchronously.
+ // If they are, the native platform surface should always exist when we
+ // receive a QPlatformSurfaceEvent
+ if (e->type() == QEvent::PlatformSurface && o == m_window) {
+ m_alwaysExisted &= (m_window->handle() != Q_NULLPTR);
+ }
+ return false;
+ }
+
+ bool surfaceExisted() const { return m_alwaysExisted; }
+
+private:
+ Window *m_window;
+ bool m_alwaysExisted;
+};
+
+void tst_QWindow::platformSurface()
+{
+ QRect geometry(m_availableTopLeft + QPoint(80, 80), m_testWindowSize);
+
+ Window window;
+ PlatformWindowFilter filter;
+ filter.setWindow(&window);
+ window.installEventFilter(&filter);
+
+ window.setGeometry(geometry);
+ QCOMPARE(window.geometry(), geometry);
+ window.create();
+
+ QTRY_VERIFY(window.received(QEvent::PlatformSurface) == 1);
+ QTRY_VERIFY(window.surfaceEventType() == QPlatformSurfaceEvent::SurfaceCreated);
+ QTRY_VERIFY(window.handle() != Q_NULLPTR);
+
+ window.destroy();
+ QTRY_VERIFY(window.received(QEvent::PlatformSurface) == 2);
+ QTRY_VERIFY(window.surfaceEventType() == QPlatformSurfaceEvent::SurfaceAboutToBeDestroyed);
+ QTRY_VERIFY(window.handle() == Q_NULLPTR);
+
+ // Check for synchronous delivery of platform surface events and that the platform
+ // surface always existed upon event delivery
+ QTRY_VERIFY(filter.surfaceExisted());
+}
+
void tst_QWindow::isExposed()
{
QRect geometry(m_availableTopLeft + QPoint(80, 80), m_testWindowSize);
diff --git a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
index c5755dcdad..5072aa96c3 100644
--- a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
+++ b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
@@ -3442,7 +3442,8 @@ void tst_QPainter::drawImage_data()
for (int srcFormat = QImage::Format_Mono; srcFormat < QImage::NImageFormats; ++srcFormat) {
for (int dstFormat = QImage::Format_Mono; dstFormat < QImage::NImageFormats; ++dstFormat) {
- if (dstFormat == QImage::Format_Indexed8)
+ // Indexed8 can't be painted to, and Alpha8 can't hold a color.
+ if (dstFormat == QImage::Format_Indexed8 || dstFormat == QImage::Format_Alpha8)
continue;
for (int odd_x = 0; odd_x <= 1; ++odd_x) {
for (int odd_width = 0; odd_width <= 1; ++odd_width) {
diff --git a/tests/auto/gui/qopengl/tst_qopengl.cpp b/tests/auto/gui/qopengl/tst_qopengl.cpp
index 89ad66c1e8..a8834563a1 100644
--- a/tests/auto/gui/qopengl/tst_qopengl.cpp
+++ b/tests/auto/gui/qopengl/tst_qopengl.cpp
@@ -98,6 +98,8 @@ private slots:
void textureblitterPartTargetRectTransform();
void defaultSurfaceFormat();
+ void imageFormatPainting();
+
#ifdef USE_GLX
void glxContextWrap();
#endif
@@ -718,6 +720,68 @@ void tst_QOpenGL::fboHandleNulledAfterContextDestroyed()
QCOMPARE(fbo->handle(), 0U);
}
+void tst_QOpenGL::imageFormatPainting()
+{
+ QScopedPointer<QSurface> surface(createSurface(QSurface::Window));
+
+ QOpenGLContext ctx;
+ QVERIFY(ctx.create());
+
+ QVERIFY(ctx.makeCurrent(surface.data()));
+
+ if (!QOpenGLFramebufferObject::hasOpenGLFramebufferObjects())
+ QSKIP("QOpenGLFramebufferObject not supported on this platform");
+
+ QOpenGLFramebufferObjectFormat fboFormat;
+ fboFormat.setAttachment(QOpenGLFramebufferObject::CombinedDepthStencil);
+
+ const QSize size(128, 128);
+ QOpenGLFramebufferObject fbo(size, fboFormat);
+
+ if (fbo.attachment() != QOpenGLFramebufferObject::CombinedDepthStencil)
+ QSKIP("FBOs missing combined depth~stencil support");
+
+ QVERIFY(fbo.bind());
+
+ QImage alpha(128, 128, QImage::Format_Alpha8);
+ alpha.fill(127);
+
+ QPainter fboPainter;
+ QOpenGLPaintDevice device(fbo.width(), fbo.height());
+
+ QVERIFY(fboPainter.begin(&device));
+ fboPainter.fillRect(0, 0, 128, 128, qRgb(255, 0, 255));
+ fboPainter.setCompositionMode(QPainter::CompositionMode_DestinationIn);
+ fboPainter.drawImage(0, 0, alpha);
+ fboPainter.end();
+
+ QImage fb = fbo.toImage();
+ QCOMPARE(fb.pixel(0, 0), qRgba(127, 0, 127, 127));
+
+ QImage grayscale(128, 128, QImage::Format_Grayscale8);
+ grayscale.fill(128);
+
+ QVERIFY(fboPainter.begin(&device));
+ fboPainter.setCompositionMode(QPainter::CompositionMode_Plus);
+ fboPainter.drawImage(0, 0, grayscale);
+ fboPainter.end();
+
+ fb = fbo.toImage();
+ QCOMPARE(fb.pixel(0, 0), qRgb(255, 128, 255));
+
+ QImage argb(128, 128, QImage::Format_ARGB32);
+ argb.fill(qRgba(255, 255, 255, 128));
+
+ QVERIFY(fboPainter.begin(&device));
+ fboPainter.setCompositionMode(QPainter::CompositionMode_SourceOver);
+ fboPainter.drawImage(0, 0, argb);
+ fboPainter.end();
+
+ fb = fbo.toImage();
+ QCOMPARE(fb.pixel(0, 0), qRgb(255, 192, 255));
+
+}
+
void tst_QOpenGL::openGLPaintDevice_data()
{
QTest::addColumn<int>("surfaceClass");
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
index 4cab2b8a51..139cafa1fa 100644
--- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
@@ -78,6 +78,8 @@ private slots:
void find2();
void findWithRegExp_data();
void findWithRegExp();
+ void findWithRegularExpression_data();
+ void findWithRegularExpression();
void findMultiple();
void basicIsModifiedChecks();
void moreIsModified();
@@ -188,6 +190,7 @@ private slots:
private:
void backgroundImage_checkExpectedHtml(const QTextDocument &doc);
+ void buildRegExpData();
QTextDocument *doc;
QTextCursor cursor;
@@ -344,21 +347,7 @@ void tst_QTextDocument::find()
void tst_QTextDocument::findWithRegExp_data()
{
- QTest::addColumn<QString>("haystack");
- QTest::addColumn<QString>("needle");
- QTest::addColumn<int>("flags");
- QTest::addColumn<int>("from");
- QTest::addColumn<int>("anchor");
- QTest::addColumn<int>("position");
-
- // match integers 0 to 99
- QTest::newRow("1") << "23" << "^\\d\\d?$" << int(QTextDocument::FindCaseSensitively) << 0 << 0 << 2;
- // match ampersands but not &amp;
- QTest::newRow("2") << "His &amp; hers & theirs" << "&(?!amp;)"<< int(QTextDocument::FindCaseSensitively) << 0 << 15 << 16;
- //backward search
- QTest::newRow("3") << QString::fromLatin1("HelloBlahWorld Blah Hah")
- << "h" << int(QTextDocument::FindBackward) << 18 << 8 << 9;
-
+ buildRegExpData();
}
void tst_QTextDocument::findWithRegExp()
@@ -385,6 +374,34 @@ void tst_QTextDocument::findWithRegExp()
}
}
+void tst_QTextDocument::findWithRegularExpression_data()
+{
+ buildRegExpData();
+}
+
+void tst_QTextDocument::findWithRegularExpression()
+{
+ QFETCH(QString, haystack);
+ QFETCH(QString, needle);
+ QFETCH(int, flags);
+ QFETCH(int, from);
+ QFETCH(int, anchor);
+ QFETCH(int, position);
+
+ cursor.insertText(haystack);
+ //search using a regular expression
+ QRegularExpression expr(needle);
+ QTextDocument::FindFlags flg(flags);
+ cursor = doc->find(expr, from, flg);
+
+ if (anchor != -1) {
+ QCOMPARE(cursor.anchor(), anchor);
+ QCOMPARE(cursor.position(), position);
+ } else {
+ QVERIFY(cursor.isNull());
+ }
+}
+
void tst_QTextDocument::find2()
{
doc->setPlainText("aaa");
@@ -2594,6 +2611,24 @@ void tst_QTextDocument::backgroundImage_checkExpectedHtml(const QTextDocument &d
QCOMPARE(doc.toHtml(), expectedHtml);
}
+void tst_QTextDocument::buildRegExpData()
+{
+ QTest::addColumn<QString>("haystack");
+ QTest::addColumn<QString>("needle");
+ QTest::addColumn<int>("flags");
+ QTest::addColumn<int>("from");
+ QTest::addColumn<int>("anchor");
+ QTest::addColumn<int>("position");
+
+ // match integers 0 to 99
+ QTest::newRow("1") << "23" << "^\\d\\d?$" << int(QTextDocument::FindCaseSensitively) << 0 << 0 << 2;
+ // match ampersands but not &amp;
+ QTest::newRow("2") << "His &amp; hers & theirs" << "&(?!amp;)"<< int(QTextDocument::FindCaseSensitively) << 0 << 15 << 16;
+ //backward search
+ QTest::newRow("3") << QString::fromLatin1("HelloBlahWorld Blah Hah")
+ << "h" << int(QTextDocument::FindBackward) << 18 << 8 << 9;
+}
+
void tst_QTextDocument::backgroundImage_toHtml()
{
CREATE_DOC_AND_CURSOR();
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
index 49cdeb71cf..533f7a7289 100644
--- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
@@ -315,6 +315,7 @@ private Q_SLOTS:
void ioPostToHttpFromMiddleOfQBufferFiveBytes();
void ioPostToHttpNoBufferFlag();
void ioPostToHttpUploadProgress();
+ void emitAllUploadProgressSignals();
void ioPostToHttpEmptyUploadProgress();
void lastModifiedHeaderForFile();
@@ -4979,6 +4980,59 @@ void tst_QNetworkReply::ioPostToHttpUploadProgress()
server.close();
}
+void tst_QNetworkReply::emitAllUploadProgressSignals()
+{
+ QFile sourceFile(testDataDir + "/image1.jpg");
+ QVERIFY(sourceFile.open(QIODevice::ReadOnly));
+
+ // emulate a minimal http server
+ QTcpServer server;
+ server.listen(QHostAddress(QHostAddress::LocalHost), 0);
+ connect(&server, SIGNAL(newConnection()), &QTestEventLoop::instance(), SLOT(exitLoop()));
+
+ QUrl url = QUrl(QString("http://127.0.0.1:%1/").arg(server.serverPort()));
+ QNetworkRequest normalRequest(url);
+ normalRequest.setRawHeader("Content-Type", "application/octet-stream");
+
+ QNetworkRequest catchAllSignalsRequest(normalRequest);
+ catchAllSignalsRequest.setAttribute(QNetworkRequest::EmitAllUploadProgressSignalsAttribute, true);
+
+ QList<QNetworkRequest> requests;
+ requests << normalRequest << catchAllSignalsRequest;
+
+ QList<int> signalCount;
+
+ foreach (const QNetworkRequest &request, requests) {
+
+ sourceFile.seek(0);
+ QNetworkReplyPtr reply(manager.post(request, &sourceFile));
+ QSignalSpy spy(reply.data(), SIGNAL(uploadProgress(qint64,qint64)));
+
+ // get the request started and the incoming socket connected
+ QTestEventLoop::instance().enterLoop(10);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+ QTcpSocket *incomingSocket = server.nextPendingConnection();
+ QVERIFY(incomingSocket);
+ QTestEventLoop::instance().enterLoop(10);
+
+ connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()));
+ incomingSocket->write("HTTP/1.0 200 OK\r\n");
+ incomingSocket->write("Content-Length: 0\r\n");
+ incomingSocket->write("\r\n");
+ QTestEventLoop::instance().enterLoop(10);
+ // not timeouted -> finished() was emitted
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ incomingSocket->close();
+ signalCount.append(spy.count());
+ reply->deleteLater();
+ }
+ server.close();
+
+ // verify that the normal request emitted less signals than the one emitting all signals
+ QVERIFY2(signalCount.at(0) < signalCount.at(1), "no upload signal was suppressed");
+}
+
void tst_QNetworkReply::ioPostToHttpEmptyUploadProgress()
{
QByteArray ba;
diff --git a/tests/auto/network/ssl/qsslellipticcurve/.gitignore b/tests/auto/network/ssl/qsslellipticcurve/.gitignore
new file mode 100644
index 0000000000..27f97e770a
--- /dev/null
+++ b/tests/auto/network/ssl/qsslellipticcurve/.gitignore
@@ -0,0 +1 @@
+tst_qsslellipticcurves
diff --git a/tests/auto/network/ssl/qsslellipticcurve/qsslellipticcurve.pro b/tests/auto/network/ssl/qsslellipticcurve/qsslellipticcurve.pro
new file mode 100644
index 0000000000..d9a771a080
--- /dev/null
+++ b/tests/auto/network/ssl/qsslellipticcurve/qsslellipticcurve.pro
@@ -0,0 +1,8 @@
+CONFIG += testcase
+CONFIG += parallel_test
+
+SOURCES += tst_qsslellipticcurve.cpp
+!wince*:win32:LIBS += -lws2_32
+QT = core network testlib
+
+TARGET = tst_qsslellipticcurve
diff --git a/tests/auto/network/ssl/qsslellipticcurve/tst_qsslellipticcurve.cpp b/tests/auto/network/ssl/qsslellipticcurve/tst_qsslellipticcurve.cpp
new file mode 100644
index 0000000000..a5b1d14a92
--- /dev/null
+++ b/tests/auto/network/ssl/qsslellipticcurve/tst_qsslellipticcurve.cpp
@@ -0,0 +1,120 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Governikus GmbH & Co. KG.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+#include <QSslEllipticCurve>
+#include <QSslSocket>
+
+class tst_QSslEllipticCurve : public QObject
+{
+ Q_OBJECT
+
+#ifndef QT_NO_SSL
+private Q_SLOTS:
+ void constExpr();
+ void construction();
+ void fromShortName_data();
+ void fromShortName();
+#endif
+};
+
+#ifndef QT_NO_SSL
+
+void tst_QSslEllipticCurve::constExpr()
+{
+#ifdef Q_COMPILER_CONSTEXPR
+ // check that default ctor and op ==/!= are constexpr:
+ char array1[QSslEllipticCurve() == QSslEllipticCurve() ? 1 : -1];
+ char array2[QSslEllipticCurve() != QSslEllipticCurve() ? -1 : 1];
+ Q_UNUSED(array1);
+ Q_UNUSED(array2);
+#else
+ QSKIP("This test requires C++11 generalized constant expression support enabled in the compiler.");
+#endif
+}
+
+void tst_QSslEllipticCurve::construction()
+{
+ QSslEllipticCurve curve;
+ QCOMPARE(curve.isValid(), false);
+ QCOMPARE(curve.shortName(), QString());
+ QCOMPARE(curve.longName(), QString());
+ QCOMPARE(curve.isTlsNamedCurve(), false);
+}
+
+void tst_QSslEllipticCurve::fromShortName_data()
+{
+ QTest::addColumn<QString>("shortName");
+ QTest::addColumn<QSslEllipticCurve>("curve");
+ QTest::addColumn<bool>("valid");
+
+ QTest::newRow("QString()") << QString() << QSslEllipticCurve() << false;
+ QTest::newRow("\"\"") << QString("") << QSslEllipticCurve() << false;
+ QTest::newRow("does-not-exist") << QStringLiteral("does-not-exist") << QSslEllipticCurve() << false;
+ Q_FOREACH (QSslEllipticCurve ec, QSslSocket::supportedEllipticCurves()) {
+ const QString sN = ec.shortName();
+ QTest::newRow(qPrintable("supported EC \"" + sN + '"')) << sN << ec << true;
+ // At least in the OpenSSL impl, the short name is case-sensitive. That feels odd.
+ //const QString SN = sN.toUpper();
+ //QTest::newRow(qPrintable("supported EC \"" + SN + '"')) << SN << ec << true;
+ //const QString sn = sN.toLower();
+ //QTest::newRow(qPrintable("supported EC \"" + sn + '"')) << sn << ec << true;
+ }
+}
+
+void tst_QSslEllipticCurve::fromShortName()
+{
+ QFETCH(QString, shortName);
+ QFETCH(QSslEllipticCurve, curve);
+ QFETCH(bool, valid);
+
+ const QSslEllipticCurve result = QSslEllipticCurve::fromShortName(shortName);
+ QCOMPARE(result, curve);
+ QCOMPARE(result.isValid(), valid);
+ QCOMPARE(result.shortName(), curve.shortName());
+ QCOMPARE(result.shortName(), valid ? shortName : QString());
+}
+
+#endif // QT_NO_SSL
+
+QTEST_MAIN(tst_QSslEllipticCurve)
+#include "tst_qsslellipticcurve.moc"
diff --git a/tests/auto/network/ssl/ssl.pro b/tests/auto/network/ssl/ssl.pro
index 4e30a9cded..3418a3ae65 100644
--- a/tests/auto/network/ssl/ssl.pro
+++ b/tests/auto/network/ssl/ssl.pro
@@ -2,6 +2,7 @@ TEMPLATE=subdirs
SUBDIRS=\
qsslcertificate \
qsslcipher \
+ qsslellipticcurve \
qsslerror \
qsslkey \
diff --git a/tests/auto/other/other.pro b/tests/auto/other/other.pro
index bd3997f8c9..9f7d45e562 100644
--- a/tests/auto/other/other.pro
+++ b/tests/auto/other/other.pro
@@ -24,6 +24,7 @@ SUBDIRS=\
qprocess_and_guieventloop \
qtokenautomaton \
windowsmobile \
+ toolsupport \
!qtHaveModule(widgets): SUBDIRS -= \
baselineexample \
diff --git a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
index ef70509541..af0a0b446e 100644
--- a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
+++ b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
@@ -41,13 +41,7 @@
# include <servprov.h>
# include <winuser.h>
# ifdef QT_SUPPORTS_IACCESSIBLE2
-# include <Accessible2.h>
-# include <AccessibleAction.h>
-# include <AccessibleComponent.h>
-# include <AccessibleEditableText.h>
-# include <AccessibleText.h>
-# include <AccessibleTable2.h>
-# include <AccessibleTableCell.h>
+# include <ia2_api_all.h>
# endif
#endif
#include <QtTest/QtTest>
diff --git a/tests/auto/other/toolsupport/toolsupport.pro b/tests/auto/other/toolsupport/toolsupport.pro
new file mode 100644
index 0000000000..274ead2c35
--- /dev/null
+++ b/tests/auto/other/toolsupport/toolsupport.pro
@@ -0,0 +1,4 @@
+CONFIG += testcase parallel_test
+TARGET = tst_toolsupport
+QT = testlib core-private
+SOURCES = $$PWD/tst_toolsupport.cpp
diff --git a/tests/auto/other/toolsupport/tst_toolsupport.cpp b/tests/auto/other/toolsupport/tst_toolsupport.cpp
new file mode 100644
index 0000000000..d4ee3f4c50
--- /dev/null
+++ b/tests/auto/other/toolsupport/tst_toolsupport.cpp
@@ -0,0 +1,153 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#include <QtTest>
+
+// Don't do this at home. This is test code, not production.
+#define protected public
+#define private public
+
+#include <private/qdatetime_p.h>
+#include <private/qfile_p.h>
+#include <private/qfileinfo_p.h>
+#include <private/qobject_p.h>
+#include <qobject.h>
+
+#if defined(Q_CC_GNU) || defined(Q_CC_MSVC)
+#define RUN_MEMBER_OFFSET_TEST 1
+#else
+#define RUN_MEMBER_OFFSET_TEST 0
+#endif
+
+#if RUN_MEMBER_OFFSET_TEST
+template <typename T, typename K>
+size_t pmm_to_offsetof(T K:: *pmm)
+{
+#ifdef Q_CC_MSVC
+ // Even on 64 bit MSVC uses 4 byte offsets.
+ quint32 ret;
+#else
+ size_t ret;
+#endif
+ Q_STATIC_ASSERT(sizeof(ret) == sizeof(pmm));
+ memcpy(&ret, &pmm, sizeof(ret));
+ return ret;
+}
+#endif
+
+class tst_toolsupport : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void offsets();
+ void offsets_data();
+};
+
+void tst_toolsupport::offsets()
+{
+ QFETCH(size_t, actual);
+ QFETCH(int, expected32);
+ QFETCH(int, expected64);
+ size_t expect = sizeof(void *) == 4 ? expected32 : expected64;
+ QCOMPARE(actual, expect);
+}
+
+void tst_toolsupport::offsets_data()
+{
+ QTest::addColumn<size_t>("actual");
+ QTest::addColumn<int>("expected32");
+ QTest::addColumn<int>("expected64");
+
+ {
+ QTestData &data = QTest::newRow("sizeof(QObjectData)")
+ << sizeof(QObjectData);
+ data << 28 << 48; // vptr + 3 ptr + 2 int + ptr
+ }
+
+#if RUN_MEMBER_OFFSET_TEST
+ {
+ QTestData &data = QTest::newRow("QObjectPrivate::extraData")
+ << pmm_to_offsetof(&QObjectPrivate::extraData);
+ data << 28 << 48; // sizeof(QObjectData)
+ }
+
+ {
+ QTestData &data = QTest::newRow("QFileInfoPrivate::fileEntry")
+ << pmm_to_offsetof(&QFileInfoPrivate::fileEntry);
+ data << 4 << 8;
+ }
+
+ {
+ QTestData &data = QTest::newRow("QFileSystemEntry::filePath")
+ << pmm_to_offsetof(&QFileSystemEntry::m_filePath);
+ data << 0 << 0;
+ }
+
+#ifdef Q_OS_LINUX
+ if (sizeof(void *) == 8) {
+ QTestData &data = QTest::newRow("QFilePrivate::fileName")
+ << pmm_to_offsetof(&QFilePrivate::fileName);
+ data << -1 << 272;
+ }
+#endif
+
+ {
+#ifdef Q_OS_WIN
+ QTest::newRow("QDateTimePrivate::m_msecs")
+ << pmm_to_offsetof(&QDateTimePrivate::m_msecs) << 8 << 8;
+ QTest::newRow("QDateTimePrivate::m_spec")
+ << pmm_to_offsetof(&QDateTimePrivate::m_spec) << 16 << 16;
+ QTest::newRow("QDateTimePrivate::m_offsetFromUtc")
+ << pmm_to_offsetof(&QDateTimePrivate::m_offsetFromUtc) << 20 << 20;
+ QTest::newRow("QDateTimePrivate::m_timeZone")
+ << pmm_to_offsetof(&QDateTimePrivate::m_timeZone) << 24 << 24;
+ QTest::newRow("QDateTimePrivate::m_status")
+ << pmm_to_offsetof(&QDateTimePrivate::m_status) << 28 << 32;
+#else
+ QTest::newRow("QDateTimePrivate::m_msecs")
+ << pmm_to_offsetof(&QDateTimePrivate::m_msecs) << 4 << 8;
+ QTest::newRow("QDateTimePrivate::m_spec")
+ << pmm_to_offsetof(&QDateTimePrivate::m_spec) << 12 << 16;
+ QTest::newRow("QDateTimePrivate::m_offsetFromUtc")
+ << pmm_to_offsetof(&QDateTimePrivate::m_offsetFromUtc) << 16 << 20;
+ QTest::newRow("QDateTimePrivate::m_timeZone")
+ << pmm_to_offsetof(&QDateTimePrivate::m_timeZone) << 20 << 24;
+ QTest::newRow("QDateTimePrivate::m_status")
+ << pmm_to_offsetof(&QDateTimePrivate::m_status) << 24 << 32;
+#endif
+ }
+#endif // RUN_MEMBER_OFFSET_TEST
+}
+
+
+QTEST_APPLESS_MAIN(tst_toolsupport);
+
+#include "tst_toolsupport.moc"
+
diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp
index edb6488eaa..fe6ad6637a 100644
--- a/tests/auto/tools/moc/tst_moc.cpp
+++ b/tests/auto/tools/moc/tst_moc.cpp
@@ -572,6 +572,7 @@ private slots:
void relatedMetaObjectsInGadget();
void relatedMetaObjectsNameConflict_data();
void relatedMetaObjectsNameConflict();
+ void strignLiteralsInMacroExtension();
signals:
void sigWithUnsignedArg(unsigned foo);
@@ -3269,6 +3270,45 @@ void tst_Moc::relatedMetaObjectsNameConflict()
QCOMPARE(dependency.size(), relatedMetaObjects.size());
}
+class StringLiteralsInMacroExtension: public QObject
+{
+ Q_OBJECT
+#define Macro(F) F " " F
+ Q_CLASSINFO(Macro("String"), Macro("Literal"))
+#undef Macro
+
+#define Macro(F) F
+ Q_CLASSINFO("String" Macro("!"), "Literal" Macro("!"))
+ Q_CLASSINFO(Macro("!") "String", Macro("!") "Literal")
+#undef Macro
+
+#define Macro "foo"
+ Q_CLASSINFO("String" Macro, "Literal" Macro)
+ Q_CLASSINFO(Macro "String", Macro "Literal")
+#undef Macro
+};
+
+void tst_Moc::strignLiteralsInMacroExtension()
+{
+ const QMetaObject *mobj = &StringLiteralsInMacroExtension::staticMetaObject;
+ QCOMPARE(mobj->classInfoCount(), 5);
+
+ QCOMPARE(mobj->classInfo(0).name(), "String String");
+ QCOMPARE(mobj->classInfo(0).value(), "Literal Literal");
+
+ QCOMPARE(mobj->classInfo(1).name(), "String!");
+ QCOMPARE(mobj->classInfo(1).value(), "Literal!");
+
+ QCOMPARE(mobj->classInfo(2).name(), "!String");
+ QCOMPARE(mobj->classInfo(2).value(), "!Literal");
+
+ QCOMPARE(mobj->classInfo(3).name(), "Stringfoo");
+ QCOMPARE(mobj->classInfo(3).value(), "Literalfoo");
+
+ QCOMPARE(mobj->classInfo(4).name(), "fooString");
+ QCOMPARE(mobj->classInfo(4).value(), "fooLiteral");
+}
+
QTEST_MAIN(tst_Moc)
// the generated code must compile with QT_NO_KEYWORDS
diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
index 250790d9fa..04852721db 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
@@ -2110,8 +2110,7 @@ void tst_QGraphicsView::sendEvent()
QCOMPARE(item->events.at(item->events.size() - 2), QEvent::GraphicsSceneMouseRelease);
QCOMPARE(item->events.at(item->events.size() - 1), QEvent::UngrabMouse);
- QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_Space, 0);
- QApplication::sendEvent(view.viewport(), &keyPress);
+ QTest::keyPress(view.viewport(), Qt::Key_Space);
QCOMPARE(item->events.size(), 9);
QCOMPARE(item->events.at(item->events.size() - 2), QEvent::ShortcutOverride);
QCOMPARE(item->events.last(), QEvent::KeyPress);
diff --git a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
index 3f8b8ec067..f2a40576f6 100644
--- a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
+++ b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
@@ -518,11 +518,16 @@ void tst_QAbstractItemView::basic_tests(TestView *view)
// setIconSize
view->setIconSize(QSize(16, 16));
QCOMPARE(view->iconSize(), QSize(16, 16));
+ QSignalSpy spy(view, &QAbstractItemView::iconSizeChanged);
+ QVERIFY(spy.isValid());
view->setIconSize(QSize(32, 32));
QCOMPARE(view->iconSize(), QSize(32, 32));
+ QCOMPARE(spy.count(), 1);
+ QCOMPARE(spy.at(0).at(0).value<QSize>(), QSize(32, 32));
// Should this happen?
view->setIconSize(QSize(-1, -1));
QCOMPARE(view->iconSize(), QSize(-1, -1));
+ QCOMPARE(spy.count(), 2);
QCOMPARE(view->currentIndex(), QModelIndex());
QCOMPARE(view->rootIndex(), QModelIndex());
diff --git a/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp b/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp
index 2c3fdb1baa..1616b08fb2 100644
--- a/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp
+++ b/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp
@@ -30,9 +30,12 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <QtGui/QtGui>
-#include <QtWidgets/QtWidgets>
-#include <QtTest/QtTest>
+#include <QDataWidgetMapper>
+#include <QStandardItemModel>
+#include <QLineEdit>
+#include <QComboBox>
+#include <QTest>
+#include <QSignalSpy>
class tst_QDataWidgetMapper: public QObject
{
diff --git a/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp b/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp
index 6428bbba10..428b2f0c42 100644
--- a/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp
+++ b/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp
@@ -123,7 +123,7 @@ private slots:
void task258949_keypressHangup();
void QTBUG8086_currentItemChangedOnClick();
void QTBUG14363_completerWithAnyKeyPressedEditTriggers();
-
+ void mimeData();
protected slots:
void rowsAboutToBeInserted(const QModelIndex &parent, int first, int last)
@@ -1082,6 +1082,9 @@ public:
Q_UNUSED(item);
return QListWidget::state() == QListWidget::EditingState;
}
+
+ using QListWidget::mimeData;
+ using QListWidget::indexFromItem;
};
void tst_QListWidget::closeEditor()
@@ -1662,7 +1665,57 @@ void tst_QListWidget::QTBUG14363_completerWithAnyKeyPressedEditTriggers()
QCOMPARE(le->completer()->currentCompletion(), QString("completer"));
}
+void tst_QListWidget::mimeData()
+{
+ TestListWidget list;
+
+ for (int x = 0; x < 10; ++x) {
+ QListWidgetItem *item = new QListWidgetItem(QStringLiteral("123"));
+ list.addItem(item);
+ }
+
+ QList<QListWidgetItem *> tableWidgetItemList;
+ QModelIndexList modelIndexList;
+
+ // do these checks more than once to ensure that the "cached indexes" work as expected
+ QVERIFY(!list.mimeData(tableWidgetItemList));
+ QVERIFY(!list.model()->mimeData(modelIndexList));
+ QVERIFY(!list.model()->mimeData(modelIndexList));
+ QVERIFY(!list.mimeData(tableWidgetItemList));
+
+ tableWidgetItemList << list.item(1);
+ modelIndexList << list.indexFromItem(list.item(1));
+
+ QMimeData *data;
+
+ QVERIFY(data = list.mimeData(tableWidgetItemList));
+ delete data;
+ QVERIFY(data = list.model()->mimeData(modelIndexList));
+ delete data;
+
+ QVERIFY(data = list.model()->mimeData(modelIndexList));
+ delete data;
+
+ QVERIFY(data = list.mimeData(tableWidgetItemList));
+ delete data;
+
+ // check the saved data is actually the same
+
+ QMimeData *data2;
+
+ data = list.mimeData(tableWidgetItemList);
+ data2 = list.model()->mimeData(modelIndexList);
+
+ const QString format = QStringLiteral("application/x-qabstractitemmodeldatalist");
+
+ QVERIFY(data->hasFormat(format));
+ QVERIFY(data2->hasFormat(format));
+ QVERIFY(data->data(format) == data2->data(format));
+
+ delete data;
+ delete data2;
+}
QTEST_MAIN(tst_QListWidget)
#include "tst_qlistwidget.moc"
diff --git a/tests/auto/widgets/itemviews/qtablewidget/tst_qtablewidget.cpp b/tests/auto/widgets/itemviews/qtablewidget/tst_qtablewidget.cpp
index 8335497c6c..de88e832aa 100644
--- a/tests/auto/widgets/itemviews/qtablewidget/tst_qtablewidget.cpp
+++ b/tests/auto/widgets/itemviews/qtablewidget/tst_qtablewidget.cpp
@@ -93,6 +93,7 @@ private slots:
void task219380_removeLastRow();
void task262056_sortDuplicate();
void itemWithHeaderItems();
+ void mimeData();
private:
QTableWidget *testWidget;
@@ -1497,5 +1498,72 @@ void tst_QTableWidget::itemWithHeaderItems()
QCOMPARE(table.item(0, 1), static_cast<QTableWidgetItem *>(0));
}
+class TestTableWidget : public QTableWidget
+{
+ Q_OBJECT
+public:
+ TestTableWidget(int rows, int columns, QWidget *parent = 0)
+ : QTableWidget(rows, columns, parent)
+ {
+ }
+
+ using QTableWidget::mimeData;
+ using QTableWidget::indexFromItem;
+};
+
+void tst_QTableWidget::mimeData()
+{
+ TestTableWidget table(10, 10);
+
+ for (int x = 0; x < 10; ++x) {
+ for (int y = 0; y < 10; ++y) {
+ QTableWidgetItem *item = new QTableWidgetItem(QStringLiteral("123"));
+ table.setItem(y, x, item);
+ }
+ }
+
+ QList<QTableWidgetItem *> tableWidgetItemList;
+ QModelIndexList modelIndexList;
+
+ // do these checks more than once to ensure that the "cached indexes" work as expected
+ QVERIFY(!table.mimeData(tableWidgetItemList));
+ QVERIFY(!table.model()->mimeData(modelIndexList));
+ QVERIFY(!table.model()->mimeData(modelIndexList));
+ QVERIFY(!table.mimeData(tableWidgetItemList));
+
+ tableWidgetItemList << table.item(1, 1);
+ modelIndexList << table.indexFromItem(table.item(1, 1));
+
+ QMimeData *data;
+
+ QVERIFY(data = table.mimeData(tableWidgetItemList));
+ delete data;
+
+ QVERIFY(data = table.model()->mimeData(modelIndexList));
+ delete data;
+
+ QVERIFY(data = table.model()->mimeData(modelIndexList));
+ delete data;
+
+ QVERIFY(data = table.mimeData(tableWidgetItemList));
+ delete data;
+
+ // check the saved data is actually the same
+
+ QMimeData *data2;
+
+ data = table.mimeData(tableWidgetItemList);
+ data2 = table.model()->mimeData(modelIndexList);
+
+ const QString format = QStringLiteral("application/x-qabstractitemmodeldatalist");
+
+ QVERIFY(data->hasFormat(format));
+ QVERIFY(data2->hasFormat(format));
+ QVERIFY(data->data(format) == data2->data(format));
+
+ delete data;
+ delete data2;
+}
+
QTEST_MAIN(tst_QTableWidget)
#include "tst_qtablewidget.moc"
diff --git a/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp b/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp
index 1d6f577192..0691801553 100644
--- a/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp
+++ b/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp
@@ -42,6 +42,7 @@
#include <qdebug.h>
#include <qstring.h>
#include <qshortcut.h>
+#include <qscreen.h>
class AccelForm;
QT_BEGIN_NAMESPACE
@@ -119,6 +120,7 @@ private slots:
void keypressConsumption();
void unicodeCompare();
void context();
+ void duplicatedShortcutOverride();
protected:
static Qt::KeyboardModifiers toButtons( int key );
@@ -1082,6 +1084,36 @@ void tst_QShortcut::context()
clearAllShortcuts();
}
+// QTBUG-38986, do not generate duplicated QEvent::ShortcutOverride in event processing.
+class OverrideCountingWidget : public QWidget
+{
+public:
+ OverrideCountingWidget(QWidget *parent = 0) : QWidget(parent), overrideCount(0) {}
+
+ int overrideCount;
+
+ bool event(QEvent *e) Q_DECL_OVERRIDE
+ {
+ if (e->type() == QEvent::ShortcutOverride)
+ overrideCount++;
+ return QWidget::event(e);
+ }
+};
+
+void tst_QShortcut::duplicatedShortcutOverride()
+{
+ OverrideCountingWidget w;
+ w.setWindowTitle(Q_FUNC_INFO);
+ w.resize(200, 200);
+ w.move(QGuiApplication::primaryScreen()->availableGeometry().center() - QPoint(100, 100));
+ w.show();
+ QApplication::setActiveWindow(&w);
+ QVERIFY(QTest::qWaitForWindowActive(&w));
+ QTest::keyPress(w.windowHandle(), Qt::Key_A);
+ QCoreApplication::processEvents();
+ QCOMPARE(w.overrideCount, 1);
+}
+
// ------------------------------------------------------------------
// Element Testing helper functions ---------------------------------
// ------------------------------------------------------------------
@@ -1226,7 +1258,7 @@ void tst_QShortcut::testElement()
setupShortcut(testWidget, txt, k1, k2, k3, k4);
} else {
sendKeyEvents(k1, c1, k2, c2, k3, c3, k4, c4);
- QCOMPARE(currentResult, result);
+ QCOMPARE((int)currentResult, (int)result);
}
}
diff --git a/tests/auto/widgets/kernel/qwidgetmetatype/tst_qwidgetmetatype.cpp b/tests/auto/widgets/kernel/qwidgetmetatype/tst_qwidgetmetatype.cpp
index 917a00e6db..30b0b2b896 100644
--- a/tests/auto/widgets/kernel/qwidgetmetatype/tst_qwidgetmetatype.cpp
+++ b/tests/auto/widgets/kernel/qwidgetmetatype/tst_qwidgetmetatype.cpp
@@ -70,6 +70,7 @@ void tst_QWidgetMetaType::metaObject()
QCOMPARE(QMetaType::metaObjectForType(qMetaTypeId<QWidget*>()), &QWidget::staticMetaObject);
QCOMPARE(QMetaType::metaObjectForType(qMetaTypeId<QLabel*>()), &QLabel::staticMetaObject);
QCOMPARE(QMetaType::metaObjectForType(qMetaTypeId<CustomWidget*>()), &CustomWidget::staticMetaObject);
+ QCOMPARE(QMetaType::metaObjectForType(qMetaTypeId<QSizePolicy>()), &QSizePolicy::staticMetaObject);
}
QTEST_MAIN(tst_QWidgetMetaType)
diff --git a/tests/auto/widgets/widgets/qframe/.gitignore b/tests/auto/widgets/widgets/qframe/.gitignore
new file mode 100644
index 0000000000..d01744a6bd
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/.gitignore
@@ -0,0 +1 @@
+tst_qframe
diff --git a/tests/auto/widgets/widgets/qframe/images/box_noshadow_0_0.png b/tests/auto/widgets/widgets/qframe/images/box_noshadow_0_0.png
new file mode 100644
index 0000000000..f1d6392779
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_noshadow_0_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_noshadow_0_1.png b/tests/auto/widgets/widgets/qframe/images/box_noshadow_0_1.png
new file mode 100644
index 0000000000..f1d6392779
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_noshadow_0_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_noshadow_0_2.png b/tests/auto/widgets/widgets/qframe/images/box_noshadow_0_2.png
new file mode 100644
index 0000000000..f1d6392779
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_noshadow_0_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_noshadow_1_0.png b/tests/auto/widgets/widgets/qframe/images/box_noshadow_1_0.png
new file mode 100644
index 0000000000..0cc9090e3b
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_noshadow_1_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_noshadow_1_1.png b/tests/auto/widgets/widgets/qframe/images/box_noshadow_1_1.png
new file mode 100644
index 0000000000..0cc9090e3b
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_noshadow_1_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_noshadow_1_2.png b/tests/auto/widgets/widgets/qframe/images/box_noshadow_1_2.png
new file mode 100644
index 0000000000..0cc9090e3b
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_noshadow_1_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_noshadow_2_0.png b/tests/auto/widgets/widgets/qframe/images/box_noshadow_2_0.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_noshadow_2_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_noshadow_2_1.png b/tests/auto/widgets/widgets/qframe/images/box_noshadow_2_1.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_noshadow_2_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_noshadow_2_2.png b/tests/auto/widgets/widgets/qframe/images/box_noshadow_2_2.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_noshadow_2_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_plain_0_0.png b/tests/auto/widgets/widgets/qframe/images/box_plain_0_0.png
new file mode 100644
index 0000000000..f1d6392779
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_plain_0_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_plain_0_1.png b/tests/auto/widgets/widgets/qframe/images/box_plain_0_1.png
new file mode 100644
index 0000000000..f1d6392779
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_plain_0_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_plain_0_2.png b/tests/auto/widgets/widgets/qframe/images/box_plain_0_2.png
new file mode 100644
index 0000000000..f1d6392779
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_plain_0_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_plain_1_0.png b/tests/auto/widgets/widgets/qframe/images/box_plain_1_0.png
new file mode 100644
index 0000000000..0cc9090e3b
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_plain_1_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_plain_1_1.png b/tests/auto/widgets/widgets/qframe/images/box_plain_1_1.png
new file mode 100644
index 0000000000..0cc9090e3b
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_plain_1_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_plain_1_2.png b/tests/auto/widgets/widgets/qframe/images/box_plain_1_2.png
new file mode 100644
index 0000000000..0cc9090e3b
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_plain_1_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_plain_2_0.png b/tests/auto/widgets/widgets/qframe/images/box_plain_2_0.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_plain_2_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_plain_2_1.png b/tests/auto/widgets/widgets/qframe/images/box_plain_2_1.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_plain_2_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_plain_2_2.png b/tests/auto/widgets/widgets/qframe/images/box_plain_2_2.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_plain_2_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_raised_0_0.png b/tests/auto/widgets/widgets/qframe/images/box_raised_0_0.png
new file mode 100644
index 0000000000..f1d6392779
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_raised_0_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_raised_0_1.png b/tests/auto/widgets/widgets/qframe/images/box_raised_0_1.png
new file mode 100644
index 0000000000..b2ab941d30
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_raised_0_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_raised_0_2.png b/tests/auto/widgets/widgets/qframe/images/box_raised_0_2.png
new file mode 100644
index 0000000000..21ebe53eff
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_raised_0_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_raised_1_0.png b/tests/auto/widgets/widgets/qframe/images/box_raised_1_0.png
new file mode 100644
index 0000000000..4f097cee48
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_raised_1_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_raised_1_1.png b/tests/auto/widgets/widgets/qframe/images/box_raised_1_1.png
new file mode 100644
index 0000000000..86f9ed6186
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_raised_1_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_raised_1_2.png b/tests/auto/widgets/widgets/qframe/images/box_raised_1_2.png
new file mode 100644
index 0000000000..51a7899d05
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_raised_1_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_raised_2_0.png b/tests/auto/widgets/widgets/qframe/images/box_raised_2_0.png
new file mode 100644
index 0000000000..8c3769c32d
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_raised_2_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_raised_2_1.png b/tests/auto/widgets/widgets/qframe/images/box_raised_2_1.png
new file mode 100644
index 0000000000..81e0c2a152
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_raised_2_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_raised_2_2.png b/tests/auto/widgets/widgets/qframe/images/box_raised_2_2.png
new file mode 100644
index 0000000000..107272d0b9
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_raised_2_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_sunken_0_0.png b/tests/auto/widgets/widgets/qframe/images/box_sunken_0_0.png
new file mode 100644
index 0000000000..f1d6392779
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_sunken_0_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_sunken_0_1.png b/tests/auto/widgets/widgets/qframe/images/box_sunken_0_1.png
new file mode 100644
index 0000000000..b2ab941d30
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_sunken_0_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_sunken_0_2.png b/tests/auto/widgets/widgets/qframe/images/box_sunken_0_2.png
new file mode 100644
index 0000000000..21ebe53eff
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_sunken_0_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_sunken_1_0.png b/tests/auto/widgets/widgets/qframe/images/box_sunken_1_0.png
new file mode 100644
index 0000000000..6905baa1fd
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_sunken_1_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_sunken_1_1.png b/tests/auto/widgets/widgets/qframe/images/box_sunken_1_1.png
new file mode 100644
index 0000000000..9d5440b3aa
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_sunken_1_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_sunken_1_2.png b/tests/auto/widgets/widgets/qframe/images/box_sunken_1_2.png
new file mode 100644
index 0000000000..17eb7f59c0
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_sunken_1_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_sunken_2_0.png b/tests/auto/widgets/widgets/qframe/images/box_sunken_2_0.png
new file mode 100644
index 0000000000..a6ccd54a39
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_sunken_2_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_sunken_2_1.png b/tests/auto/widgets/widgets/qframe/images/box_sunken_2_1.png
new file mode 100644
index 0000000000..3736bf6c99
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_sunken_2_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/box_sunken_2_2.png b/tests/auto/widgets/widgets/qframe/images/box_sunken_2_2.png
new file mode 100644
index 0000000000..5750751c58
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/box_sunken_2_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_0.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_1.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_2.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_0_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_0.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_1.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_2.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_1_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_0.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_1.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_2.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_noshadow_2_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_0.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_1.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_2.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_0_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_0.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_1.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_2.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_1_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_0.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_1.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_2.png
new file mode 100644
index 0000000000..61f683df52
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_plain_2_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_0.png
new file mode 100644
index 0000000000..a75833c89c
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_1.png
new file mode 100644
index 0000000000..a75833c89c
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_2.png
new file mode 100644
index 0000000000..a75833c89c
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_0_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_0.png
new file mode 100644
index 0000000000..a75833c89c
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_1.png
new file mode 100644
index 0000000000..a75833c89c
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_2.png
new file mode 100644
index 0000000000..a75833c89c
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_1_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_0.png
new file mode 100644
index 0000000000..a75833c89c
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_1.png
new file mode 100644
index 0000000000..a75833c89c
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_2.png
new file mode 100644
index 0000000000..a75833c89c
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_raised_2_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_0.png
new file mode 100644
index 0000000000..d656ac56f0
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_1.png
new file mode 100644
index 0000000000..d656ac56f0
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_2.png
new file mode 100644
index 0000000000..d656ac56f0
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_0_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_0.png
new file mode 100644
index 0000000000..d656ac56f0
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_1.png
new file mode 100644
index 0000000000..d656ac56f0
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_2.png
new file mode 100644
index 0000000000..d656ac56f0
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_1_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_0.png b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_0.png
new file mode 100644
index 0000000000..d656ac56f0
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_0.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_1.png b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_1.png
new file mode 100644
index 0000000000..d656ac56f0
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_1.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_2.png b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_2.png
new file mode 100644
index 0000000000..d656ac56f0
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/images/winpanel_sunken_2_2.png
Binary files differ
diff --git a/tests/auto/widgets/widgets/qframe/qframe.pro b/tests/auto/widgets/widgets/qframe/qframe.pro
new file mode 100644
index 0000000000..1da7eb1d11
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/qframe.pro
@@ -0,0 +1,8 @@
+CONFIG += testcase
+TARGET = tst_qframe
+
+QT += testlib widgets
+
+SOURCES += tst_qframe.cpp
+
+TESTDATA += images/*
diff --git a/tests/auto/widgets/widgets/qframe/tst_qframe.cpp b/tests/auto/widgets/widgets/qframe/tst_qframe.cpp
new file mode 100644
index 0000000000..ee6b3313a6
--- /dev/null
+++ b/tests/auto/widgets/widgets/qframe/tst_qframe.cpp
@@ -0,0 +1,185 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QTest>
+#include <QFrame>
+#include <QStyleOptionFrame>
+#include <QPixmap>
+#include <QStyle>
+#include <QStyleFactory>
+
+class tst_QFrame : public QObject
+{
+ Q_OBJECT
+private slots:
+ void testDefaults();
+ void testInitStyleOption_data();
+ void testInitStyleOption();
+ void testPainting_data();
+ void testPainting();
+};
+
+Q_DECLARE_METATYPE(QFrame::Shape)
+Q_DECLARE_METATYPE(QFrame::Shadow)
+
+void tst_QFrame::testDefaults()
+{
+ QFrame frame;
+ QCOMPARE(frame.frameStyle(), int(QFrame::NoFrame | QFrame::Plain));
+ frame.setFrameShape(QFrame::Box);
+ QCOMPARE(frame.frameStyle(), int(QFrame::Box | QFrame::Plain));
+ frame.setFrameStyle(QFrame::Box); // no shadow specified!
+ QCOMPARE(frame.frameStyle(), int(QFrame::Box));
+}
+
+static void provideFrameData()
+{
+ QTest::addColumn<QString>("basename");
+ QTest::addColumn<int>("lineWidth");
+ QTest::addColumn<int>("midLineWidth");
+ QTest::addColumn<QFrame::Shape>("shape");
+ QTest::addColumn<QFrame::Shadow>("shadow");
+
+ for (int lineWidth = 0; lineWidth < 3; ++lineWidth) {
+ for (int midLineWidth = 0; midLineWidth < 3; ++midLineWidth) {
+ QTest::newRow(qPrintable(QStringLiteral("box_noshadow_%1_%2").arg(lineWidth).arg(midLineWidth)))
+ << "box_noshadow" << lineWidth << midLineWidth << QFrame::Box << (QFrame::Shadow)0;
+ QTest::newRow(qPrintable(QStringLiteral("box_plain_%1_%2").arg(lineWidth).arg(midLineWidth)))
+ << "box_plain" << lineWidth << midLineWidth << QFrame::Box << QFrame::Plain;
+ QTest::newRow(qPrintable(QStringLiteral("box_raised_%1_%2").arg(lineWidth).arg(midLineWidth)))
+ << "box_raised" << lineWidth << midLineWidth << QFrame::Box << QFrame::Raised;
+ QTest::newRow(qPrintable(QStringLiteral("box_sunken_%1_%2").arg(lineWidth).arg(midLineWidth)))
+ << "box_sunken" << lineWidth << midLineWidth << QFrame::Box << QFrame::Sunken;
+
+ QTest::newRow(qPrintable(QStringLiteral("winpanel_noshadow_%1_%2").arg(lineWidth).arg(midLineWidth)))
+ << "winpanel_noshadow" << lineWidth << midLineWidth << QFrame::WinPanel << (QFrame::Shadow)0;
+ QTest::newRow(qPrintable(QStringLiteral("winpanel_plain_%1_%2").arg(lineWidth).arg(midLineWidth)))
+ << "winpanel_plain" << lineWidth << midLineWidth << QFrame::WinPanel << QFrame::Plain;
+ QTest::newRow(qPrintable(QStringLiteral("winpanel_raised_%1_%2").arg(lineWidth).arg(midLineWidth)))
+ << "winpanel_raised" << lineWidth << midLineWidth << QFrame::WinPanel << QFrame::Raised;
+ QTest::newRow(qPrintable(QStringLiteral("winpanel_sunken_%1_%2").arg(lineWidth).arg(midLineWidth)))
+ << "winpanel_sunken" << lineWidth << midLineWidth << QFrame::WinPanel << QFrame::Sunken;
+ }
+ }
+}
+
+class Frame : public QFrame
+{
+public:
+ using QFrame::initStyleOption;
+};
+
+void tst_QFrame::testInitStyleOption_data()
+{
+ provideFrameData();
+}
+
+void tst_QFrame::testInitStyleOption()
+{
+ QFETCH(QString, basename);
+ QFETCH(int, lineWidth);
+ QFETCH(int, midLineWidth);
+ QFETCH(QFrame::Shape, shape);
+ QFETCH(QFrame::Shadow, shadow);
+
+ Frame frame;
+ frame.setFrameStyle(shape | shadow);
+ frame.setLineWidth(lineWidth);
+ frame.setMidLineWidth(midLineWidth);
+ frame.resize(16, 16);
+
+ QStyleOptionFrame styleOption;
+ frame.initStyleOption(&styleOption);
+
+ switch (shape) {
+ case QFrame::Box:
+ case QFrame::Panel:
+ case QFrame::StyledPanel:
+ case QFrame::HLine:
+ case QFrame::VLine:
+ QCOMPARE(styleOption.lineWidth, lineWidth);
+ QCOMPARE(styleOption.midLineWidth, midLineWidth);
+ break;
+
+ case QFrame::NoFrame:
+ case QFrame::WinPanel:
+ QCOMPARE(styleOption.lineWidth, frame.frameWidth());
+ QCOMPARE(styleOption.midLineWidth, 0);
+ break;
+ }
+
+ QCOMPARE(styleOption.features, QStyleOptionFrame::None);
+ QCOMPARE(styleOption.frameShape, shape);
+ if (shadow == QFrame::Sunken)
+ QVERIFY(styleOption.state & QStyle::State_Sunken);
+ else if (shadow == QFrame::Raised)
+ QVERIFY(styleOption.state & QStyle::State_Raised);
+}
+
+QT_BEGIN_NAMESPACE
+Q_GUI_EXPORT QPalette qt_fusionPalette();
+QT_END_NAMESPACE
+
+void tst_QFrame::testPainting_data()
+{
+ provideFrameData();
+}
+
+void tst_QFrame::testPainting()
+{
+ QFETCH(QString, basename);
+ QFETCH(int, lineWidth);
+ QFETCH(int, midLineWidth);
+ QFETCH(QFrame::Shape, shape);
+ QFETCH(QFrame::Shadow, shadow);
+
+ QFrame frame;
+ frame.setStyle(QStyleFactory::create(QStringLiteral("fusion")));
+ frame.setPalette(qt_fusionPalette());
+ frame.setFrameStyle(shape | shadow);
+ frame.setLineWidth(lineWidth);
+ frame.setMidLineWidth(midLineWidth);
+ frame.resize(16, 16);
+
+ const QPixmap pixmap = frame.grab();
+
+ const QString referenceFilePath = QFINDTESTDATA(QStringLiteral("images/%1_%2_%3.png").arg(basename).arg(lineWidth).arg(midLineWidth));
+ const QPixmap referencePixmap(referenceFilePath);
+ QVERIFY2(!referencePixmap.isNull(), qPrintable(QStringLiteral("Could not load reference pixmap %1").arg(referenceFilePath)));
+ QCOMPARE(pixmap, referencePixmap);
+}
+
+QTEST_MAIN(tst_QFrame)
+
+#include "tst_qframe.moc"
diff --git a/tests/auto/widgets/widgets/widgets.pro b/tests/auto/widgets/widgets/widgets.pro
index 423b3952d4..0651583867 100644
--- a/tests/auto/widgets/widgets/widgets.pro
+++ b/tests/auto/widgets/widgets/widgets.pro
@@ -16,6 +16,7 @@ SUBDIRS=\
qdoublespinbox \
qfocusframe \
qfontcombobox \
+ qframe \
qgroupbox \
qkeysequenceedit \
qlabel \
diff --git a/tests/auto/xml/dom/qdom/tst_qdom.cpp b/tests/auto/xml/dom/qdom/tst_qdom.cpp
index 20143b4ee1..80cf69b7fc 100644
--- a/tests/auto/xml/dom/qdom/tst_qdom.cpp
+++ b/tests/auto/xml/dom/qdom/tst_qdom.cpp
@@ -718,6 +718,9 @@ void tst_QDom::ownerDocument()
OWNERDOCUMENT_IMPORTNODE_TEST( QDomEntityReference, doc2.createEntityReference( "foo" ) );
OWNERDOCUMENT_IMPORTNODE_TEST( QDomProcessingInstruction, doc2.createProcessingInstruction( "foo", "bar" ) );
OWNERDOCUMENT_IMPORTNODE_TEST( QDomText, doc2.createTextNode( "foo" ) );
+
+ // QTBUG-12927
+ QVERIFY(doc2.importNode(QDomNode(), deep).isNull());
}
}
diff --git a/tests/benchmarks/corelib/io/io.pro b/tests/benchmarks/corelib/io/io.pro
index 487171ac5e..38a1f6b15b 100644
--- a/tests/benchmarks/corelib/io/io.pro
+++ b/tests/benchmarks/corelib/io/io.pro
@@ -6,5 +6,6 @@ SUBDIRS = \
qfileinfo \
qiodevice \
qprocess \
- qtemporaryfile
+ qtemporaryfile \
+ qtextstream
diff --git a/tests/benchmarks/corelib/io/qtextstream/main.cpp b/tests/benchmarks/corelib/io/qtextstream/main.cpp
new file mode 100644
index 0000000000..45c0297516
--- /dev/null
+++ b/tests/benchmarks/corelib/io/qtextstream/main.cpp
@@ -0,0 +1,133 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 David Faure <david.faure@kdab.com>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QDebug>
+#include <QIODevice>
+#include <QString>
+#include <QBuffer>
+#include <qtest.h>
+
+class tst_qtextstream : public QObject
+{
+ Q_OBJECT
+private slots:
+ void writeSingleChar_data();
+ void writeSingleChar();
+
+private:
+};
+
+enum Output { StringOutput, DeviceOutput };
+Q_DECLARE_METATYPE(Output);
+
+enum Input { CharStarInput, QStringInput, CharInput, QCharInput };
+Q_DECLARE_METATYPE(Input);
+
+void tst_qtextstream::writeSingleChar_data()
+{
+ QTest::addColumn<Output>("output");
+ QTest::addColumn<Input>("input");
+
+ QTest::newRow("string_charstar") << StringOutput << CharStarInput;
+ QTest::newRow("string_string") << StringOutput << QStringInput;
+ QTest::newRow("string_char") << StringOutput << CharInput;
+ QTest::newRow("string_qchar") << StringOutput << QCharInput;
+ QTest::newRow("device_charstar") << DeviceOutput << CharStarInput;
+ QTest::newRow("device_string") << DeviceOutput << QStringInput;
+ QTest::newRow("device_char") << DeviceOutput << CharInput;
+ QTest::newRow("device_qchar") << DeviceOutput << QCharInput;
+}
+
+void tst_qtextstream::writeSingleChar()
+{
+ QFETCH(Output, output);
+ QFETCH(Input, input);
+
+ QString str;
+ QBuffer buffer;
+ QTextStream stream;
+ if (output == StringOutput) {
+ stream.setString(&str, QIODevice::WriteOnly);
+ } else {
+ QVERIFY(buffer.open(QIODevice::WriteOnly));
+ stream.setDevice(&buffer);
+ }
+ // Test many different ways to write a single char into a QTextStream
+ QString inputString = "h";
+ const int amount = 100000;
+ switch (input) {
+ case CharStarInput:
+ QBENCHMARK {
+ for (qint64 i = 0; i < amount; ++i)
+ stream << "h";
+ }
+ break;
+ case QStringInput:
+ QBENCHMARK {
+ for (qint64 i = 0; i < amount; ++i)
+ stream << inputString;
+ }
+ break;
+ case CharInput:
+ QBENCHMARK {
+ for (qint64 i = 0; i < amount; ++i)
+ stream << 'h';
+ }
+ break;
+ case QCharInput:
+ QBENCHMARK {
+ for (qint64 i = 0; i < amount; ++i)
+ stream << QChar('h');
+ }
+ break;
+ }
+ QString result;
+ if (output == StringOutput)
+ result = str;
+ else
+ result = QString(buffer.data());
+
+ QCOMPARE(result.left(10), QString("hhhhhhhhhh"));
+}
+
+QTEST_MAIN(tst_qtextstream)
+
+#include "main.moc"
diff --git a/tests/benchmarks/corelib/io/qtextstream/qtextstream.pro b/tests/benchmarks/corelib/io/qtextstream/qtextstream.pro
new file mode 100644
index 0000000000..3dcba655f2
--- /dev/null
+++ b/tests/benchmarks/corelib/io/qtextstream/qtextstream.pro
@@ -0,0 +1,9 @@
+TEMPLATE = app
+TARGET = tst_bench_qtemporaryfile
+
+QT = core testlib
+
+CONFIG += release
+
+SOURCES += main.cpp
+DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp
index 9403c3fbb4..53cf26d0f1 100644
--- a/tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp
+++ b/tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp
@@ -45,6 +45,8 @@ public:
private slots:
void typeBuiltin_data();
void typeBuiltin();
+ void typeBuiltin_QByteArray_data();
+ void typeBuiltin_QByteArray();
void typeBuiltinNotNormalized_data();
void typeBuiltinNotNormalized();
void typeCustom();
@@ -94,6 +96,7 @@ void tst_QMetaType::typeBuiltin_data()
}
}
+// QMetaType::type(const char *)
void tst_QMetaType::typeBuiltin()
{
QFETCH(QByteArray, typeName);
@@ -104,6 +107,21 @@ void tst_QMetaType::typeBuiltin()
}
}
+void tst_QMetaType::typeBuiltin_QByteArray_data()
+{
+ typeBuiltin_data();
+}
+
+// QMetaType::type(QByteArray)
+void tst_QMetaType::typeBuiltin_QByteArray()
+{
+ QFETCH(QByteArray, typeName);
+ QBENCHMARK {
+ for (int i = 0; i < 100000; ++i)
+ QMetaType::type(typeName);
+ }
+}
+
void tst_QMetaType::typeBuiltinNotNormalized_data()
{
QTest::addColumn<QByteArray>("typeName");
diff --git a/tests/benchmarks/corelib/tools/qbytearray/main.cpp b/tests/benchmarks/corelib/tools/qbytearray/main.cpp
index e42d85f844..c9cd77cb91 100644
--- a/tests/benchmarks/corelib/tools/qbytearray/main.cpp
+++ b/tests/benchmarks/corelib/tools/qbytearray/main.cpp
@@ -41,11 +41,25 @@
class tst_qbytearray : public QObject
{
Q_OBJECT
+ QByteArray sourcecode;
private slots:
+ void initTestCase();
void append();
void append_data();
+
+ void latin1Uppercasing_qt54();
+ void latin1Uppercasing_xlate();
+ void latin1Uppercasing_xlate_checked();
+ void latin1Uppercasing_category();
+ void latin1Uppercasing_bitcheck();
};
+void tst_qbytearray::initTestCase()
+{
+ QFile self(QFINDTESTDATA("main.cpp"));
+ QVERIFY(self.open(QIODevice::ReadOnly));
+ sourcecode = self.readAll();
+}
void tst_qbytearray::append_data()
{
@@ -73,6 +87,181 @@ void tst_qbytearray::append()
}
}
+void tst_qbytearray::latin1Uppercasing_qt54()
+{
+ QByteArray s = sourcecode;
+ s.detach();
+
+ // the following was copied from qbytearray.cpp (except for the QBENCHMARK macro):
+ uchar *p_orig = reinterpret_cast<uchar *>(s.data());
+ uchar *e = reinterpret_cast<uchar *>(s.end());
+
+ QBENCHMARK {
+ uchar *p = p_orig;
+ if (p) {
+ while (p != e) {
+ *p = QChar::toLower((ushort)*p);
+ p++;
+ }
+ }
+ }
+}
+
+
+/*
+#!/usr/bin/perl -l
+use feature "unicode_strings"
+for (0..255) {
+ $up = uc(chr($_));
+ $up = chr($_) if ord($up) > 0x100 || length $up > 1;
+ printf "0x%02x,", ord($up);
+ print "" if ($_ & 0xf) == 0xf;
+}
+*/
+static const uchar uppercased[256] = {
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
+ 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
+ 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
+ 0x60,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
+ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x7b,0x7c,0x7d,0x7e,0x7f,
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
+ 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
+ 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xf7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xff
+};
+void tst_qbytearray::latin1Uppercasing_xlate()
+{
+ QByteArray output = sourcecode;
+ output.detach();
+ char *dst_orig = output.data();
+ const char *src_orig = sourcecode.constBegin();
+ const char *end = sourcecode.constEnd();
+ QBENCHMARK {
+ char *dst = dst_orig;
+ for (const char *src = src_orig; src != end; ++src, ++dst)
+ *dst = uppercased[uchar(*src)];
+ }
+}
+
+void tst_qbytearray::latin1Uppercasing_xlate_checked()
+{
+ QByteArray output = sourcecode;
+ output.detach();
+ char *dst_orig = output.data();
+ const char *src_orig = sourcecode.constBegin();
+ const char *end = sourcecode.constEnd();
+ QBENCHMARK {
+ char *dst = dst_orig;
+ for (const char *src = src_orig; src != end; ++src, ++dst) {
+ uchar ch = uchar(*src);
+ uchar converted = uppercased[ch];
+ if (ch != converted)
+ *dst = converted;
+ }
+ }
+}
+
+/*
+#!/bin/perl -l
+use feature "unicode_strings";
+sub categorize($) {
+ # 'ß' and 'ÿ' are lowercase, but we cannot uppercase them
+ return 0 if $_[0] == 0xDF || $_[0] == 0xFF;
+ $ch = chr($_[0]);
+ return 2 if uc($ch) ne $ch;
+ return 1 if lc($ch) ne $ch;
+ return 0;
+}
+for (0..255) {
+ printf "%d,", categorize($_);
+ print "" if ($_ & 0xf) == 0xf;
+}
+*/
+static const char categories[256] = {
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,
+ 0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+ 2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+ 2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,0
+};
+
+void tst_qbytearray::latin1Uppercasing_category()
+{
+ QByteArray output = sourcecode;
+ output.detach();
+ char *dst_orig = output.data();
+ const char *src_orig = sourcecode.constBegin();
+ const char *end = sourcecode.constEnd();
+ QBENCHMARK {
+ char *dst = dst_orig;
+ for (const char *src = src_orig; src != end; ++src, ++dst)
+ *dst = categories[uchar(*src)] == 1 ? *src & ~0x20 : *src;
+ }
+}
+
+/*
+#!/bin/perl -l
+use feature "unicode_strings";
+sub categorize($) {
+ # 'ß' and 'ÿ' are lowercase, but we cannot uppercase them
+ return 0 if $_[0] == 0xDF || $_[0] == 0xFF;
+ $ch = chr($_[0]);
+ return 2 if uc($ch) ne $ch;
+ return 1 if lc($ch) ne $ch;
+ return 0;
+}
+for $row (0..7) {
+ $val = 0;
+ for $col (0..31) {
+ $val |= (1<<$col)
+ if categorize($row * 31 + $col) == 2;
+ }
+ printf "0x%08x,", $val;
+}
+*/
+
+static const quint32 shouldUppercase[8] = {
+ 0x00000000,0x00000000,0x00000000,0x3ffffff0,0x00000000,0x04000000,0x00000000,0xbfffff80
+};
+
+static bool bittest(const quint32 *data, uchar bit)
+{
+ static const unsigned bitsperelem = sizeof(*data) * CHAR_BIT;
+ return data[bit / bitsperelem] & (1 << (bit & (bitsperelem - 1)));
+}
+
+void tst_qbytearray::latin1Uppercasing_bitcheck()
+{
+ QByteArray output = sourcecode;
+ output.detach();
+ char *dst_orig = output.data();
+ const char *src_orig = sourcecode.constBegin();
+ const char *end = sourcecode.constEnd();
+ QBENCHMARK {
+ char *dst = dst_orig;
+ for (const char *src = src_orig; src != end; ++src, ++dst)
+ *dst = bittest(shouldUppercase, *src) ? uchar(*src) & ~0x20 : uchar(*src);
+ }
+}
+
QTEST_MAIN(tst_qbytearray)
diff --git a/tests/benchmarks/corelib/tools/qbytearray/qbytearray.pro b/tests/benchmarks/corelib/tools/qbytearray/qbytearray.pro
index 14bf1d8272..0d5e7646ad 100644
--- a/tests/benchmarks/corelib/tools/qbytearray/qbytearray.pro
+++ b/tests/benchmarks/corelib/tools/qbytearray/qbytearray.pro
@@ -2,7 +2,6 @@ TEMPLATE = app
TARGET = tst_bench_qbytearray
QT = core testlib
-CONFIG += release
SOURCES += main.cpp
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/benchmarks/corelib/tools/qstring/main.cpp b/tests/benchmarks/corelib/tools/qstring/main.cpp
index 64dfad82c9..2cd41280f1 100644
--- a/tests/benchmarks/corelib/tools/qstring/main.cpp
+++ b/tests/benchmarks/corelib/tools/qstring/main.cpp
@@ -40,18 +40,76 @@ class tst_QString: public QObject
public:
tst_QString();
private slots:
+ void section_regexp_data() { section_data_impl(); }
+ void section_regexp() { section_impl<QRegExp>(); }
+ void section_regularexpression_data() { section_data_impl(); }
+ void section_regularexpression() { section_impl<QRegularExpression>(); }
+ void section_string_data() { section_data_impl(false); }
+ void section_string() { section_impl<QString>(); }
+
void toUpper_data();
void toUpper();
void toLower_data();
void toLower();
void toCaseFolded_data();
void toCaseFolded();
+
+private:
+ void section_data_impl(bool includeRegExOnly = true);
+ template <typename RX> void section_impl();
};
tst_QString::tst_QString()
{
}
+void tst_QString::section_data_impl(bool includeRegExOnly)
+{
+ QTest::addColumn<QString>("s");
+ QTest::addColumn<QString>("sep");
+ QTest::addColumn<bool>("isRegExp");
+
+ QTest::newRow("IPv4") << QStringLiteral("192.168.0.1") << QStringLiteral(".") << false;
+ QTest::newRow("IPv6") << QStringLiteral("2001:0db8:85a3:0000:0000:8a2e:0370:7334") << QStringLiteral(":") << false;
+ if (includeRegExOnly) {
+ QTest::newRow("IPv6-reversed-roles") << QStringLiteral("2001:0db8:85a3:0000:0000:8a2e:0370:7334") << QStringLiteral("\\d+") << true;
+ QTest::newRow("IPv6-complex") << QStringLiteral("2001:0db8:85a3:0000:0000:8a2e:0370:7334") << QStringLiteral("(\\d+):\\1") << true;
+ }
+}
+
+template <typename RX>
+inline QString escape(const QString &s)
+{ return RX::escape(s); }
+
+template <>
+inline QString escape<QString>(const QString &s)
+{ return s; }
+
+template <typename RX>
+inline void optimize(RX &) {}
+
+template <>
+inline void optimize(QRegularExpression &rx)
+{ rx.optimize(); }
+
+template <typename RX>
+void tst_QString::section_impl()
+{
+ QFETCH(QString, s);
+ QFETCH(QString, sep);
+ QFETCH(bool, isRegExp);
+
+ RX rx(isRegExp ? sep : escape<RX>(sep));
+ optimize(rx);
+ for (int i = 0; i < 20; ++i)
+ (void) s.count(rx); // make (s, rx) hot
+
+ QBENCHMARK {
+ const QString result = s.section(rx, 0, 16);
+ Q_UNUSED(result);
+ }
+}
+
void tst_QString::toUpper_data()
{
QTest::addColumn<QString>("s");
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 92422c2829..bb7b83cd47 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -3302,13 +3302,9 @@ void Configure::generateQDevicePri()
deviceStream << entry << "\n";
}
if (dictionary.contains("ANDROID_SDK_ROOT") && dictionary.contains("ANDROID_NDK_ROOT")) {
- QString android_platform(dictionary.contains("ANDROID_PLATFORM")
- ? dictionary["ANDROID_PLATFORM"]
- : QString("android-9"));
deviceStream << "android_install {" << endl;
deviceStream << " DEFAULT_ANDROID_SDK_ROOT = " << formatPath(dictionary["ANDROID_SDK_ROOT"]) << endl;
deviceStream << " DEFAULT_ANDROID_NDK_ROOT = " << formatPath(dictionary["ANDROID_NDK_ROOT"]) << endl;
- deviceStream << " DEFAULT_ANDROID_PLATFORM = " << android_platform << endl;
if (QSysInfo::WordSize == 64)
deviceStream << " DEFAULT_ANDROID_NDK_HOST = windows-x86_64" << endl;
else
@@ -3318,7 +3314,16 @@ void Configure::generateQDevicePri()
: QString("armeabi-v7a"));
QString android_tc_vers(dictionary.contains("ANDROID_NDK_TOOLCHAIN_VERSION")
? dictionary["ANDROID_NDK_TOOLCHAIN_VERSION"]
- : QString("4.8"));
+ : QString("4.9"));
+
+ bool targetIs64Bit = android_arch == QString("arm64-v8a")
+ || android_arch == QString("x86_64")
+ || android_arch == QString("mips64");
+ QString android_platform(dictionary.contains("ANDROID_PLATFORM")
+ ? dictionary["ANDROID_PLATFORM"]
+ : (targetIs64Bit ? QString("android-21") : QString("android-9")));
+
+ deviceStream << " DEFAULT_ANDROID_PLATFORM = " << android_platform << endl;
deviceStream << " DEFAULT_ANDROID_TARGET_ARCH = " << android_arch << endl;
deviceStream << " DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION = " << android_tc_vers << endl;
deviceStream << "}" << endl;
diff --git a/util/glgen/glgen.pro b/util/glgen/glgen.pro
index 9208ba9e8e..11018e942d 100644
--- a/util/glgen/glgen.pro
+++ b/util/glgen/glgen.pro
@@ -9,11 +9,14 @@ TEMPLATE = app
TARGET = glgen
SOURCES += main.cpp \
- specparser.cpp \
+ xmlspecparser.cpp \
+ legacyspecparser.cpp \
codegenerator.cpp
HEADERS += \
specparser.h \
+ xmlspecparser.h \
+ legacyspecparser.h \
codegenerator.h
OTHER_FILES += \
diff --git a/util/glgen/specparser.cpp b/util/glgen/legacyspecparser.cpp
index 45726230de..6856a8f022 100644
--- a/util/glgen/specparser.cpp
+++ b/util/glgen/legacyspecparser.cpp
@@ -31,7 +31,7 @@
**
****************************************************************************/
-#include "specparser.h"
+#include "legacyspecparser.h"
#include <QDebug>
#include <QFile>
@@ -40,39 +40,36 @@
#include <QTextStream>
#ifdef SPECPARSER_DEBUG
-#define qSpecParserDebug qDebug
+#define qLegacySpecParserDebug qDebug
#else
-#define qSpecParserDebug QT_NO_QDEBUG_MACRO
+#define qLegacySpecParserDebug QT_NO_QDEBUG_MACRO
#endif
-SpecParser::SpecParser()
-{
-}
-
-void SpecParser::parse()
+bool LegacySpecParser::parse()
{
// Get the mapping form generic types to specific types suitable for use in C-headers
if (!parseTypeMap())
- return;
+ return false;
// Open up a stream on the actual OpenGL function spec file
- QFile file(m_specFileName);
+ QFile file(specFileName());
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
- qWarning() << "Failed to open spec file:" << m_specFileName << "Aborting";
- return;
+ qWarning() << "Failed to open spec file:" << specFileName() << "Aborting";
+ return false;
}
QTextStream stream(&file);
// Extract the info that we need
parseFunctions(stream);
+ return true;
}
-bool SpecParser::parseTypeMap()
+bool LegacySpecParser::parseTypeMap()
{
- QFile file(m_typeMapFileName);
+ QFile file(typeMapFileName());
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
- qWarning() << "Failed to open spec file:" << m_specFileName << "Aborting";
+ qWarning() << "Failed to open type file:" << typeMapFileName() << "Aborting";
return false;
}
@@ -95,18 +92,18 @@ bool SpecParser::parseTypeMap()
value = QStringLiteral("void");
m_typeMap.insert(key, value);
- qSpecParserDebug() << "Found type mapping from" << key << "=>" << value;
+ qLegacySpecParserDebug() << "Found type mapping from" << key << "=>" << value;
}
}
return true;
}
-void SpecParser::parseEnums()
+void LegacySpecParser::parseEnums()
{
}
-void SpecParser::parseFunctions(QTextStream &stream)
+void LegacySpecParser::parseFunctions(QTextStream &stream)
{
static QRegExp functionRegExp("^(\\w+)\\(.*\\)");
static QRegExp returnRegExp("^\\treturn\\s+(\\S+)");
@@ -160,8 +157,12 @@ void SpecParser::parseFunctions(QTextStream &stream)
versions.insert(currentVersionProfile.version);
}
- if (acceptCurrentFunctionInExtension)
- m_extensionFunctions.insert(currentCategory, currentFunction);
+ if (acceptCurrentFunctionInExtension) {
+ FunctionProfile fp;
+ fp.profile = currentVersionProfile.profile;
+ fp.function = currentFunction;
+ m_extensionFunctions.insert(currentCategory, fp);
+ }
}
// Start a new function
@@ -179,7 +180,7 @@ void SpecParser::parseFunctions(QTextStream &stream)
// Extract the function name
QString functionName = functionRegExp.cap(1);
currentFunction.name = functionName;
- qSpecParserDebug() << "Found function:" << functionName;
+ qLegacySpecParserDebug() << "Found function:" << functionName;
} else if (argumentRegExp.indexIn(line) != -1) {
// Extract info about this function argument
@@ -211,7 +212,7 @@ void SpecParser::parseFunctions(QTextStream &stream)
acceptCurrentFunctionInCore = false;
}
- qSpecParserDebug() << " argument:" << arg.type << arg.name;
+ qLegacySpecParserDebug() << " argument:" << arg.type << arg.name;
currentFunction.arguments.append(arg);
} else if (returnRegExp.indexIn(line) != -1) {
@@ -222,13 +223,13 @@ void SpecParser::parseFunctions(QTextStream &stream)
acceptCurrentFunctionInCore = false;
}
QString returnType = m_typeMap.value(returnTypeKey);
- qSpecParserDebug() << " return type:" << returnType;
+ qLegacySpecParserDebug() << " return type:" << returnType;
currentFunction.returnType = returnType;
} else if (versionRegExp.indexIn(line) != -1 && !haveVersionInfo) { // Only use version line if no other source
// Extract the OpenGL version in which this function was introduced
QString version = versionRegExp.cap(1);
- qSpecParserDebug() << " version:" << version;
+ qLegacySpecParserDebug() << " version:" << version;
QStringList parts = version.split(QLatin1Char('.'));
if (parts.size() != 2) {
qWarning() << "Found invalid version number";
@@ -251,7 +252,7 @@ void SpecParser::parseFunctions(QTextStream &stream)
} else if (categoryRegExp.indexIn(line) != -1) {
// Extract the category for this function
QString category = categoryRegExp.cap(1).simplified();
- qSpecParserDebug() << " category:" << category;
+ qLegacySpecParserDebug() << " category:" << category;
if (categoryVersionRegExp.indexIn(category) != -1) {
// Use the version info in the category in preference to the version
@@ -267,7 +268,7 @@ void SpecParser::parseFunctions(QTextStream &stream)
} else {
// Make a note of the extension name and tag this function as being part of an extension
- qSpecParserDebug() << "Found category =" << category;
+ qLegacySpecParserDebug() << "Found category =" << category;
currentCategory = category;
acceptCurrentFunctionInExtension = true;
@@ -282,7 +283,7 @@ void SpecParser::parseFunctions(QTextStream &stream)
}
} else if (extToCoreVersionRegExp.indexIn(line) != -1) {
- qSpecParserDebug() << line;
+ qLegacySpecParserDebug() << line;
int majorVersion = extToCoreVersionRegExp.cap(1).toInt();
int minorVersion = extToCoreVersionRegExp.cap(2).toInt();
extToCoreCurrentVersion.major = majorVersion;
@@ -298,7 +299,7 @@ void SpecParser::parseFunctions(QTextStream &stream)
qSort(m_versions);
}
-bool SpecParser::inDeprecationException(const QString &functionName) const
+bool LegacySpecParser::inDeprecationException(const QString &functionName) const
{
return (functionName == QStringLiteral("TexImage3D"));
}
diff --git a/util/glgen/legacyspecparser.h b/util/glgen/legacyspecparser.h
new file mode 100644
index 0000000000..63d9a9f170
--- /dev/null
+++ b/util/glgen/legacyspecparser.h
@@ -0,0 +1,78 @@
+/***************************************************************************
+**
+** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the utilities of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef LEGACYSPECPARSER_H
+#define LEGACYSPECPARSER_H
+
+#include "specparser.h"
+
+#include <QStringList>
+#include <QVariant>
+
+class QTextStream;
+
+class LegacySpecParser : public SpecParser
+{
+public:
+ virtual QList<Version> versions() const {return m_versions;}
+
+ virtual bool parse();
+
+protected:
+ const QMultiHash<VersionProfile, Function> &versionFunctions() const { return m_functions; }
+ const QMultiMap<QString, FunctionProfile> &extensionFunctions() const { return m_extensionFunctions; }
+
+private:
+ QMap<QString, QString> m_typeMap;
+ QMultiHash<VersionProfile, Function> m_functions;
+
+ QList<Version> m_versions;
+
+ // Extension support
+ QMultiMap<QString, FunctionProfile> m_extensionFunctions;
+
+ bool parseTypeMap();
+ void parseEnums();
+ void parseFunctions(QTextStream &stream);
+ bool inDeprecationException(const QString &functionName) const;
+};
+
+#endif // LEGACYSPECPARSER_H
diff --git a/util/glgen/main.cpp b/util/glgen/main.cpp
index 7552b9f465..3cc1212a69 100644
--- a/util/glgen/main.cpp
+++ b/util/glgen/main.cpp
@@ -32,22 +32,39 @@
****************************************************************************/
#include "codegenerator.h"
-#include "specparser.h"
+#include "legacyspecparser.h"
+#include "xmlspecparser.h"
+
+#include <QCommandLineParser>
int main(int argc, char *argv[])
{
- Q_UNUSED(argc);
- Q_UNUSED(argv);
+ QCoreApplication app(argc, argv);
+ QCommandLineParser cmdParser;
+
+ // flag whether to use legacy or not
+ QCommandLineOption legacyOption(QStringList() << "l" << "legacy", "Use legacy parser.");
+ cmdParser.addOption(legacyOption);
+ cmdParser.process(app);
+
+ SpecParser *parser;
+
+ if (cmdParser.isSet(legacyOption)) {
+ parser = new LegacySpecParser();
+ parser->setTypeMapFileName(QStringLiteral("gl.tm"));
+ parser->setSpecFileName(QStringLiteral("gl.spec"));
+ } else {
+ parser = new XmlSpecParser();
+ parser->setSpecFileName(QStringLiteral("gl.xml"));
+ }
- SpecParser parser;
- parser.setTypeMapFileName(QStringLiteral("gl.tm"));
- parser.setSpecFileName(QStringLiteral("gl.spec"));
- parser.parse();
+ parser->parse();
CodeGenerator generator;
- generator.setParser(&parser);
+ generator.setParser(parser);
generator.generateCoreClasses(QStringLiteral("qopenglversionfunctions"));
generator.generateExtensionClasses(QStringLiteral("qopenglextensions"));
+ delete parser;
return 0;
}
diff --git a/util/glgen/specparser.h b/util/glgen/specparser.h
index 99e33b66e9..4fedc84d9c 100644
--- a/util/glgen/specparser.h
+++ b/util/glgen/specparser.h
@@ -38,6 +38,7 @@
#include <QVariant>
class QTextStream;
+class QXmlStreamReader;
struct Version {
int major;
@@ -49,6 +50,11 @@ inline bool operator == (const Version &lhs, const Version &rhs)
return (lhs.major == rhs.major && lhs.minor == rhs.minor);
}
+inline bool operator != (const Version &lhs, const Version &rhs)
+{
+ return !(lhs == rhs);
+}
+
inline bool operator < (const Version &lhs, const Version &rhs)
{
if (lhs.major != rhs.major)
@@ -65,6 +71,17 @@ inline bool operator > (const Version &lhs, const Version &rhs)
return (lhs.minor > rhs.minor);
}
+inline bool operator >= (const Version &lhs, const Version &rhs)
+{
+ return !(lhs < rhs);
+}
+
+
+inline bool operator <= (const Version &lhs, const Version &rhs)
+{
+ return !(lhs > rhs);
+}
+
inline uint qHash(const Version &v)
{
return qHash(v.major * 100 + v.minor * 10);
@@ -94,6 +111,11 @@ inline bool operator == (const VersionProfile &lhs, const VersionProfile &rhs)
return lhs.version == rhs.version;
}
+inline bool operator != (const VersionProfile &lhs, const VersionProfile &rhs)
+{
+ return !(lhs == rhs);
+}
+
inline bool operator < (const VersionProfile &lhs, const VersionProfile &rhs)
{
if (lhs.profile != rhs.profile)
@@ -132,13 +154,47 @@ struct Function
QList<Argument> arguments;
};
+inline bool operator== (const Argument &lhs, const Argument &rhs)
+{
+ if ((lhs.type != rhs.type) || (lhs.name != rhs.name) || (lhs.direction != rhs.direction)) {
+ return false;
+ }
+
+ return (lhs.mode != rhs.mode);
+}
+
+inline bool operator!= (const Argument &lhs, const Argument &rhs)
+{
+ return !(lhs == rhs);
+}
+
+inline bool operator== (const Function &lhs, const Function &rhs)
+{
+ if ((lhs.returnType != rhs.returnType) || (lhs.name != rhs.name)) {
+ return false;
+ }
+
+ return (lhs.arguments == rhs.arguments);
+}
+
+inline bool operator!= (const Function &lhs, const Function &rhs)
+{
+ return !(lhs == rhs);
+}
+
typedef QList<Function> FunctionList;
typedef QMap<VersionProfile, FunctionList> FunctionCollection;
+struct FunctionProfile
+{
+ VersionProfile::OpenGLProfile profile;
+ Function function;
+};
+
class SpecParser
{
public:
- explicit SpecParser();
+ virtual ~SpecParser() {}
QString specFileName() const
{
@@ -150,22 +206,28 @@ public:
return m_typeMapFileName;
}
- QList<Version> versions() const {return m_versions;}
- QList<VersionProfile> versionProfiles() const {return m_functions.uniqueKeys();}
+ virtual QList<Version> versions() const = 0;
+
+ QList<VersionProfile> versionProfiles() const {return versionFunctions().uniqueKeys();}
QList<Function> functionsForVersion(const VersionProfile &v) const
{
- return m_functions.values(v);
+ return versionFunctions().values(v);
}
QStringList extensions() const
{
- return QStringList(m_extensionFunctions.uniqueKeys());
+ return QStringList(extensionFunctions().uniqueKeys());
}
QList<Function> functionsForExtension(const QString &extension)
{
- return m_extensionFunctions.values(extension);
+ QList<Function> func;
+
+ Q_FOREACH (const FunctionProfile &f, extensionFunctions().values(extension))
+ func.append(f.function);
+
+ return func;
}
void setSpecFileName(QString arg)
@@ -178,25 +240,15 @@ public:
m_typeMapFileName = arg;
}
- void parse();
+ virtual bool parse() = 0;
protected:
- bool parseTypeMap();
- void parseEnums();
- void parseFunctions(QTextStream &stream);
- bool inDeprecationException(const QString &functionName) const;
+ virtual const QMultiHash<VersionProfile, Function> &versionFunctions() const = 0;
+ virtual const QMultiMap<QString, FunctionProfile> &extensionFunctions() const = 0;
private:
QString m_specFileName;
QString m_typeMapFileName;
-
- QMap<QString, QString> m_typeMap;
- QMultiMap<VersionProfile, Function> m_functions;
-
- QList<Version> m_versions;
-
- // Extension support
- QMultiMap<QString, Function> m_extensionFunctions;
};
#endif // SPECPARSER_H
diff --git a/util/glgen/xmlspecparser.cpp b/util/glgen/xmlspecparser.cpp
new file mode 100644
index 0000000000..c2be6d292d
--- /dev/null
+++ b/util/glgen/xmlspecparser.cpp
@@ -0,0 +1,440 @@
+/***************************************************************************
+**
+** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB)
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the utilities of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "xmlspecparser.h"
+
+#include <QDebug>
+#include <QFile>
+#include <QRegularExpression>
+#include <QStringList>
+#include <QTextStream>
+#include <QXmlStreamReader>
+
+#ifdef SPECPARSER_DEBUG
+#define qXmlSpecParserDebug qDebug
+#else
+#define qXmlSpecParserDebug QT_NO_QDEBUG_MACRO
+#endif
+
+bool XmlSpecParser::parse()
+{
+ // Open up a stream on the actual OpenGL function spec file
+ QFile file(specFileName());
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
+ qWarning() << "Failed to open spec file:" << specFileName() << "Aborting";
+ return false;
+ }
+
+ QXmlStreamReader stream(&file);
+
+ // Extract the info that we need
+ parseFunctions(stream);
+ return true;
+}
+
+void XmlSpecParser::parseParam(QXmlStreamReader &stream, Function &func)
+{
+ Argument arg;
+ arg.type = QString();
+
+ while (!stream.isEndDocument()) {
+ stream.readNext();
+
+ if (stream.isStartElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "ptype") {
+ if (stream.readNext() == QXmlStreamReader::Characters)
+ arg.type.append(stream.text().toString());
+ }
+
+ else if (tag == "name") {
+ if (stream.readNext() == QXmlStreamReader::Characters)
+ arg.name = stream.text().toString().trimmed();
+ }
+ } else if (stream.isCharacters()) {
+ arg.type.append(stream.text().toString());
+ } else if (stream.isEndElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "param") {
+ // compatibility with old spec
+ QRegularExpression typeRegExp("(const )?(.+)(?<!\\*)((?:(?!\\*$)\\*)*)(\\*)?");
+
+ // remove extra whitespace
+ arg.type = arg.type.trimmed();
+
+ // set default
+ arg.direction = Argument::In;
+ arg.mode = Argument::Value;
+
+ QRegularExpressionMatch exp = typeRegExp.match(arg.type);
+ if (exp.hasMatch()) {
+ if (!exp.captured(4).isEmpty()) {
+ arg.mode = Argument::Reference;
+
+ if (exp.captured(1).isEmpty())
+ arg.direction = Argument::Out;
+ }
+
+ arg.type = exp.captured(2) + exp.captured(3);
+ }
+
+ break;
+ }
+ }
+ }
+
+ // remove any excess whitespace
+ arg.type = arg.type.trimmed();
+ arg.name = arg.name.trimmed();
+
+ // maybe some checks?
+ func.arguments.append(arg);
+}
+
+void XmlSpecParser::parseCommand(QXmlStreamReader &stream)
+{
+ Function func;
+
+ while (!stream.isEndDocument()) {
+ stream.readNext();
+
+ if (stream.isStartElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "proto") {
+ while (!stream.isEndDocument()) {
+ stream.readNext();
+ if (stream.isStartElement() && (stream.name().toString() == "name")) {
+ if (stream.readNext() == QXmlStreamReader::Characters)
+ func.name = stream.text().toString();
+ } else if (stream.isCharacters()) {
+ func.returnType.append(stream.text().toString());
+ } else if (stream.isEndElement() && (stream.name().toString() == "proto")) {
+ break;
+ }
+ }
+ }
+
+ if (tag == "param")
+ parseParam(stream, func);
+ }
+
+ else if (stream.isEndElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "command")
+ break;
+ }
+ }
+
+ // maybe checks?
+ func.returnType = func.returnType.trimmed();
+
+ // for compatibility with old spec
+ if (func.name.startsWith("gl"))
+ func.name.remove(0, 2);
+
+ m_functionList.insert(func.name, func);
+}
+
+void XmlSpecParser::parseCommands(QXmlStreamReader &stream)
+{
+ while (!stream.isEndDocument()) {
+ stream.readNext();
+
+ if (stream.isStartElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "command")
+ parseCommand(stream);
+ }
+
+ else if (stream.isEndElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "commands")
+ break;
+ }
+ }
+}
+
+void XmlSpecParser::parseRequire(QXmlStreamReader &stream, FunctionList &funcs)
+{
+ while (!stream.isEndDocument()) {
+ stream.readNext();
+
+ if (stream.isStartElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "command") {
+ QString func = stream.attributes().value("name").toString();
+
+ // for compatibility with old spec
+ if (func.startsWith("gl"))
+ func.remove(0, 2);
+
+ funcs.append(m_functionList[func]);
+ }
+ } else if (stream.isEndElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "require")
+ break;
+ }
+ }
+}
+
+void XmlSpecParser::parseRemoveCore(QXmlStreamReader &stream)
+{
+ while (!stream.isEndDocument()) {
+ stream.readNext();
+
+ if (stream.isStartElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "command") {
+ QString func = stream.attributes().value("name").toString();
+
+ // for compatibility with old spec
+ if (func.startsWith("gl"))
+ func.remove(0, 2);
+
+ // go through list of version and mark as incompatible
+ Q_FOREACH (const Version& v, m_versions) {
+ // Combine version and profile for this subset of functions
+ VersionProfile version;
+ version.version = v;
+ version.profile = VersionProfile::CoreProfile;
+
+ // Fetch the functions and add to collection for this class
+ Q_FOREACH (const Function& f, m_functions.values(version)) {
+ if (f.name == func) {
+ VersionProfile newVersion;
+ newVersion.version = v;
+ newVersion.profile = VersionProfile::CompatibilityProfile;
+
+ m_functions.insert(newVersion, f);
+ m_functions.remove(version, f);
+ }
+ }
+ }
+ }
+ } else if (stream.isEndElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "remove")
+ break;
+ }
+ }
+}
+
+void XmlSpecParser::parseFeature(QXmlStreamReader &stream)
+{
+ QRegularExpression versionRegExp("(\\d).(\\d)");
+ QXmlStreamAttributes attributes = stream.attributes();
+
+ QRegularExpressionMatch match = versionRegExp.match(attributes.value("number").toString());
+
+ if (!match.hasMatch()) {
+ qWarning() << "Malformed version indicator";
+ return;
+ }
+
+ if (attributes.value("api").toString() != "gl")
+ return;
+
+ int majorVersion = match.captured(1).toInt();
+ int minorVersion = match.captured(2).toInt();
+
+ Version v;
+ VersionProfile core, compat;
+
+ v.major = majorVersion;
+ v.minor = minorVersion;
+ core.version = compat.version = v;
+ core.profile = VersionProfile::CoreProfile;
+ compat.profile = VersionProfile::CompatibilityProfile;
+
+ while (!stream.isEndDocument()) {
+ stream.readNext();
+
+ if (stream.isStartElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "require") {
+ FunctionList funcs;
+
+ if (stream.attributes().value("profile").toString() == "compatibility") {
+ parseRequire(stream, funcs);
+ Q_FOREACH (const Function& f, funcs) {
+ m_functions.insert(compat, f);
+ }
+ } else {
+ parseRequire(stream, funcs);
+ Q_FOREACH (const Function& f, funcs) {
+ m_functions.insert(core, f);
+ }
+ }
+ } else if (tag == "remove") {
+ if (stream.attributes().value("profile").toString() == "core")
+ parseRemoveCore(stream);
+ }
+ } else if (stream.isEndElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "feature")
+ break;
+ }
+ }
+
+ m_versions.append(v);
+}
+
+void XmlSpecParser::parseExtension(QXmlStreamReader &stream)
+{
+ QXmlStreamAttributes attributes = stream.attributes();
+ QString name = attributes.value("name").toString();
+
+ while (!stream.isEndDocument()) {
+ stream.readNext();
+
+ if (stream.isStartElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "require") {
+ if (stream.attributes().value("profile").toString() == "compatibility") {
+ FunctionList funcs;
+ parseRequire(stream, funcs);
+
+ Q_FOREACH (const Function& f, funcs) {
+ FunctionProfile fp;
+ fp.function = f;
+ fp.profile = VersionProfile::CompatibilityProfile;
+ m_extensionFunctions.insert(name, fp);
+ }
+ } else {
+ FunctionList funcs;
+ parseRequire(stream, funcs);
+ Q_FOREACH (const Function& f, funcs) {
+ FunctionProfile fp;
+ fp.function = f;
+ fp.profile = VersionProfile::CoreProfile;
+ m_extensionFunctions.insert(name, fp);
+ }
+ }
+
+
+ }
+ } else if (stream.isEndElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "extension")
+ break;
+ }
+ }
+}
+
+void XmlSpecParser::parseFunctions(QXmlStreamReader &stream)
+{
+ while (!stream.isEndDocument()) {
+ stream.readNext();
+
+ if (stream.isStartElement()) {
+ QString tag = stream.name().toString();
+
+ if (tag == "feature") {
+ parseFeature(stream);
+ } else if (tag == "commands") {
+ parseCommands(stream);
+ } else if (tag == "extension") {
+ parseExtension(stream);
+ }
+ } else if (stream.isEndElement()) {
+ stream.readNext();
+ }
+ }
+
+ // hack - add GL_ARB_imaging to every version after 1.2 inclusive
+ Version versionThreshold;
+ versionThreshold.major = 1;
+ versionThreshold.minor = 2;
+ QList<FunctionProfile> funcs = m_extensionFunctions.values("GL_ARB_imaging");
+
+ VersionProfile vp;
+ vp.version = versionThreshold;
+
+ Q_FOREACH (const FunctionProfile& fp, funcs) {
+ vp.profile = fp.profile;
+ m_functions.insert(vp, fp.function);
+ }
+
+ // now we will prune any duplicates
+ QSet<QString> funcset;
+
+ Q_FOREACH (const Version& v, m_versions) {
+ // check compatibility first
+ VersionProfile vp;
+ vp.version = v;
+
+ vp.profile = VersionProfile::CompatibilityProfile;
+
+ Q_FOREACH (const Function& f, m_functions.values(vp)) {
+ // remove duplicate
+ if (funcset.contains(f.name))
+ m_functions.remove(vp, f);
+
+ funcset.insert(f.name);
+ }
+
+ vp.profile = VersionProfile::CoreProfile;
+
+ Q_FOREACH (const Function& f, m_functions.values(vp)) {
+
+ // remove duplicate
+ if (funcset.contains(f.name))
+ m_functions.remove(vp, f);
+
+ funcset.insert(f.name);
+ }
+ }
+}
diff --git a/util/glgen/xmlspecparser.h b/util/glgen/xmlspecparser.h
new file mode 100644
index 0000000000..3049e911cc
--- /dev/null
+++ b/util/glgen/xmlspecparser.h
@@ -0,0 +1,83 @@
+/***************************************************************************
+**
+** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the utilities of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef XMLSPECPARSER_H
+#define XMLSPECPARSER_H
+
+#include "specparser.h"
+
+#include <QStringList>
+#include <QVariant>
+
+class QXmlStreamReader;
+
+class XmlSpecParser : public SpecParser
+{
+public:
+ virtual QList<Version> versions() const { return m_versions; }
+
+ virtual bool parse();
+
+protected:
+ const QMultiHash<VersionProfile, Function> &versionFunctions() const { return m_functions; }
+ const QMultiMap<QString, FunctionProfile> &extensionFunctions() const { return m_extensionFunctions; }
+
+private:
+ void parseFunctions(QXmlStreamReader &stream);
+ void parseCommands(QXmlStreamReader &stream);
+ void parseCommand(QXmlStreamReader &stream);
+ void parseParam(QXmlStreamReader &stream, Function &func);
+ void parseFeature(QXmlStreamReader &stream);
+ void parseExtension(QXmlStreamReader &stream);
+ void parseRequire(QXmlStreamReader &stream, FunctionList& profile);
+ void parseRemoveCore(QXmlStreamReader &stream);
+
+ QMultiHash<VersionProfile, Function> m_functions;
+
+ QList<Version> m_versions;
+
+ // Extension support
+ QMultiMap<QString, FunctionProfile> m_extensionFunctions;
+
+ QMap<QString, Function> m_functionList;
+};
+
+#endif // XMLSPECPARSER_H