diff --git a/.gitignore b/.gitignore index 33387c5bc4..a9ee862c97 100644 --- a/.gitignore +++ b/.gitignore @@ -69,7 +69,7 @@ bin/moc* bin/makeqpf* bin/pixeltool* bin/qmake* -bin/qdoc3* +bin/qdoc* bin/qt3to4* bin/qtdemo* bin/qttracereplay* diff --git a/src/plugins/platforms/uikit/quikiteventloop.h b/config.tests/arch/arch.cpp similarity index 66% rename from src/plugins/platforms/uikit/quikiteventloop.h rename to config.tests/arch/arch.cpp index e7f503c42a..f942d0adc7 100644 --- a/src/plugins/platforms/uikit/quikiteventloop.h +++ b/config.tests/arch/arch.cpp @@ -3,7 +3,7 @@ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/ ** -** This file is part of the plugins of the Qt Toolkit. +** This file is part of the FOO module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** GNU Lesser General Public License Usage @@ -39,34 +39,45 @@ ** ****************************************************************************/ -#ifndef QUIKITEVENTLOOP_H -#define QUIKITEVENTLOOP_H - -#include "quikitsoftwareinputhandler.h" - -#include -#include - -@class EventLoopHelper; -@class NSTimer; - -QT_BEGIN_NAMESPACE - -class QUIKitEventLoop : public QPlatformEventLoopIntegration -{ -public: - QUIKitEventLoop(); - ~QUIKitEventLoop(); - - void startEventLoop(); - void quitEventLoop(); - void qtNeedsToProcessEvents(); - - EventLoopHelper *mHelper; - NSTimer *mTimer; - QUIKitSoftwareInputHandler *mInputHandler; -}; - -QT_END_NAMESPACE - +// NOTE: This file is not meant to be compiled, only preprocessed. +#include "../../src/corelib/global/qprocessordetection.h" +#undef alpha +#undef arm +#undef avr32 +#undef bfin +#undef i386 +#undef x86_64 +#undef ia64 +#undef mips +#undef power +#undef s390 +#undef sh +#undef sparc +#undef unknown +#if defined(Q_PROCESSOR_ALPHA) +alpha +#elif defined(Q_PROCESSOR_ARM) +arm +#elif defined(Q_PROCESSOR_AVR32) +avr32 +#elif defined(Q_PROCESSOR_BLACKFIN) +bfin +#elif defined(Q_PROCESSOR_X86_32) +i386 +#elif defined(Q_PROCESSOR_X86_64) +x86_64 +#elif defined(Q_PROCESSOR_IA64) +ia64 +#elif defined(Q_PROCESSOR_MIPS) +mips +#elif defined(Q_PROCESSOR_POWER) +power +#elif defined(Q_PROCESSOR_S390) +s390 +#elif defined(Q_PROCESSOR_SH) +sh +#elif defined(Q_PROCESSOR_SPARC) +sparc +#else +unknown #endif diff --git a/config.tests/arch/arch.pro b/config.tests/arch/arch.pro new file mode 100644 index 0000000000..108f262a55 --- /dev/null +++ b/config.tests/arch/arch.pro @@ -0,0 +1,7 @@ +CONFIG -= qt debug_and_release +# Detect target by preprocessing a file that uses Q_PROCESSOR_* macros from qprocessordetection.h +COMMAND = $$QMAKE_CXX $$QMAKE_CXXFLAGS -E $$PWD/arch.cpp +# 'false' as second argument to system() prevents qmake from stripping newlines +COMPILER_ARCH = $$system($$COMMAND, false) +# Message back to configure so that it can set QT_ARCH and QT_HOST_ARCH +message($$COMPILER_ARCH) diff --git a/configure b/configure index 66c5f1a06d..93dda6fe6c 100755 --- a/configure +++ b/configure @@ -651,6 +651,7 @@ CFG_CONFIGURE_EXIT_ON_ERROR=yes CFG_PROFILE=no CFG_EXCEPTIONS=unspecified CFG_GUI=auto # (yes|no|auto) +CFG_WIDGETS=yes CFG_QCONFIG=full CFG_DEBUG=auto CFG_MYSQL_CONFIG= @@ -693,8 +694,13 @@ CFG_V8SNAPSHOT=auto CFG_DECLARATIVE_DEBUG=yes CFG_JAVASCRIPTCORE_JIT=auto +# Target architecture CFG_ARCH= +# Host architecture, same as CFG_ARCH when not cross-compiling CFG_HOST_ARCH= +# Set when the -arch or -host-arch arguments are used +OPT_OBSOLETE_HOST_ARG=no + CFG_USE_GNUMAKE=no CFG_IM=yes CFG_XINPUT2=auto @@ -742,7 +748,6 @@ CFG_GETIFADDRS=auto CFG_INOTIFY=auto CFG_RPATH=yes CFG_FRAMEWORK=auto -CFG_MAC_ARCHS= MAC_CONFIG_TEST_COMMANDLINE= # used to make the configure tests run with the correct arch's and SDK settings CFG_MAC_DWARF2=auto CFG_MAC_HARFBUZZ=no @@ -774,6 +779,7 @@ CFG_NOPROCESS=no CFG_ICU=auto CFG_FORCE_ASSERTS=no CFG_PCRE=auto +QPA_PLATFORM_GUARD=yes # initalize variables used for installation QT_INSTALL_PREFIX= @@ -1201,17 +1207,8 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; - arch) - # if this is a Mac then "windows" probably means - # we are cross-compiling for MinGW - if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then - CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL" - else - CFG_ARCH=$VAL - fi - ;; - host-arch) - CFG_HOST_ARCH=$VAL + arch|host-arch) + OPT_OBSOLETE_HOST_ARG=yes ;; harfbuzz) if [ "$BUILD_ON_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then @@ -1717,6 +1714,22 @@ while [ "$#" -gt 0 ]; do fi fi ;; + widgets) + if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then + CFG_WIDGETS="yes" + elif [ "$VAL" = "no" ]; then + CFG_WIDGETS="no" + else + UNKNOWN_OPT=yes + fi + ;; + qpa-platform-guard) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + QPA_PLATFORM_GUARD="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; dbus) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then CFG_DBUS="$VAL" @@ -2420,13 +2433,6 @@ if [ "$UNAME_SYSTEM" = "SunOS" ]; then fi fi -#------------------------------------------------------------------------------- -# determine the system architecture -#------------------------------------------------------------------------------- -if [ "$OPT_VERBOSE" = "yes" ]; then - echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)" -fi - if [ "$CFG_RTOS_ENABLED" = "no" ]; then case `basename "$XPLATFORM"` in qnx-* | vxworks-*) @@ -2441,153 +2447,6 @@ if [ "$CFG_RTOS_ENABLED" = "no" ]; then esac fi -if [ -z "${CFG_HOST_ARCH}" ]; then - case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in - GNU:*:*) - CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'` - case "$CFG_HOST_ARCH" in - i?86) - CFG_HOST_ARCH=i386 - ;; - esac - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " GNU/Hurd ($CFG_HOST_ARCH)" - fi - ;; - IRIX*:*:*) - CFG_HOST_ARCH=`uname -p` - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " SGI ($CFG_HOST_ARCH)" - fi - ;; - SunOS:5*:*) - case "$UNAME_MACHINE" in - sun4u*|sun4v*) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " Sun SPARC (sparc)" - fi - CFG_HOST_ARCH=sparc - ;; - i86pc) - case "$PLATFORM" in - *-64*) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " 64-bit AMD 80x86 (x86_64)" - fi - CFG_HOST_ARCH=x86_64 - ;; - *) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " 32-bit Intel 80x86 (i386)" - fi - CFG_HOST_ARCH=i386 - ;; - esac - esac - ;; - AIX:*:00????????00) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " 64-bit IBM PowerPC (powerpc)" - fi - CFG_HOST_ARCH=powerpc - ;; - HP-UX:*:9000*) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " HP PA-RISC (parisc)" - fi - CFG_HOST_ARCH=parisc - ;; - *:*:i?86) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " 32-bit Intel 80x86 (i386)" - fi - CFG_HOST_ARCH=i386 - ;; - *:*:x86_64|*:*:amd64) - if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " 32 bit on 64-bit AMD 80x86 (i386)" - fi - CFG_HOST_ARCH=i386 - else - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " 64-bit AMD 80x86 (x86_64)" - fi - CFG_HOST_ARCH=x86_64 - fi - ;; - *:*:ppc) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " 32-bit PowerPC (powerpc)" - fi - CFG_HOST_ARCH=powerpc - ;; - *:*:ppc64) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " 64-bit PowerPC (powerpc)" - fi - CFG_HOST_ARCH=powerpc - ;; - *:*:s390*) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " IBM S/390 (s390)" - fi - CFG_HOST_ARCH=s390 - ;; - *:*:arm*) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " ARM (arm)" - fi - CFG_HOST_ARCH=arm - ;; - Linux:*:sparc*) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " Linux on SPARC" - fi - CFG_HOST_ARCH=sparc - ;; - QNX:*:*) - case "$UNAME_MACHINE" in - x86pc) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " QNX on Intel 80x86 (i386)" - fi - CFG_HOST_ARCH=i386 - ;; - esac - ;; - *:*:*) - if [ "$OPT_VERBOSE" = "yes" ]; then - echo " Trying '$UNAME_MACHINE'..." - fi - CFG_HOST_ARCH="$UNAME_MACHINE" - ;; - esac -fi - -if [ "$XPLATFORM_MINGW" = "yes" ]; then - [ -z "$CFG_ARCH" ] && CFG_ARCH="windows" -elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then - CFG_ARCH=$CFG_HOST_ARCH -fi - -# for compatibility -COMPAT_ARCH= -case "$CFG_ARCH" in -arm*) - # previously, armv6 was a different arch - CFG_ARCH=arm - COMPAT_ARCH=armv6 - ;; -esac - -if [ "$OPT_VERBOSE" = "yes" ]; then - echo "System architecture: '$CFG_ARCH'" - if [ "$PLATFORM_QPA" = "yes" ]; then - echo "Host architecture: '$CFG_HOST_ARCH'" - fi -fi - #------------------------------------------------------------------------------- # tests that don't need qmake (must be run before displaying help) #------------------------------------------------------------------------------- @@ -2625,11 +2484,11 @@ if [ "$QT_CROSS_COMPILE" = "yes" ]; then echo >&2 "Please make sure you have a correctly set-up pkg-config" echo >&2 "environment!" echo >&2 "" - if [ -z "$PKG_CONFIG_PATH" ]; then + if [ -z "$PKG_CONFIG_LIBDIR" ]; then echo >&2 "" - echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean" - echo >&2 "the host compiler's .pc files will be used. This is probably" - echo >&2 "not what you want." + echo >&2 "Warning: PKG_CONFIG_LIBDIR has not been set. This could mean" + echo >&2 "the host's .pc files will be used (even if you set PKG_CONFIG_PATH)." + echo >&2 "This is probably not what you want." echo >&2 "" elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then echo >&2 "" @@ -3548,9 +3407,6 @@ Qt/Mac only: * -dwarf2 ............ Enable dwarf2 debugging symbols. -no-dwarf2 ......... Disable dwarf2 debugging symbols. - -arch ....... Build Qt for . Supported arch values: x86 x86_64. - Only one arch value can be specified. - -sdk ......... Build Qt using Apple provided SDK . This option requires gcc 4. To use a different SDK with gcc 3.3, set the SDKROOT environment variable. @@ -4038,6 +3894,33 @@ fi # Build qmake # tests that need qmake #------------------------------------------------------------------------------- +#------------------------------------------------------------------------------- +# determine the target and host architectures +#------------------------------------------------------------------------------- + +# Use config.tests/arch/arch.pro to has the compiler tell us what the target architecture is +CFG_ARCH=`"$outpath/bin/qmake" -spec "$XQMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -e "s,^Project MESSAGE: ,," -e "s,^#.*$,,g" | grep -v "^$"` +[ -z "$CFG_ARCH" ] && CFG_ARCH="unknown" +if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then + # Do the same test again, using the host compiler + CFG_HOST_ARCH=`"$outpath/bin/qmake" -spec "$QMAKESPEC" -o /dev/null "$relpath/config.tests/arch/arch.pro" 2>&1 | sed -e "s,^Project MESSAGE: ,," -e "s,^#.*$,,g" | grep -v "^$"` + [ -z "$CFG_HOST_ARCH" ] && CFG_HOST_ARCH="unknown" +else + # not cross compiling, host == target + CFG_HOST_ARCH="$CFG_ARCH" +fi + +if [ "$OPT_VERBOSE" = "yes" ]; then + echo "System architecture: '$CFG_ARCH'" + if [ "$PLATFORM_QPA" = "yes" ]; then + echo "Host architecture: '$CFG_HOST_ARCH'" + fi +fi + +#------------------------------------------------------------------------------- +# functionality tests +#------------------------------------------------------------------------------- + # detect availability of float math.h functions if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/floatmath "floatmath" $L_FLAGS $I_FLAGS $l_FLAGS; then CFG_USE_FLOATMATH=yes @@ -4143,6 +4026,8 @@ if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then else CFG_NEON=no fi +elif [ "$CFG_ARCH" != "arm" ]; then + CFG_NEON=no fi [ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista" @@ -4174,6 +4059,10 @@ if [ "$CFG_LARGEFILE" = "auto" ]; then CFG_LARGEFILE=yes fi +if [ "$CFG_GUI" = "no" ]; then + QPA_PLATFORM_GUARD=no +fi + # detect how jpeg should be built if [ "$CFG_JPEG" = "auto" ]; then if [ "$CFG_SHARED" = "yes" ]; then @@ -5228,7 +5117,8 @@ if [ "$PLATFORM_QPA" = "yes" ]; then if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then if [ "$CFG_XCB" = "no" ]; then - if [ "$ORIG_CFG_XCB" = "auto" ]; then + if [ "$QPA_PLATFORM_GUARD" = "yes" ] && + ( [ "$ORIG_CFG_XCB" = "auto" ] ); then echo "No QPA platform plugin enabled!" echo " If you really want to build without a QPA platform plugin you must pass" echo " -no-xcb. Doing this will produce a Qt that" @@ -5522,29 +5412,27 @@ if [ "$CFG_MAC_DWARF2" = "yes" ]; then QT_CONFIG="$QT_CONFIG dwarf2" fi -# Set the default Mac OS X arch if there are no "-arch" arguments on the configure line +# Detect the default arch (x86 or x86_64) on Mac OS X if [ "$BUILD_ON_MAC" = "yes" ]; then - DEFAULT_ARCH="$CFG_MAC_ARCHS" - if [ -z "$DEFAULT_ARCH" ]; then - case `file "${outpath}/bin/qmake"` in - *i?86) - DEFAULT_ARCH=x86 - ;; - *x86_64) - DEFAULT_ARCH=x86_64 - ;; - *ppc|*ppc64|*) - # unsupported/unknown - ;; - esac - fi + DEFAULT_ARCH= + case `file "${outpath}/bin/qmake"` in + *i?86) + DEFAULT_ARCH=x86 + ;; + *x86_64) + DEFAULT_ARCH=x86_64 + ;; + *ppc|*ppc64|*) + # unsupported/unknown + ;; + esac + if [ -n "$DEFAULT_ARCH" ]; then [ "$OPT_VERBOSE" = "yes" ] && echo "Setting default Mac OS X architechture to $DEFAULT_ARCH." QT_CONFIG="$QT_CONFIG $DEFAULT_ARCH" QMAKE_CONFIG="$QMAKE_CONFIG $DEFAULT_ARCH" - # Make the application arch follow the Qt arch for single arch builds. - # (for multiple-arch builds, set CONFIG manually in the application .pro file) - [ `echo "$DEFAULT_ARCH" | wc -w` -eq 1 ] && QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH" + # Make the application arch follow the Qt arch + QTCONFIG_CONFIG="$QTCONFIG_CONFIG $DEFAULT_ARCH" fi fi @@ -5737,8 +5625,12 @@ if [ "$CFG_GUI" = "auto" ]; then fi if [ "$CFG_GUI" = "no" ]; then QT_CONFIG="$QT_CONFIG no-gui" + CFG_WIDGETS="no" +fi +if [ "$CFG_WIDGETS" = "no" ]; then + QT_CONFIG="$QT_CONFIG no-widgets" + QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_WIDGETS" fi - if [ "x$BUILD_ON_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then #On Mac we implicitly link against libz, so we @@ -6156,17 +6048,6 @@ cat >>"$outpath/src/corelib/global/qconfig.h.new" <>"$outpath/src/corelib/global/qconfig.h.new" <>"$outpath/src/corelib/global/qconfig.h.new" [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new" @@ -6389,6 +6270,7 @@ cat >>"$QTCONFIG.tmp" < will be used (when + available). The generic implementations are generally as fast + as and always as safe as a specialized implementation. + + If no generic implementation is available, Qt will use a + fallback UNIX implementation which uses a single + pthread_mutex_t to protect all atomic operations. This implementation is the slow (but safe) fallback implementation for architectures Qt does not yet support. EOF @@ -7042,6 +6928,21 @@ cat <addItem(QIcon(":/images/bad.svg"), tr("Bad")); - iconComboBox->addItem(QIcon(":/images/heart.svg"), tr("Heart")); - iconComboBox->addItem(QIcon(":/images/trash.svg"), tr("Trash")); + iconComboBox->addItem(QIcon(":/images/bad.png"), tr("Bad")); + iconComboBox->addItem(QIcon(":/images/heart.png"), tr("Heart")); + iconComboBox->addItem(QIcon(":/images/trash.png"), tr("Trash")); showIconCheckBox = new QCheckBox(tr("Show icon")); showIconCheckBox->setChecked(true); diff --git a/examples/draganddrop/puzzle/puzzlewidget.cpp b/examples/draganddrop/puzzle/puzzlewidget.cpp index 1c5b0cc5d6..2e39f84e9e 100644 --- a/examples/draganddrop/puzzle/puzzlewidget.cpp +++ b/examples/draganddrop/puzzle/puzzlewidget.cpp @@ -78,7 +78,7 @@ void PuzzleWidget::dragLeaveEvent(QDragLeaveEvent *event) void PuzzleWidget::dragMoveEvent(QDragMoveEvent *event) { - QRect updateRect = highlightedRect.unite(targetSquare(event->pos())); + QRect updateRect = highlightedRect.united(targetSquare(event->pos())); if (event->mimeData()->hasFormat("image/x-puzzle-piece") && findPiece(targetSquare(event->pos())) == -1) { diff --git a/examples/examples.pro b/examples/examples.pro index 2e2f606e85..e402f29c98 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -31,7 +31,6 @@ SUBDIRS = \ } wince*|embedded|x11:!contains(QT_CONFIG, no-gui): SUBDIRS += embedded -embedded:SUBDIRS += qws contains(QT_BUILD_PARTS, tools):!contains(QT_CONFIG, no-gui):SUBDIRS += qtestlib contains(QT_CONFIG, opengl): SUBDIRS += opengl contains(QT_CONFIG, dbus): SUBDIRS += dbus diff --git a/examples/itemviews/puzzle/puzzlewidget.cpp b/examples/itemviews/puzzle/puzzlewidget.cpp index a622050fd3..96d8c6068f 100644 --- a/examples/itemviews/puzzle/puzzlewidget.cpp +++ b/examples/itemviews/puzzle/puzzlewidget.cpp @@ -78,7 +78,7 @@ void PuzzleWidget::dragLeaveEvent(QDragLeaveEvent *event) void PuzzleWidget::dragMoveEvent(QDragMoveEvent *event) { - QRect updateRect = highlightedRect.unite(targetSquare(event->pos())); + QRect updateRect = highlightedRect.united(targetSquare(event->pos())); if (event->mimeData()->hasFormat("image/x-puzzle-piece") && findPiece(targetSquare(event->pos())) == -1) { diff --git a/examples/qws/README b/examples/qws/README deleted file mode 100644 index d24fa59a35..0000000000 --- a/examples/qws/README +++ /dev/null @@ -1,7 +0,0 @@ -These examples show how to take advantage of features specifically designed -for use on systems with limited resources, specialized hardware, and small -screens. - - -Documentation for these examples can be found via the Examples -link in the main Qt documentation. diff --git a/examples/qws/dbscreen/dbscreen.cpp b/examples/qws/dbscreen/dbscreen.cpp deleted file mode 100644 index 0049fb4a62..0000000000 --- a/examples/qws/dbscreen/dbscreen.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include "dbscreen.h" -#include - -//! [0] -bool DBScreen::initDevice() -{ - if (!QLinuxFbScreen::initDevice()) - return false; - - QScreenCursor::initSoftwareCursor(); - image = new QImage(deviceWidth(), deviceHeight(), pixelFormat()); - painter = new QPainter(image); - - return true; -} -//! [0] - -//! [1] -void DBScreen::shutdownDevice() -{ - QLinuxFbScreen::shutdownDevice(); - delete painter; - delete image; -} -//! [1] - -//! [2] -void DBScreen::solidFill(const QColor &color, const QRegion ®ion) -{ - QVector rects = region.rects(); - for (int i = 0; i < rects.size(); i++) - painter->fillRect(rects.at(i), color); -} -//! [2] - -//! [3] -void DBScreen::blit(const QImage &image, const QPoint &topLeft, const QRegion ®ion) -{ - QVector rects = region.rects(); - for (int i = 0; i < rects.size(); i++) { - QRect destRect = rects.at(i); - QRect srcRect(destRect.x()-topLeft.x(), destRect.y()-topLeft.y(), destRect.width(), destRect.height()); - painter->drawImage(destRect.topLeft(), image, srcRect); - } -} -//! [3] - -//! [4] -void DBScreen::exposeRegion(QRegion region, int changing) -{ - QLinuxFbScreen::exposeRegion(region, changing); - QLinuxFbScreen::blit(*image, QPoint(0, 0), region); -} -//! [4] - diff --git a/examples/qws/dbscreen/dbscreen.desktop b/examples/qws/dbscreen/dbscreen.desktop deleted file mode 100644 index 1726e6cb8d..0000000000 --- a/examples/qws/dbscreen/dbscreen.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Type=Application -Terminal=false -Name=Double Buffered Graphics Driver -Exec=/opt/usr/bin/dbscreen -Icon=dbscreen -X-Window-Icon= -X-HildonDesk-ShowInToolbar=true -X-Osso-Type=application/x-executable diff --git a/examples/qws/dbscreen/dbscreen.h b/examples/qws/dbscreen/dbscreen.h deleted file mode 100644 index f52fa04365..0000000000 --- a/examples/qws/dbscreen/dbscreen.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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 DBSCREEN_H -#define DBSCREEN_H - -#include -#include - -//! [0] -class DBScreen : public QLinuxFbScreen -{ -public: - DBScreen(int displayId) : QLinuxFbScreen(displayId) {}; - ~DBScreen() {} - bool initDevice(); - void shutdownDevice(); - void blit(const QImage &image, const QPoint &topLeft, const QRegion ®ion); - void solidFill(const QColor &color, const QRegion ®ion); - void exposeRegion(QRegion region, int changing); - -private: - QPainter *painter; - QImage *image; -}; -//! [0] - -#endif // DBSCREEN_H - diff --git a/examples/qws/dbscreen/dbscreen.pro b/examples/qws/dbscreen/dbscreen.pro deleted file mode 100644 index e20e3e1b55..0000000000 --- a/examples/qws/dbscreen/dbscreen.pro +++ /dev/null @@ -1,13 +0,0 @@ -TEMPLATE = lib -CONFIG += plugin - -TARGET = dbscreen -target.path += $$[QT_INSTALL_PLUGINS]/gfxdrivers -INSTALLS += target - -HEADERS = dbscreen.h -SOURCES = dbscreendriverplugin.cpp \ - dbscreen.cpp - -QT += widgets -simulator: warning(This example does not work on Simulator platform) diff --git a/examples/qws/dbscreen/dbscreendriverplugin.cpp b/examples/qws/dbscreen/dbscreendriverplugin.cpp deleted file mode 100644 index 4a4645d374..0000000000 --- a/examples/qws/dbscreen/dbscreendriverplugin.cpp +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include -#include "dbscreen.h" - -//! [0] -class DBScreenDriverPlugin : public QScreenDriverPlugin -{ -public: - DBScreenDriverPlugin(); - QScreen* create(const QString& key, int displayId); - QStringList keys () const; -}; -//! [0] - -DBScreenDriverPlugin::DBScreenDriverPlugin() : QScreenDriverPlugin() -{ -} - -//! [1] -QScreen* DBScreenDriverPlugin::create(const QString& key, int displayId) -{ - if (key.toLower() != "dbscreen") - return 0; - - return new DBScreen(displayId); -} -//! [1] - -//! [2] -QStringList DBScreenDriverPlugin::keys() const -{ - return QStringList() << "dbscreen"; -} -//! [2] //! [3] - -Q_EXPORT_PLUGIN2(dbscreen, DBScreenDriverPlugin) -//! [3] diff --git a/examples/qws/framebuffer/framebuffer.desktop b/examples/qws/framebuffer/framebuffer.desktop deleted file mode 100644 index 030f264cad..0000000000 --- a/examples/qws/framebuffer/framebuffer.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Type=Application -Terminal=false -Name=Linux Framebuffer -Exec=/opt/usr/bin/framebuffer -Icon=framebuffer -X-Window-Icon= -X-HildonDesk-ShowInToolbar=true -X-Osso-Type=application/x-executable diff --git a/examples/qws/framebuffer/framebuffer.pro b/examples/qws/framebuffer/framebuffer.pro deleted file mode 100644 index 1043917a68..0000000000 --- a/examples/qws/framebuffer/framebuffer.pro +++ /dev/null @@ -1,15 +0,0 @@ -TEMPLATE = app -TARGET = framebuffer -CONFIG -= qt - -SOURCES += main.c - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/framebuffer -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS framebuffer.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/framebuffer -INSTALLS += target sources -QT += widgets - - -simulator: warning(This example does not work on Simulator platform) diff --git a/examples/qws/framebuffer/main.c b/examples/qws/framebuffer/main.c deleted file mode 100644 index da11d516a6..0000000000 --- a/examples/qws/framebuffer/main.c +++ /dev/null @@ -1,585 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -struct fb_var_screeninfo vinfo; -struct fb_fix_screeninfo finfo; -char *frameBuffer = 0; -int fbFd = 0; -int ttyFd = 0; - -void printFixedInfo() -{ - printf("Fixed screen info:\n" - "\tid: %s\n" - "\tsmem_start: 0x%lx\n" - "\tsmem_len: %d\n" - "\ttype: %d\n" - "\ttype_aux: %d\n" - "\tvisual: %d\n" - "\txpanstep: %d\n" - "\typanstep: %d\n" - "\tywrapstep: %d\n" - "\tline_length: %d\n" - "\tmmio_start: 0x%lx\n" - "\tmmio_len: %d\n" - "\taccel: %d\n" - "\n", - finfo.id, finfo.smem_start, finfo.smem_len, finfo.type, - finfo.type_aux, finfo.visual, finfo.xpanstep, finfo.ypanstep, - finfo.ywrapstep, finfo.line_length, finfo.mmio_start, - finfo.mmio_len, finfo.accel); -} - -void printVariableInfo() -{ - printf("Variable screen info:\n" - "\txres: %d\n" - "\tyres: %d\n" - "\txres_virtual: %d\n" - "\tyres_virtual: %d\n" - "\tyoffset: %d\n" - "\txoffset: %d\n" - "\tbits_per_pixel: %d\n" - "\tgrayscale: %d\n" - "\tred: offset: %2d, length: %2d, msb_right: %2d\n" - "\tgreen: offset: %2d, length: %2d, msb_right: %2d\n" - "\tblue: offset: %2d, length: %2d, msb_right: %2d\n" - "\ttransp: offset: %2d, length: %2d, msb_right: %2d\n" - "\tnonstd: %d\n" - "\tactivate: %d\n" - "\theight: %d\n" - "\twidth: %d\n" - "\taccel_flags: 0x%x\n" - "\tpixclock: %d\n" - "\tleft_margin: %d\n" - "\tright_margin: %d\n" - "\tupper_margin: %d\n" - "\tlower_margin: %d\n" - "\thsync_len: %d\n" - "\tvsync_len: %d\n" - "\tsync: %d\n" - "\tvmode: %d\n" - "\n", - vinfo.xres, vinfo.yres, vinfo.xres_virtual, vinfo.yres_virtual, - vinfo.xoffset, vinfo.yoffset, vinfo.bits_per_pixel, vinfo.grayscale, - vinfo.red.offset, vinfo.red.length, vinfo.red.msb_right, - vinfo.green.offset, vinfo.green.length, vinfo.green.msb_right, - vinfo.blue.offset, vinfo.blue.length, vinfo.blue.msb_right, - vinfo.transp.offset, vinfo.transp.length, vinfo.transp.msb_right, - vinfo.nonstd, vinfo.activate, vinfo.height, vinfo.width, - vinfo.accel_flags, vinfo.pixclock, vinfo.left_margin, - vinfo.right_margin, vinfo.upper_margin, vinfo.lower_margin, - vinfo.hsync_len, vinfo.vsync_len, vinfo.sync, vinfo.vmode); -} - -long switchToGraphicsMode() -{ - const char *const devs[] = {"/dev/tty0", "/dev/tty", "/dev/console", 0}; - const char * const *dev; - long oldMode = KD_TEXT; - - for (dev = devs; *dev; ++dev) { - ttyFd = open(*dev, O_RDWR); - if (ttyFd != -1) - break; - printf("Opening tty device %s failed: %s\n", *dev, strerror(errno)); - } - - ioctl(ttyFd, KDGETMODE, &oldMode); - if (oldMode == KD_GRAPHICS) { - printf("Was in graphics mode already. Skipping\n"); - return oldMode; - } - int ret = ioctl(ttyFd, KDSETMODE, KD_GRAPHICS); - if (ret == -1) { - printf("Switch to graphics mode failed: %s\n", strerror(errno)); - return oldMode; - } - - printf("Successfully switched to graphics mode.\n\n"); - - return oldMode; -} - -void restoreTextMode(long oldMode) -{ - if (ttyFd == -1) - return; - - ioctl(ttyFd, KDSETMODE, oldMode); - close(ttyFd); -} - -struct fb_cmap oldPalette; -struct fb_cmap palette; -int paletteSize = 0; - -void initPalette_16() -{ - if (finfo.type == FB_TYPE_PACKED_PIXELS) { - // We'll setup a grayscale map for 4bpp linear - int val = 0; - int i; - for (i = 0; i < 16; ++i) { - palette.red[i] = (val << 8) | val; - palette.green[i] = (val << 8) | val; - palette.blue[i] = (val << 8) | val; - val += 17; - } - return; - } - - // Default 16 colour palette - unsigned char reds[16] = { 0x00, 0x7F, 0xBF, 0xFF, 0xFF, 0xA2, - 0x00, 0xFF, 0xFF, 0x00, 0x7F, 0x7F, - 0x00, 0x00, 0x00, 0x82 }; - unsigned char greens[16] = { 0x00, 0x7F, 0xBF, 0xFF, 0x00, 0xC5, - 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, - 0x00, 0x7F, 0x7F, 0x7F }; - unsigned char blues[16] = { 0x00, 0x7F, 0xBF, 0xFF, 0x00, 0x11, - 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x7F, - 0x7F, 0x7F, 0x00, 0x00 }; - - int i; - for (i = 0; i < 16; ++i) { - palette.red[i] = ((reds[i]) << 8) | reds[i]; - palette.green[i] = ((greens[i]) << 8) | greens[i]; - palette.blue[i] = ((blues[i]) << 8) | blues[i]; - palette.transp[i] = 0; - } -} - -void initPalette_256() -{ - if (vinfo.grayscale) { - int i; - for (i = 0; i < 256; ++i) { - unsigned short c = (i << 8) | i; - palette.red[i] = c; - palette.green[i] = c; - palette.blue[i] = c; - palette.transp[i] = 0; - } - return; - } - - // 6x6x6 216 color cube - int i = 0; - int ir, ig, ib; - for (ir = 0x0; ir <= 0xff; ir += 0x33) { - for (ig = 0x0; ig <= 0xff; ig += 0x33) { - for (ib = 0x0; ib <= 0xff; ib += 0x33) { - palette.red[i] = (ir << 8)|ir; - palette.green[i] = (ig << 8)|ig; - palette.blue[i] = (ib << 8)|ib; - palette.transp[i] = 0; - ++i; - } - } - } -} - -void initPalette() -{ - switch (vinfo.bits_per_pixel) { - case 8: paletteSize = 256; break; - case 4: paletteSize = 16; break; - default: break; - } - - if (!paletteSize) - return; /* not using a palette */ - - /* read old palette */ - oldPalette.start = 0; - oldPalette.len = paletteSize; - oldPalette.red = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - oldPalette.green = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - oldPalette.blue=(unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - oldPalette.transp=(unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - if (ioctl(ttyFd, FBIOGETCMAP, &oldPalette) == -1) - perror("initPalette: error reading palette"); - - /* create new palette */ - palette.start = 0; - palette.len = paletteSize; - palette.red = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - palette.green = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - palette.blue = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - palette.transp = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - switch (paletteSize) { - case 16: initPalette_16(); break; - case 256: initPalette_256(); break; - default: break; - } - - /* set new palette */ - if (ioctl(ttyFd, FBIOPUTCMAP, &palette) == -1) - perror("initPalette: error setting palette"); -} - -void resetPalette() -{ - if (paletteSize == 0) - return; - - if (ioctl(ttyFd, FBIOPUTCMAP, &oldPalette) == -1) - perror("resetPalette"); - - free(oldPalette.red); - free(oldPalette.green); - free(oldPalette.blue); - free(oldPalette.transp); - - free(palette.red); - free(palette.green); - free(palette.blue); - free(palette.transp); -} - -void drawRect_rgb32(int x0, int y0, int width, int height, int color) -{ - const int bytesPerPixel = 4; - const int stride = finfo.line_length / bytesPerPixel; - - int *dest = (int*)(frameBuffer) - + (y0 + vinfo.yoffset) * stride - + (x0 + vinfo.xoffset); - - int x, y; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - dest[x] = color; - } - dest += stride; - } -} - -void drawRect_rgb18(int x0, int y0, int width, int height, int color) -{ - const int bytesPerPixel = 3; - const int stride = finfo.line_length - width * bytesPerPixel; - const int red = (color & 0xff0000) >> 16; - const int green = (color & 0xff00) >> 8; - const int blue = (color & 0xff); - const unsigned int packed = (blue >> 2) | - ((green >> 2) << 6) | - ((red >> 2) << 12); - const char color18[3] = { packed & 0xff, - (packed & 0xff00) >> 8, - (packed & 0xff0000) >> 16 }; - - char *dest = (char*)(frameBuffer) - + (y0 + vinfo.yoffset) * stride - + (x0 + vinfo.xoffset); - - int x, y; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - *dest++ = color18[0]; - *dest++ = color18[1]; - *dest++ = color18[2]; - } - dest += stride; - } -} - -void drawRect_rgb16(int x0, int y0, int width, int height, int color) -{ - const int bytesPerPixel = 2; - const int stride = finfo.line_length / bytesPerPixel; - const int red = (color & 0xff0000) >> (16 + 3); - const int green = (color & 0xff00) >> (8 + 2); - const int blue = (color & 0xff) >> 3; - const short color16 = blue | (green << 5) | (red << (5 + 6)); - - short *dest = (short*)(frameBuffer) - + (y0 + vinfo.yoffset) * stride - + (x0 + vinfo.xoffset); - - int x, y; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - dest[x] = color16; - } - dest += stride; - } -} - -void drawRect_rgb15(int x0, int y0, int width, int height, int color) -{ - const int bytesPerPixel = 2; - const int stride = finfo.line_length / bytesPerPixel; - const int red = (color & 0xff0000) >> (16 + 3); - const int green = (color & 0xff00) >> (8 + 3); - const int blue = (color & 0xff) >> 3; - const short color15 = blue | (green << 5) | (red << (5 + 5)); - - short *dest = (short*)(frameBuffer) - + (y0 + vinfo.yoffset) * stride - + (x0 + vinfo.xoffset); - - int x, y; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - dest[x] = color15; - } - dest += stride; - } -} - -void drawRect_palette(int x0, int y0, int width, int height, int color) -{ - const int bytesPerPixel = 1; - const int stride = finfo.line_length / bytesPerPixel; - const unsigned char color8 = color; - - unsigned char *dest = (unsigned char*)(frameBuffer) - + (y0 + vinfo.yoffset) * stride - + (x0 + vinfo.xoffset); - - int x, y; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - dest[x] = color8; - } - dest += stride; - } -} - -void drawRect(int x0, int y0, int width, int height, int color) -{ - switch (vinfo.bits_per_pixel) { - case 32: - drawRect_rgb32(x0, y0, width, height, color); - break; - case 18: - drawRect_rgb18(x0, y0, width, height, color); - break; - case 16: - drawRect_rgb16(x0, y0, width, height, color); - break; - case 15: - drawRect_rgb15(x0, y0, width, height, color); - break; - case 8: - drawRect_palette(x0, y0, width, height, color); - break; - case 4: - drawRect_palette(x0, y0, width, height, color); - break; - default: - printf("Warning: drawRect() not implemented for color depth %i\n", - vinfo.bits_per_pixel); - break; - } -} - -#define PERFORMANCE_RUN_COUNT 5 -void performSpeedTest(void* fb, int fbSize) -{ - int i, j, run; - - struct timeval startTime, endTime; - unsigned long long results[PERFORMANCE_RUN_COUNT]; - unsigned long long average; - - unsigned int* testImage; - - unsigned int randData[17] = { - 0x3A428472, 0x724B84D3, 0x26B898AB, 0x7D980E3C, 0x5345A084, - 0x6779B66B, 0x791EE4B4, 0x6E8EE3CC, 0x63AF504A, 0x18A21B33, - 0x0E26EB73, 0x022F708E, 0x1740F3B0, 0x7E2C699D, 0x0E8A570B, - 0x5F2C22FB, 0x6A742130 - }; - - printf("Frame Buffer Performance test...\n"); - - for (run=0; run= 17) - j = 0; - } - - gettimeofday(&startTime, NULL); - memcpy(fb, testImage, fbSize); - gettimeofday(&endTime, NULL); - - long secsDiff = endTime.tv_sec - startTime.tv_sec; - results[run] = secsDiff * 1000000 + (endTime.tv_usec - startTime.tv_usec); - - free(testImage); - } - - - average = 0; - for (i=0; i -#include -#include -#include -#include -#include -#include -#include -#include - -//! [0] -Calibration::Calibration() -{ - QRect desktop = QApplication::desktop()->geometry(); - desktop.moveTo(QPoint(0, 0)); - setGeometry(desktop); - - setFocusPolicy(Qt::StrongFocus); - setFocus(); - setModal(true); -//! [0] - -//! [1] - int width = qt_screen->deviceWidth(); - int height = qt_screen->deviceHeight(); - - int dx = width / 10; - int dy = height / 10; - - QPoint *points = data.screenPoints; - points[QWSPointerCalibrationData::TopLeft] = QPoint(dx, dy); - points[QWSPointerCalibrationData::BottomLeft] = QPoint(dx, height - dy); - points[QWSPointerCalibrationData::BottomRight] = QPoint(width - dx, height - dy); - points[QWSPointerCalibrationData::TopRight] = QPoint(width - dx, dy); - points[QWSPointerCalibrationData::Center] = QPoint(width / 2, height / 2); -//! [1] - -//! [2] - pressCount = 0; -} -//! [2] - -//! [3] -Calibration::~Calibration() -{ -} -//! [3] - -//! [4] -int Calibration::exec() -{ - QWSServer::mouseHandler()->clearCalibration(); - grabMouse(); - activateWindow(); - int ret = QDialog::exec(); - releaseMouse(); - return ret; -} -//! [4] - -//! [5] -void Calibration::paintEvent(QPaintEvent*) -{ - QPainter p(this); - p.fillRect(rect(), Qt::white); - - QPoint point = data.screenPoints[pressCount]; - - // Map to logical coordinates in case the screen is transformed - QSize screenSize(qt_screen->deviceWidth(), qt_screen->deviceHeight()); - point = qt_screen->mapFromDevice(point, screenSize); - - p.fillRect(point.x() - 6, point.y() - 1, 13, 3, Qt::black); - p.fillRect(point.x() - 1, point.y() - 6, 3, 13, Qt::black); -} -//! [5] - -//! [6] -void Calibration::mouseReleaseEvent(QMouseEvent *event) -{ - // Map from device coordinates in case the screen is transformed - QSize screenSize(qt_screen->width(), qt_screen->height()); - QPoint p = qt_screen->mapToDevice(event->pos(), screenSize); - - data.devPoints[pressCount] = p; - - if (++pressCount < 5) - repaint(); - else - accept(); -} -//! [6] - -//! [7] -void Calibration::accept() -{ - Q_ASSERT(pressCount == 5); - QWSServer::mouseHandler()->calibrate(&data); - QDialog::accept(); -} -//! [7] - diff --git a/examples/qws/mousecalibration/calibration.h b/examples/qws/mousecalibration/calibration.h deleted file mode 100644 index 636ed036cf..0000000000 --- a/examples/qws/mousecalibration/calibration.h +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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 CALIBRATION_H -#define CALIBRATION_H - -#include -#include - -//! [0] -class Calibration : public QDialog -{ -public: - Calibration(); - ~Calibration(); - int exec(); - -protected: - void paintEvent(QPaintEvent*); - void mouseReleaseEvent(QMouseEvent*); - void accept(); - -private: - QWSPointerCalibrationData data; - int pressCount; -}; -//! [0] - - -#endif diff --git a/examples/qws/mousecalibration/main.cpp b/examples/qws/mousecalibration/main.cpp deleted file mode 100644 index f95878dfe5..0000000000 --- a/examples/qws/mousecalibration/main.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include -#include -#include -#include - -#include "calibration.h" -#include "scribblewidget.h" - -//! [0] -int main(int argc, char **argv) -{ - QApplication app(argc, argv, QApplication::GuiServer); - - if (!QWSServer::mouseHandler()) - qFatal("No mouse handler installed"); - - { - QMessageBox message; - message.setText("

Please press once at each of the marks " - "shown in the next screen.

" - "

This messagebox will timout after 10 seconds " - "if you are unable to close it.

"); - QTimer::singleShot(10 * 1000, &message, SLOT(accept())); - message.exec(); - } - -//! [0] //! [1] - Calibration cal; - cal.exec(); -//! [1] - -//! [2] - { - QMessageBox message; - message.setText("

The next screen will let you test the calibration " - "by drawing into a widget.

This program will " - "automatically close after 20 seconds.

"); - QTimer::singleShot(10 * 1000, &message, SLOT(accept())); - message.exec(); - } - - ScribbleWidget scribble; - scribble.showMaximized(); - scribble.show(); - - app.setActiveWindow(&scribble); - QTimer::singleShot(20 * 1000, &app, SLOT(quit())); - - return app.exec(); -} -//! [2] - diff --git a/examples/qws/mousecalibration/mousecalibration.desktop b/examples/qws/mousecalibration/mousecalibration.desktop deleted file mode 100644 index 07c231e97c..0000000000 --- a/examples/qws/mousecalibration/mousecalibration.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Type=Application -Terminal=false -Name=Mouse Calibration -Exec=/opt/usr/bin/mousecalibration -Icon=mousecalibration -X-Window-Icon= -X-HildonDesk-ShowInToolbar=true -X-Osso-Type=application/x-executable diff --git a/examples/qws/mousecalibration/mousecalibration.pro b/examples/qws/mousecalibration/mousecalibration.pro deleted file mode 100644 index fb91216422..0000000000 --- a/examples/qws/mousecalibration/mousecalibration.pro +++ /dev/null @@ -1,15 +0,0 @@ -HEADERS += calibration.h \ - scribblewidget.h -SOURCES += calibration.cpp \ - scribblewidget.cpp \ - main.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/mousecalibration -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/mousecalibration -INSTALLS += target sources -QT += widgets - - -simulator: warning(This example does not work on Simulator platform) diff --git a/examples/qws/mousecalibration/scribblewidget.cpp b/examples/qws/mousecalibration/scribblewidget.cpp deleted file mode 100644 index c217411f64..0000000000 --- a/examples/qws/mousecalibration/scribblewidget.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include "scribblewidget.h" - -ScribbleWidget::ScribbleWidget(QWidget *parent) - : QWidget(parent) -{ - scribbling = false; -} - -void ScribbleWidget::resizeEvent(QResizeEvent *e) -{ - image = QImage(e->size(), QImage::Format_RGB32); - image.fill(QColor(Qt::white).rgb()); -} - -void ScribbleWidget::mousePressEvent(QMouseEvent *event) -{ - if (event->button() != Qt::LeftButton) - return; - - lastPoint = event->pos(); - scribbling = true; -} - -void ScribbleWidget::mouseMoveEvent(QMouseEvent *event) -{ - if ((event->buttons() & Qt::LeftButton) && scribbling) - drawLineTo(event->pos()); -} - -void ScribbleWidget::mouseReleaseEvent(QMouseEvent *event) -{ - if (event->button() == Qt::LeftButton && scribbling) { - drawLineTo(event->pos()); - scribbling = false; - } -} - -void ScribbleWidget::paintEvent(QPaintEvent *) -{ - QPainter painter(this); - painter.drawImage(QPoint(0, 0), image); -} - -void ScribbleWidget::drawLineTo(const QPoint &endPoint) -{ - QPainter painter(&image); - painter.setPen(QPen(Qt::blue, 1, Qt::SolidLine, - Qt::RoundCap, Qt::RoundJoin)); - painter.drawLine(lastPoint, endPoint); - update(); - lastPoint = endPoint; -} diff --git a/examples/qws/mousecalibration/scribblewidget.h b/examples/qws/mousecalibration/scribblewidget.h deleted file mode 100644 index fca4139512..0000000000 --- a/examples/qws/mousecalibration/scribblewidget.h +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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 SCRIBBLEWIDGET_H -#define SCRIBBLEWIDGET_H - -#include -#include -#include -#include -#include - -class ScribbleWidget : public QWidget -{ -public: - ScribbleWidget(QWidget *parent = 0); - - void resizeEvent(QResizeEvent *e); - void mousePressEvent(QMouseEvent *event); - void mouseMoveEvent(QMouseEvent *event); - void mouseReleaseEvent(QMouseEvent *event); - void paintEvent(QPaintEvent *); - -private: - void drawLineTo(const QPoint &endPoint); - -private: - bool scribbling; - QPoint lastPoint; - QImage image; -}; - -#endif // SCRIBBLEWIDGET_H diff --git a/examples/qws/qws.pro b/examples/qws/qws.pro deleted file mode 100644 index 06e3aa8eba..0000000000 --- a/examples/qws/qws.pro +++ /dev/null @@ -1,10 +0,0 @@ -TEMPLATE = subdirs -# no /dev/fbX -!qnx:!vxworks:SUBDIRS = framebuffer -SUBDIRS += mousecalibration simpledecoration - -# install -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS README *.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws -INSTALLS += sources -QT += widgets diff --git a/examples/qws/simpledecoration/analogclock.cpp b/examples/qws/simpledecoration/analogclock.cpp deleted file mode 100644 index 67d74c4781..0000000000 --- a/examples/qws/simpledecoration/analogclock.cpp +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include - -#include "analogclock.h" - -AnalogClock::AnalogClock(QWidget *parent) - : QWidget(parent) -{ - QTimer *timer = new QTimer(this); - connect(timer, SIGNAL(timeout()), this, SLOT(update())); - timer->start(1000); - - setWindowTitle(tr("Analog Clock")); - resize(200, 200); -} - -void AnalogClock::paintEvent(QPaintEvent *) -{ - static const QPoint hourHand[3] = { - QPoint(7, 8), - QPoint(-7, 8), - QPoint(0, -40) - }; - static const QPoint minuteHand[3] = { - QPoint(7, 8), - QPoint(-7, 8), - QPoint(0, -70) - }; - - QColor hourColor(127, 0, 127); - QColor minuteColor(0, 127, 127, 191); - - int side = qMin(width(), height()); - QTime time = QTime::currentTime(); - - QPainter painter(this); - painter.setRenderHint(QPainter::Antialiasing); - painter.translate(width() / 2, height() / 2); - painter.scale(side / 200.0, side / 200.0); - - painter.setPen(Qt::NoPen); - painter.setBrush(hourColor); - - painter.save(); - painter.rotate(30.0 * ((time.hour() + time.minute() / 60.0))); - painter.drawConvexPolygon(hourHand, 3); - painter.restore(); - - painter.setPen(hourColor); - - for (int i = 0; i < 12; ++i) { - painter.drawLine(88, 0, 96, 0); - painter.rotate(30.0); - } - - painter.setPen(Qt::NoPen); - painter.setBrush(minuteColor); - - painter.save(); - painter.rotate(6.0 * (time.minute() + time.second() / 60.0)); - painter.drawConvexPolygon(minuteHand, 3); - painter.restore(); - - painter.setPen(minuteColor); - - for (int j = 0; j < 60; ++j) { - if ((j % 5) != 0) - painter.drawLine(92, 0, 96, 0); - painter.rotate(6.0); - } -} diff --git a/examples/qws/simpledecoration/analogclock.h b/examples/qws/simpledecoration/analogclock.h deleted file mode 100644 index 2fe91c7dbc..0000000000 --- a/examples/qws/simpledecoration/analogclock.h +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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 ANALOGCLOCK_H -#define ANALOGCLOCK_H - -#include - -class AnalogClock : public QWidget -{ - Q_OBJECT - -public: - AnalogClock(QWidget *parent = 0); - -protected: - void paintEvent(QPaintEvent *event); -}; - -#endif diff --git a/examples/qws/simpledecoration/main.cpp b/examples/qws/simpledecoration/main.cpp deleted file mode 100644 index 1f0d367bc6..0000000000 --- a/examples/qws/simpledecoration/main.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include -#include "analogclock.h" -#include "mydecoration.h" - -//! [create application] -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - MyDecoration *decoration = new MyDecoration(); - app.qwsSetDecoration(decoration); -//! [create application] - -//! [start application] - AnalogClock clock; - clock.show(); - - return app.exec(); -} -//! [start application] diff --git a/examples/qws/simpledecoration/mydecoration.cpp b/examples/qws/simpledecoration/mydecoration.cpp deleted file mode 100644 index 7b324e18c1..0000000000 --- a/examples/qws/simpledecoration/mydecoration.cpp +++ /dev/null @@ -1,374 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include -#include "mydecoration.h" - -/* XPM */ -static const char * const _close_button[] = { -"16 16 3 1", -" c none", -". c #ffafaf", -"x c #000000", -" ", -" xxxxxxxxxxxxxx ", -" x............x ", -" x.x........x.x ", -" x..x......x..x ", -" x...x....x...x ", -" x....x..x....x ", -" x.....xx.....x ", -" x.....xx.....x ", -" x....x..x....x ", -" x...x....x...x ", -" x..x......x..x ", -" x.x........x.x ", -" x............x ", -" xxxxxxxxxxxxxx ", -" "}; - -static const char * const _normalize_button[] = { -"16 16 4 1", -" c none", -". c #dfdfff", -"o c #7f7f7f", -"x c #000000", -" ", -" xxxxxxxxxxxxxx ", -" xx...........x ", -" x.x..........x ", -" x..x..x......x ", -" x...xxx......x ", -" x...xxx......x ", -" x..xxxx......x ", -" x............x ", -" x.......xxxx.x ", -" x.......x..x.x ", -" x.......x..x.x ", -" x.......xxxx.x ", -" x............x ", -" xxxxxxxxxxxxxx ", -" "}; - -static const char * const _maximize_button[] = { -"16 16 4 1", -" c none", -". c #dfdfff", -"o c #7f7f7f", -"x c #000000", -" ", -" xxxxxxxxxxxxxx ", -" x............x ", -" x.......xxxx.x ", -" x........xxx.x ", -" x........xxx.x ", -" x.......x..x.x ", -" x......x.....x ", -" x.....x......x ", -" x.oooo.......x ", -" x.o..o.......x ", -" x.o..o.......x ", -" x.oooo.......x ", -" x............x ", -" xxxxxxxxxxxxxx ", -" "}; - -static const char * const _help_button[] = { -"16 16 3 1", -" c none", -". c #afffdf", -"x c #000000", -" ", -" xxxxxxxxxxxxxx ", -" x............x ", -" x....xxxx....x ", -" x..xx....xx..x ", -" x.xx......xx.x ", -" x.xx......xx.x ", -" x........xx..x ", -" x......xx....x ", -" x.....xx.....x ", -" x.....xx.....x ", -" x............x ", -" x.....xx.....x ", -" x............x ", -" xxxxxxxxxxxxxx ", -" "}; - -//! [constructor start] -MyDecoration::MyDecoration() - : QDecorationDefault() -{ - border = 4; - titleHeight = 24; - buttonWidth = 20; - buttonHeight = 20; - buttonMargin = 2; - buttonHints << Qt::Window - << Qt::WindowMaximizeButtonHint - << Qt::WindowContextHelpButtonHint; - //! [constructor start] - - //! [map window flags to decoration regions] - buttonHintMap[Qt::Window] = Close; - buttonHintMap[Qt::WindowMaximizeButtonHint] = Maximize; - buttonHintMap[Qt::WindowContextHelpButtonHint] = Help; - //! [map window flags to decoration regions] - - //! [map decoration regions to pixmaps] - normalButtonPixmaps[Close] = QPixmap(_close_button); - normalButtonPixmaps[Maximize] = QPixmap(_maximize_button); - normalButtonPixmaps[Normalize] = QPixmap(_normalize_button); - normalButtonPixmaps[Help] = QPixmap(_help_button); - - maximizedButtonPixmaps[Close] = QPixmap(_close_button); - maximizedButtonPixmaps[Maximize] = QPixmap(_normalize_button); - maximizedButtonPixmaps[Normalize] = QPixmap(_normalize_button); - maximizedButtonPixmaps[Help] = QPixmap(_help_button); - //! [map decoration regions to pixmaps] - - //! [constructor end] - stateRegions << Close << Maximize << Help; -} -//! [constructor end] - -//! [region start] -QRegion MyDecoration::region(const QWidget *widget, const QRect &insideRect, - int decorationRegion) -{ - //! [region start] - //! [calculate the positions of buttons based on the window flags used] - QHash buttons; - Qt::WindowFlags flags = widget->windowFlags(); - int dx = -buttonMargin - buttonWidth; - - foreach (Qt::WindowType button, buttonHints) { - if (flags & button) { - int x = (buttons.size() + 1) * dx; - buttons[buttonHintMap[button]] = x; - } - } - //! [calculate the positions of buttons based on the window flags used] - - //! [calculate the extent of the title] - int titleRightMargin = buttons.size() * dx; - - QRect outsideRect(insideRect.left() - border, - insideRect.top() - titleHeight - border, - insideRect.width() + 2 * border, - insideRect.height() + titleHeight + 2 * border); - //! [calculate the extent of the title] - - //! [check for all regions] - QRegion region; - - if (decorationRegion == All) { - region += QRegion(outsideRect) - QRegion(insideRect); - return region; - } - //! [check for all regions] - - //! [compose a region based on the decorations specified] - if (decorationRegion & Title) { - QRect rect = outsideRect.adjusted(border, border, -border, 0); - rect.setHeight(titleHeight); - - // Adjust the width to accommodate buttons. - rect.setWidth(qMax(0, rect.width() + titleRightMargin)); - region += rect; - } - if (decorationRegion & Top) { - QRect rect = outsideRect.adjusted(border, 0, -border, 0); - rect.setHeight(border); - region += rect; - } - if (decorationRegion & Left) { - QRect rect = outsideRect.adjusted(0, border, 0, -border); - rect.setWidth(border); - region += rect; - } - if (decorationRegion & Right) { - QRect rect = outsideRect.adjusted(0, border, 0, -border); - rect.setLeft(rect.right() + 1 - border); - region += rect; - } - if (decorationRegion & Bottom) { - QRect rect = outsideRect.adjusted(border, 0, -border, 0); - rect.setTop(rect.bottom() + 1 - border); - region += rect; - } - if (decorationRegion & TopLeft) { - QRect rect = outsideRect; - rect.setWidth(border); - rect.setHeight(border); - region += rect; - } - if (decorationRegion & TopRight) { - QRect rect = outsideRect; - rect.setLeft(rect.right() + 1 - border); - rect.setHeight(border); - region += rect; - } - if (decorationRegion & BottomLeft) { - QRect rect = outsideRect; - rect.setWidth(border); - rect.setTop(rect.bottom() + 1 - border); - region += rect; - } - if (decorationRegion & BottomRight) { - QRect rect = outsideRect; - rect.setLeft(rect.right() + 1 - border); - rect.setTop(rect.bottom() + 1 - border); - region += rect; - } - //! [compose a region based on the decorations specified] - - //! [add a region for each button only if it is present] - foreach (QDecoration::DecorationRegion testRegion, stateRegions) { - if (decorationRegion & testRegion and buttons.contains(testRegion)) { - // Inside the title rectangle - QRect rect = outsideRect.adjusted(border, border, -border, 0); - rect.setHeight(titleHeight); - - dx = buttons[testRegion]; - rect.setLeft(rect.right() + 1 + dx); - rect.setWidth(buttonWidth + buttonMargin); - region += rect; - } - } - //! [add a region for each button only if it is present] - - //! [region end] - return region; -} -//! [region end] - -//! [paint start] -bool MyDecoration::paint(QPainter *painter, const QWidget *widget, - int decorationRegion, DecorationState state) -{ - if (decorationRegion == None) - return false; - //! [paint start] - - //! [paint different regions] - bool handled = false; - - QPalette palette = QApplication::palette(); - QHash buttonPixmaps; - - if (widget->windowState() == Qt::WindowMaximized) - buttonPixmaps = maximizedButtonPixmaps; - else - buttonPixmaps = normalButtonPixmaps; - - if (decorationRegion & Title) { - QRect rect = QDecoration::region(widget, Title).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Base)); - painter->save(); - painter->setPen(QPen(palette.color(QPalette::Text))); - painter->drawText(rect, Qt::AlignCenter, widget->windowTitle()); - painter->restore(); - handled = true; - } - if (decorationRegion & Top) { - QRect rect = QDecoration::region(widget, Top).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & Left) { - QRect rect = QDecoration::region(widget, Left).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & Right) { - QRect rect = QDecoration::region(widget, Right).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & Bottom) { - QRect rect = QDecoration::region(widget, Bottom).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & TopLeft) { - QRect rect = QDecoration::region(widget, TopLeft).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & TopRight) { - QRect rect = QDecoration::region(widget, TopRight).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & BottomLeft) { - QRect rect = QDecoration::region(widget, BottomLeft).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & BottomRight) { - QRect rect = QDecoration::region(widget, BottomRight).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - //! [paint different regions] - - //! [paint buttons] - int margin = (titleHeight - 16) / 2; - Qt::WindowFlags flags = widget->windowFlags(); - - foreach (DecorationRegion testRegion, stateRegions) { - if (decorationRegion & testRegion && flags & buttonHintMap.key(testRegion)) { - QRect rect = QDecoration::region( - widget, testRegion).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Base)); - - QRect buttonRect = rect.adjusted(0, margin, -buttonMargin - margin, - -buttonMargin); - painter->drawPixmap(buttonRect.topLeft(), buttonPixmaps[testRegion]); - handled = true; - } - } - //! [paint buttons] - - //! [paint end] - return handled; -} -//! [paint end] diff --git a/examples/qws/simpledecoration/mydecoration.h b/examples/qws/simpledecoration/mydecoration.h deleted file mode 100644 index 6758f69449..0000000000 --- a/examples/qws/simpledecoration/mydecoration.h +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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 MYDECORATION_H -#define MYDECORATION_H - -#include -#include -#include -#include -#include - -//! [decoration class definition] -class MyDecoration : public QDecorationDefault -{ -public: - MyDecoration(); - QRegion region(const QWidget *widget, const QRect &insideRect, int decorationRegion); - bool paint(QPainter *painter, const QWidget *widget, int decorationRegion, DecorationState state); - -private: - int border; - int buttonHeight; - int buttonMargin; - int buttonWidth; - int titleHeight; - QHash buttonHintMap; - QHash normalButtonPixmaps; - QHash maximizedButtonPixmaps; - QVector buttonHints; - QVector stateRegions; -}; -//! [decoration class definition] - -#endif diff --git a/examples/qws/simpledecoration/simpledecoration.desktop b/examples/qws/simpledecoration/simpledecoration.desktop deleted file mode 100644 index 9cd588eb1d..0000000000 --- a/examples/qws/simpledecoration/simpledecoration.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Type=Application -Terminal=false -Name=Simple Decoration -Exec=/opt/usr/bin/simpledecoration -Icon=simpledecoration -X-Window-Icon= -X-HildonDesk-ShowInToolbar=true -X-Osso-Type=application/x-executable diff --git a/examples/qws/simpledecoration/simpledecoration.pro b/examples/qws/simpledecoration/simpledecoration.pro deleted file mode 100644 index 274b87af2b..0000000000 --- a/examples/qws/simpledecoration/simpledecoration.pro +++ /dev/null @@ -1,16 +0,0 @@ -TEMPLATE = app -HEADERS = analogclock.h \ - mydecoration.h -SOURCES = analogclock.cpp \ - main.cpp \ - mydecoration.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/simpledecoration -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/simpledecoration -INSTALLS += target sources -QT += widgets - - -simulator: warning(This example does not work on Simulator platform) diff --git a/examples/qws/svgalib/README b/examples/qws/svgalib/README deleted file mode 100644 index 227c066f01..0000000000 --- a/examples/qws/svgalib/README +++ /dev/null @@ -1,9 +0,0 @@ -This is the SVGA screen driver plugin example for QWS. - -You may need to set the SVGALIB_DEFAULT_MODE environment -variable. These values have been confirmed to work on one specific -machine using svgalib 1.4.3: 18, 24, 34, 35, 36 - -There is a bug in the example causing missing updates in 8-bit mode -(e.g. modes 10 and 12). Fixing this bug is left as an exercise for the -reader. diff --git a/examples/qws/svgalib/svgalib.desktop b/examples/qws/svgalib/svgalib.desktop deleted file mode 100644 index 94ea92fd52..0000000000 --- a/examples/qws/svgalib/svgalib.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Type=Application -Terminal=false -Name=Accelerated Graphics Driver -Exec=/opt/usr/bin/svgalib -Icon=svgalib -X-Window-Icon= -X-HildonDesk-ShowInToolbar=true -X-Osso-Type=application/x-executable diff --git a/examples/qws/svgalib/svgalib.pro b/examples/qws/svgalib/svgalib.pro deleted file mode 100644 index 7058750bb3..0000000000 --- a/examples/qws/svgalib/svgalib.pro +++ /dev/null @@ -1,22 +0,0 @@ -TEMPLATE = lib -CONFIG += plugin - -LIBS += -lvgagl -lvga - -TARGET = svgalibscreen -target.path = $$[QT_INSTALL_PLUGINS]/gfxdrivers -INSTALLS += target - -HEADERS = svgalibscreen.h \ - svgalibpaintengine.h \ - svgalibsurface.h \ - svgalibpaintdevice.h -SOURCES = svgalibscreen.cpp \ - svgalibpaintengine.cpp \ - svgalibsurface.cpp \ - svgalibpaintdevice.cpp \ - svgalibplugin.cpp - -QT += widgets - -simulator: warning(This example does not work on Simulator platform) diff --git a/examples/qws/svgalib/svgalibpaintdevice.cpp b/examples/qws/svgalib/svgalibpaintdevice.cpp deleted file mode 100644 index 6a6063d35a..0000000000 --- a/examples/qws/svgalib/svgalibpaintdevice.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include "svgalibpaintdevice.h" -#include "svgalibpaintengine.h" - -#include -#include - -SvgalibPaintDevice::SvgalibPaintDevice(QWidget *w) - : QCustomRasterPaintDevice(w) -{ - pengine = new SvgalibPaintEngine(this); -} - -SvgalibPaintDevice::~SvgalibPaintDevice() -{ - delete pengine; -} - -int SvgalibPaintDevice::metric(PaintDeviceMetric m) const -{ - if (m == PdmWidth) - return QApplication::desktop()->screenGeometry().width(); - else if (m == PdmHeight) - return QApplication::desktop()->screenGeometry().height(); - return QCustomRasterPaintDevice::metric(m); -} - diff --git a/examples/qws/svgalib/svgalibpaintdevice.h b/examples/qws/svgalib/svgalibpaintdevice.h deleted file mode 100644 index 736a003cfd..0000000000 --- a/examples/qws/svgalib/svgalibpaintdevice.h +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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 SVGALIBPAINTDEVICE_H -#define SVGALIBPAINTDEVICE_H - -#include "svgalibpaintengine.h" -#include -#include - -//! [0] -class SvgalibPaintDevice : public QCustomRasterPaintDevice -{ -public: - SvgalibPaintDevice(QWidget *w); - ~SvgalibPaintDevice(); - - void* memory() const { return QScreen::instance()->base(); } - - QPaintEngine *paintEngine() const { return pengine; } - int metric(PaintDeviceMetric m) const; - -private: - SvgalibPaintEngine *pengine; -}; -//! [0] - -#endif // SVGALIBPAINTDEVICE_H diff --git a/examples/qws/svgalib/svgalibpaintengine.cpp b/examples/qws/svgalib/svgalibpaintengine.cpp deleted file mode 100644 index 1f109f585c..0000000000 --- a/examples/qws/svgalib/svgalibpaintengine.cpp +++ /dev/null @@ -1,190 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include "svgalibpaintengine.h" - -#include -#include -#include - -SvgalibPaintEngine::SvgalibPaintEngine(QPaintDevice *device) - : QRasterPaintEngine(device) -{ -} - -SvgalibPaintEngine::~SvgalibPaintEngine() -{ -} - -//! [0] -bool SvgalibPaintEngine::begin(QPaintDevice *dev) -{ - device = dev; - pen = Qt::NoPen; - simplePen = true; - brush = Qt::NoBrush; - simpleBrush = true; - matrix = QTransform(); - simpleMatrix = true; - setClip(QRect(0, 0, device->width(), device->height())); - opaque = true; - aliased = true; - sourceOver = true; - - return QRasterPaintEngine::begin(dev); -} -//! [0] - -//! [1] -bool SvgalibPaintEngine::end() -{ - gl_setclippingwindow(0, 0, device->width() - 1, device->height() - 1); - return QRasterPaintEngine::end(); -} -//! [1] - -//! [2] -void SvgalibPaintEngine::updateState() -{ - QRasterPaintEngineState *s = state(); - - if (s->dirty & DirtyTransform) { - matrix = s->matrix; - simpleMatrix = (matrix.m12() == 0 && matrix.m21() == 0); - } - - if (s->dirty & DirtyPen) { - pen = s->pen; - simplePen = (pen.width() == 0 || pen.widthF() <= 1) - && (pen.style() == Qt::NoPen || pen.style() == Qt::SolidLine) - && (pen.color().alpha() == 255); - } - - if (s->dirty & DirtyBrush) { - brush = s->brush; - simpleBrush = (brush.style() == Qt::SolidPattern - || brush.style() == Qt::NoBrush) - && (brush.color().alpha() == 255); - } - - if (s->dirty & DirtyClipRegion) - setClip(s->clipRegion); - - if (s->dirty & DirtyClipEnabled) { - clipEnabled = s->isClipEnabled(); - updateClip(); - } - - if (s->dirty & DirtyClipPath) { - setClip(QRegion()); - simpleClip = false; - } - - if (s->dirty & DirtyCompositionMode) { - const QPainter::CompositionMode m = s->composition_mode; - sourceOver = (m == QPainter::CompositionMode_SourceOver); - } - - if (s->dirty & DirtyOpacity) - opaque = (s->opacity == 256); - - if (s->dirty & DirtyHints) - aliased = !(s->flags.antialiased); -} -//! [2] - -//! [3] -void SvgalibPaintEngine::setClip(const QRegion ®ion) -{ - if (region.isEmpty()) - clip = QRect(0, 0, device->width(), device->height()); - else - clip = matrix.map(region) & QRect(0, 0, device->width(), device->height()); - clipEnabled = true; - updateClip(); -} -//! [3] - -//! [4] -void SvgalibPaintEngine::updateClip() -{ - QRegion clipRegion = QRect(0, 0, device->width(), device->height()); - - if (!systemClip().isEmpty()) - clipRegion &= systemClip(); - if (clipEnabled) - clipRegion &= clip; - - simpleClip = (clipRegion.rects().size() <= 1); - - const QRect r = clipRegion.boundingRect(); - gl_setclippingwindow(r.left(), r.top(), - r.x() + r.width(), - r.y() + r.height()); -} -//! [4] - -//! [5] -void SvgalibPaintEngine::drawRects(const QRect *rects, int rectCount) -{ - const bool canAccelerate = simplePen && simpleBrush && simpleMatrix - && simpleClip && opaque && aliased - && sourceOver; - if (!canAccelerate) { - QRasterPaintEngine::drawRects(rects, rectCount); - return; - } - - for (int i = 0; i < rectCount; ++i) { - const QRect r = matrix.mapRect(rects[i]); - if (brush != Qt::NoBrush) { - gl_fillbox(r.left(), r.top(), r.width(), r.height(), - brush.color().rgba()); - } - if (pen != Qt::NoPen) { - const int c = pen.color().rgba(); - gl_hline(r.left(), r.top(), r.right(), c); - gl_hline(r.left(), r.bottom(), r.right(), c); - gl_line(r.left(), r.top(), r.left(), r.bottom(), c); - gl_line(r.right(), r.top(), r.right(), r.bottom(), c); - } - } -} -//! [5] diff --git a/examples/qws/svgalib/svgalibpaintengine.h b/examples/qws/svgalib/svgalibpaintengine.h deleted file mode 100644 index 2bbbb0c942..0000000000 --- a/examples/qws/svgalib/svgalibpaintengine.h +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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 SVGALIBPAINTENGINE_H -#define SVGALIBPAINTENGINE_H - -//! [0] -#include - -class SvgalibPaintEngine : public QRasterPaintEngine -{ -public: - SvgalibPaintEngine(QPaintDevice *device); - ~SvgalibPaintEngine(); - - bool begin(QPaintDevice *device); - bool end(); - void updateState(); - void drawRects(const QRect *rects, int rectCount); - -private: - void setClip(const QRegion ®ion); - void updateClip(); - - QPen pen; - bool simplePen; - QBrush brush; - bool simpleBrush; - QTransform matrix; - bool simpleMatrix; - QRegion clip; - bool clipEnabled; - bool simpleClip; - bool opaque; - bool aliased; - bool sourceOver; - QPaintDevice *device; -}; -//! [0] - -#endif // SVGALIBPAINTENGINE_H diff --git a/examples/qws/svgalib/svgalibplugin.cpp b/examples/qws/svgalib/svgalibplugin.cpp deleted file mode 100644 index 993e0ed0a1..0000000000 --- a/examples/qws/svgalib/svgalibplugin.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include "svgalibscreen.h" - -#include -#include - -class SvgalibPlugin : public QScreenDriverPlugin -{ -public: - SvgalibPlugin(); - - QStringList keys() const; - QScreen *create(const QString&, int displayId); -}; - -SvgalibPlugin::SvgalibPlugin() - : QScreenDriverPlugin() -{ -} - -QStringList SvgalibPlugin::keys() const -{ - return (QStringList() << "svgalib"); -} - -QScreen* SvgalibPlugin::create(const QString& driver, int displayId) -{ - if (driver.toLower() != "svgalib") - return 0; - - return new SvgalibScreen(displayId); -} - -Q_EXPORT_STATIC_PLUGIN(Svgalib) -Q_EXPORT_PLUGIN2(svgalibscreendriver, SvgalibPlugin) diff --git a/examples/qws/svgalib/svgalibscreen.cpp b/examples/qws/svgalib/svgalibscreen.cpp deleted file mode 100644 index 689568d045..0000000000 --- a/examples/qws/svgalib/svgalibscreen.cpp +++ /dev/null @@ -1,353 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include "svgalibscreen.h" -#include "svgalibsurface.h" - -#include -#include -#include -#include - -#include - -static int getModeDepth(vga_modeinfo *mode) -{ - const int bits = int(log2(mode->colors)); - if (bits == 24 && mode->bytesperpixel == 4) - return 32; - return bits; -} - -//! [0] -bool SvgalibScreen::connect(const QString &displaySpec) -{ - int mode = vga_getdefaultmode(); - if (mode <= 0) { - qCritical("SvgalibScreen::connect(): invalid vga mode"); - return false; - } - - vga_modeinfo *modeinfo = vga_getmodeinfo(mode); - - QScreen::lstep = modeinfo->linewidth; - QScreen::dw = QScreen::w = modeinfo->width; - QScreen::dh = QScreen::h = modeinfo->height; - QScreen::d = getModeDepth(modeinfo); - QScreen::size = QScreen::lstep * dh; - QScreen::data = 0; - - switch (depth()) { - case 32: - setPixelFormat(QImage::Format_ARGB32_Premultiplied); - break; - case 24: - setPixelFormat(QImage::Format_RGB888); - break; - case 16: - setPixelFormat(QImage::Format_RGB16); - break; - case 15: - setPixelFormat(QImage::Format_RGB555); - break; - default: - break; - } - - const int dpi = 72; - QScreen::physWidth = qRound(QScreen::dw * 25.4 / dpi); - QScreen::physHeight = qRound(QScreen::dh * 25.4 / dpi); - - const QStringList args = displaySpec.split(QLatin1Char(':'), - QString::SkipEmptyParts); - grayscale = args.contains(QLatin1String("grayscale"), Qt::CaseInsensitive); - - return true; -} -//! [0] - -void SvgalibScreen::initColorMap() -{ - const int numColors = vga_getcolors(); - if (numColors == 2 || numColors > 256) { - screencols = 0; - return; // not a palette based mode - } - - if (numColors == 16) { - if (grayscale) { - for (int i = 0; i < 256; ++i) { - const int c = i * 16 / 256; - vga_setpalette(i, c, c, c); - } - screencols = 256; // XXX: takes advantage of optimization in alloc() - } else { // read in EGA palette - int r, g, b; - for (int i = 0; i < 16; ++i) { - vga_getpalette(i, &r, &g, &b); - screenclut[i] = qRgb(r, g, b); - } - screencols = 16; - } - - return; - } - - Q_ASSERT(numColors == 256); - - if (grayscale) { - for (int i = 0; i < 256; ++i) { - const int c = i * 64 / 256; - vga_setpalette(i, c, c, c); - } - } else { - int i = 0; - -#if 0 - // read in EGA palette - while (i < 16) { - int r, g, b; - vga_getpalette(i, &r, &g, &b); - screenclut[i] = qRgb(r, g, b); - ++i; - } - screencols = 16; -#endif - - // 6 * 6 * 6 color cube - for (int r = 0; r < 6; ++r) { - for (int g = 0; g < 6; ++g) { - for (int b = 0; b < 6; ++b) { - vga_setpalette(i, r * 64/6, g * 64/6, b * 64/6); - screenclut[i] = qRgb(r * 256/6, g * 256/6, b * 256/6); - ++i; - } - } - } - screencols = i; - - while (i < 256) { - screenclut[i] = qRgb(0, 0, 0); - ++i; - } - } -} - -//! [1] -bool SvgalibScreen::initDevice() -{ - if (vga_init() != 0) { - qCritical("SvgalibScreen::initDevice(): unable to initialize svgalib"); - return false; - } - - int mode = vga_getdefaultmode(); - if (vga_setmode(mode) == -1) { - qCritical("SvgalibScreen::initialize(): unable to set graphics mode"); - return false; - } - - if (gl_setcontextvga(mode) != 0) { - qCritical("SvgalibScreen::initDevice(): unable to set vga context"); - return false; - } - context = gl_allocatecontext(); - gl_getcontext(context); - - vga_modeinfo *modeinfo = vga_getmodeinfo(mode); - if (modeinfo->flags & IS_LINEAR) - QScreen::data = vga_getgraphmem(); - - initColorMap(); - - QScreenCursor::initSoftwareCursor(); - return true; -} -//! [1] - -//! [2] -void SvgalibScreen::shutdownDevice() -{ - gl_freecontext(context); - vga_setmode(TEXT); -} -//! [2] - -//! [3] -void SvgalibScreen::disconnect() -{ -} -//! [3] - -//! [4] -void SvgalibScreen::solidFill(const QColor &color, const QRegion ®) -{ - int c; - if (depth() == 4 || depth() == 8) - c = alloc(color.red(), color.green(), color.blue()); - else - c = gl_rgbcolor(color.red(), color.green(), color.blue()); - - const QVector rects = (reg & region()).rects(); - for (int i = 0; i < rects.size(); ++i) { - const QRect r = rects.at(i); - gl_fillbox(r.left(), r.top(), r.width(), r.height(), c); - } -} -//! [4] - -void SvgalibScreen::blit16To8(const QImage &image, - const QPoint &topLeft, const QRegion ®ion) -{ - const int imageStride = image.bytesPerLine() / 2; - const QVector rects = region.rects(); - - for (int i = 0; i < rects.size(); ++i) { - const QRect r = rects.at(i).translated(-topLeft); - int y = r.y(); - const quint16 *s = reinterpret_cast(image.scanLine(y)); - - while (y <= r.bottom()) { - int x1 = r.x(); - while (x1 <= r.right()) { - const quint16 c = s[x1]; - int x2 = x1; - // find span length - while ((x2+1 < r.right()) && (s[x2+1] == c)) - ++x2; - gl_hline(x1 + topLeft.x(), y + topLeft.y(), x2 + topLeft.x(), - qt_colorConvert(c, 0)); - x1 = x2 + 1; - } - s += imageStride; - ++y; - } - } -} - -void SvgalibScreen::blit32To8(const QImage &image, - const QPoint &topLeft, const QRegion ®ion) -{ - const int imageStride = image.bytesPerLine() / 4; - const QVector rects = region.rects(); - - for (int i = 0; i < rects.size(); ++i) { - const QRect r = rects.at(i).translated(-topLeft); - int y = r.y(); - const quint32 *s = reinterpret_cast(image.scanLine(y)); - - while (y <= r.bottom()) { - int x1 = r.x(); - while (x1 <= r.right()) { - const quint32 c = s[x1]; - int x2 = x1; - // find span length - while ((x2+1 < r.right()) && (s[x2+1] == c)) - ++x2; - gl_hline(x1 + topLeft.x(), y + topLeft.y(), x2 + topLeft.x(), - qt_colorConvert(c, 0)); - x1 = x2 + 1; - } - s += imageStride; - ++y; - } - } -} - -//! [5] -void SvgalibScreen::blit(const QImage &img, const QPoint &topLeft, - const QRegion ®) -{ - if (depth() == 8) { - switch (img.format()) { - case QImage::Format_RGB16: - blit16To8(img, topLeft, reg); - return; - case QImage::Format_RGB32: - case QImage::Format_ARGB32: - case QImage::Format_ARGB32_Premultiplied: - blit32To8(img, topLeft, reg); - return; - default: - break; - } - } - - if (img.format() != pixelFormat()) { - if (base()) - QScreen::blit(img, topLeft, reg); - return; - } - - const QVector rects = (reg & region()).rects(); - - for (int i = 0; i < rects.size(); ++i) { - const QRect r = rects.at(i); - gl_putboxpart(r.x(), r.y(), r.width(), r.height(), - img.width(), img.height(), - static_cast(const_cast(img.bits())), - r.x() - topLeft.x(), r.y() - topLeft.y()); - } -} -//! [5] - -//! [7] -QWSWindowSurface* SvgalibScreen::createSurface(QWidget *widget) const -{ - if (base()) { - static int onScreenPaint = -1; - if (onScreenPaint == -1) - onScreenPaint = qgetenv("QT_ONSCREEN_PAINT").toInt(); - - if (onScreenPaint > 0 || widget->testAttribute(Qt::WA_PaintOnScreen)) - return new SvgalibSurface(widget); - } - return QScreen::createSurface(widget); -} -//! [7] - -//! [8] -QWSWindowSurface* SvgalibScreen::createSurface(const QString &key) const -{ - if (key == QLatin1String("svgalib")) - return new SvgalibSurface; - return QScreen::createSurface(key); -} -//! [8] diff --git a/examples/qws/svgalib/svgalibscreen.h b/examples/qws/svgalib/svgalibscreen.h deleted file mode 100644 index 244375ed18..0000000000 --- a/examples/qws/svgalib/svgalibscreen.h +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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 SVGALIBSCREEN_H -#define SVGALIBSCREEN_H - -#include - -#include -#include - -//! [0] -class SvgalibScreen : public QScreen -{ -public: - SvgalibScreen(int displayId) : QScreen(displayId) {} - ~SvgalibScreen() {} - - bool connect(const QString &displaySpec); - bool initDevice(); - void shutdownDevice(); - void disconnect(); - - void setMode(int, int, int) {} - void blank(bool) {} - - void blit(const QImage &img, const QPoint &topLeft, const QRegion ®ion); - void solidFill(const QColor &color, const QRegion ®ion); -//! [0] - - QWSWindowSurface* createSurface(QWidget *widget) const; - QWSWindowSurface* createSurface(const QString &key) const; - -//! [1] -private: - void initColorMap(); - void blit16To8(const QImage &image, - const QPoint &topLeft, const QRegion ®ion); - void blit32To8(const QImage &image, - const QPoint &topLeft, const QRegion ®ion); - - GraphicsContext *context; -}; -//! [1] - -#endif // SVGALIBSCREEN_H diff --git a/examples/qws/svgalib/svgalibsurface.cpp b/examples/qws/svgalib/svgalibsurface.cpp deleted file mode 100644 index 35f80cbb61..0000000000 --- a/examples/qws/svgalib/svgalibsurface.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -#include "svgalibsurface.h" -#include "svgalibpaintdevice.h" - -#include - -SvgalibSurface::SvgalibSurface() : QWSWindowSurface(), pdevice(0) -{ - setSurfaceFlags(Opaque); -} - -SvgalibSurface::SvgalibSurface(QWidget *w) - : QWSWindowSurface(w) -{ - setSurfaceFlags(Opaque); - pdevice = new SvgalibPaintDevice(w); -} - -SvgalibSurface::~SvgalibSurface() -{ - delete pdevice; -} - -void SvgalibSurface::setGeometry(const QRect &rect) -{ - QWSWindowSurface::setGeometry(rect); -} - -QPoint SvgalibSurface::painterOffset() const -{ - return geometry().topLeft() + QWSWindowSurface::painterOffset(); -} - -//! [0] -bool SvgalibSurface::scroll(const QRegion ®ion, int dx, int dy) -{ - const QVector rects = region.rects(); - for (int i = 0; i < rects.size(); ++i) { - const QRect r = rects.at(i); - gl_copybox(r.left(), r.top(), r.width(), r.height(), - r.left() + dx, r.top() + dy); - } - - return true; -} -//! [0] - diff --git a/examples/qws/svgalib/svgalibsurface.h b/examples/qws/svgalib/svgalibsurface.h deleted file mode 100644 index fd4fd8e26e..0000000000 --- a/examples/qws/svgalib/svgalibsurface.h +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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 SVGALIBSURFACE_H -#define SVGALIBSURFACE_H - -#include "svgalibpaintengine.h" -#include "svgalibpaintdevice.h" -#include - -class SvgalibPaintDevice; - -//! [0] -class SvgalibSurface : public QWSWindowSurface -{ -public: - SvgalibSurface(); - SvgalibSurface(QWidget *w); - ~SvgalibSurface(); - - void setGeometry(const QRect &rect); - bool isValid() const { return true; } - bool scroll(const QRegion ®ion, int dx, int dy); - QString key() const { return QLatin1String("svgalib"); } - - bool attach(const QByteArray &) { return true; } - void detach() {} - - QImage image() const { return QImage(); } - QPaintDevice *paintDevice() { return pdevice; } - QPoint painterOffset() const; - -private: - SvgalibPaintDevice *pdevice; -}; -//! [0] - -#endif // SVGALIBSURFACE_H diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index f71afbb04e..8cf067cd7e 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -86,7 +86,7 @@ for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) { BEARERPLUGINS = qgenericbearer qnativewifibearer CODECPLUGINS = qcncodecs qjpcodecs qkrcodecs qtwcodecs DECORATIONPLUGINS = qdecorationdefault qdecorationstyled qdecorationwindows - GFXDRIVERPLUGINS = qgfxvnc qscreenvfb qgfxtransformed qgfxshadowfb qgfxpvregl qscreenlinuxfb qeglnullws qdirectfbscreen qahiscreen + GFXDRIVERPLUGINS = qscreenvfb qgfxtransformed qgfxshadowfb qgfxpvregl qscreenlinuxfb qeglnullws qdirectfbscreen qahiscreen GRAPHICSSYSTEMPLUGINS = qmeegographicssystem qglgraphicssystem qvggraphicssystem qshivavggraphicssystem IMAGEPLUGINS = qgif qico qjpeg qsvg INPUTPLUGINS = qimsw-multi diff --git a/mkspecs/linux-lsb-g++/qmake.conf b/mkspecs/linux-lsb-g++/qmake.conf index 4335f5ae91..c486534b87 100644 --- a/mkspecs/linux-lsb-g++/qmake.conf +++ b/mkspecs/linux-lsb-g++/qmake.conf @@ -14,6 +14,14 @@ include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) load(qt_config) +QMAKE_LIBS_THREAD += -lrt + QMAKE_LSB = 1 QMAKE_CC = lsbcc QMAKE_CXX = lsbc++ + +QMAKE_LINK_C = $$QMAKE_CC +QMAKE_LINK_C_SHLIB = $$QMAKE_CC + +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h index b363b81d87..9f0fecd61e 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h @@ -219,8 +219,12 @@ struct HB_PairSet_ { HB_UShort PairValueCount; /* number of PairValueRecord tables */ +#ifndef HB_USE_FLEXIBLE_VALUE_RECORD HB_PairValueRecord* PairValueRecord; /* array of PairValueRecord tables */ +#else + HB_Short* ValueRecords; +#endif }; typedef struct HB_PairSet_ HB_PairSet; diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c index 8247875714..217a4fd001 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c +++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c @@ -185,6 +185,18 @@ HB_Error HB_Done_GPOS_Table( HB_GPOSHeader* gpos ) return HB_Err_Ok; } +static HB_UInt Calculate_Class2RecordSize(HB_UShort format1, HB_UShort format2) +{ + // Return number of 16 bit values in two value records with given formats + return (format1 & 0x01) + (format2 & 0x01) + + ((format1 & 0x02) >> 1) + ((format2 & 0x02) >> 1) + + ((format1 & 0x04) >> 2) + ((format2 & 0x04) >> 2) + + ((format1 & 0x08) >> 3) + ((format2 & 0x08) >> 3) + + ((format1 & 0x10) >> 4) + ((format2 & 0x10) >> 4) + + ((format1 & 0x20) >> 5) + ((format2 & 0x20) >> 5) + + ((format1 & 0x40) >> 6) + ((format2 & 0x40) >> 6) + + ((format1 & 0x80) >> 7) + ((format2 & 0x80) >> 7); +} /***************************** * SubTable related functions @@ -1096,7 +1108,6 @@ static HB_Error Lookup_SinglePos( GPOS_Instance* gpi, return HB_Err_Ok; } - /* LookupType 2 */ /* PairSet */ @@ -1111,8 +1122,12 @@ static HB_Error Load_PairSet ( HB_PairSet* ps, HB_UShort n, m, count; HB_UInt base_offset; +#ifdef HB_USE_FLEXIBLE_VALUE_RECORD + HB_UInt record_size = 0; + HB_Short *vr; +#else HB_PairValueRecord* pvr; - +#endif base_offset = FILE_Pos(); @@ -1123,6 +1138,7 @@ static HB_Error Load_PairSet ( HB_PairSet* ps, FORGET_Frame(); +#ifndef HB_USE_FLEXIBLE_VALUE_RECORD ps->PairValueRecord = NULL; if ( ALLOC_ARRAY( ps->PairValueRecord, count, HB_PairValueRecord ) ) @@ -1142,26 +1158,50 @@ static HB_Error Load_PairSet ( HB_PairSet* ps, if ( format1 ) { error = Load_ValueRecord( &pvr[n].Value1, format1, - base_offset, stream ); + base_offset, stream ); if ( error ) - goto Fail; + goto Fail; } if ( format2 ) { error = Load_ValueRecord( &pvr[n].Value2, format2, - base_offset, stream ); + base_offset, stream ); if ( error ) { - if ( format1 ) - Free_ValueRecord( &pvr[n].Value1, format1 ); - goto Fail; + if ( format1 ) + Free_ValueRecord( &pvr[n].Value1, format1 ); + goto Fail; } } } +#else + ps->ValueRecords = 0; + + // Add one for the SecondGlyph part of each record + record_size = Calculate_Class2RecordSize( format1, format2 ) + 1; + + if ( ALLOC_ARRAY( ps->ValueRecords, record_size * count, HB_Short ) ) + return error; + + vr = ps->ValueRecords; + + for ( n = 0; n < count; n++ ) + { + if ( ACCESS_Frame( 2L ) ) + goto Fail; + + for ( m = 0; m < record_size; m++ ) + *(vr++) = GET_Short(); + + FORGET_Frame(); + } +#endif + return HB_Err_Ok; Fail: +#ifndef HB_USE_FLEXIBLE_VALUE_RECORD for ( m = 0; m < n; m++ ) { if ( format1 ) @@ -1171,19 +1211,23 @@ Fail: } FREE( pvr ); +#else + FREE ( ps->ValueRecords ); +#endif + return error; } static void Free_PairSet( HB_PairSet* ps, HB_UShort format1, - HB_UShort format2 ) + HB_UShort format2) { +#ifndef HB_USE_FLEXIBLE_VALUE_RECORD HB_UShort n, count; HB_PairValueRecord* pvr; - if ( ps->PairValueRecord ) { count = ps->PairValueCount; @@ -1199,6 +1243,12 @@ static void Free_PairSet( HB_PairSet* ps, FREE( pvr ); } +#else + if ( ps->ValueRecords ) + { + FREE( ps->ValueRecords ); + } +#endif } @@ -1282,19 +1332,6 @@ static void Free_PairPos1( HB_PairPosFormat1* ppf1, } } -static HB_UInt Calculate_Class2RecordSize(HB_UShort format1, HB_UShort format2) -{ - // Return number of 16 bit values in two value records with given formats - return (format1 & 0x01) + (format2 & 0x01) - + ((format1 & 0x02) >> 1) + ((format2 & 0x02) >> 1) - + ((format1 & 0x04) >> 2) + ((format2 & 0x04) >> 2) - + ((format1 & 0x08) >> 3) + ((format2 & 0x08) >> 3) - + ((format1 & 0x10) >> 4) + ((format2 & 0x10) >> 4) - + ((format1 & 0x20) >> 5) + ((format2 & 0x20) >> 5) - + ((format1 & 0x40) >> 6) + ((format2 & 0x40) >> 6) - + ((format1 & 0x80) >> 7) + ((format2 & 0x80) >> 7); -} - /* PairPosFormat2 */ @@ -1577,7 +1614,6 @@ static void Free_PairPos( HB_GPOS_SubTable* st ) _HB_OPEN_Free_Coverage( &pp->Coverage ); } - static HB_Error Lookup_PairPos1( GPOS_Instance* gpi, HB_PairPosFormat1* ppf1, HB_Buffer buffer, @@ -1589,8 +1625,13 @@ static HB_Error Lookup_PairPos1( GPOS_Instance* gpi, HB_Error error; HB_UShort numpvr, glyph2; +#ifndef HB_USE_FLEXIBLE_VALUE_RECORD HB_PairValueRecord* pvr; - +#else + HB_Short *vr; + HB_UShort second_glyph; + HB_UInt record_size1, record_size2; +#endif if ( index >= ppf1->PairSetCount ) return ERR(HB_Err_Invalid_SubTable); @@ -1598,12 +1639,13 @@ static HB_Error Lookup_PairPos1( GPOS_Instance* gpi, if (!ppf1->PairSet[index].PairValueCount) return HB_Err_Not_Covered; + glyph2 = IN_CURGLYPH(); + +#ifndef HB_USE_FLEXIBLE_VALUE_RECORD pvr = ppf1->PairSet[index].PairValueRecord; if ( !pvr ) return ERR(HB_Err_Invalid_SubTable); - glyph2 = IN_CURGLYPH(); - for ( numpvr = ppf1->PairSet[index].PairValueCount; numpvr; numpvr--, pvr++ ) @@ -1613,11 +1655,38 @@ static HB_Error Lookup_PairPos1( GPOS_Instance* gpi, error = Get_ValueRecord( gpi, &pvr->Value1, format1, POSITION( first_pos ) ); if ( error ) - return error; + return error; return Get_ValueRecord( gpi, &pvr->Value2, format2, POSITION( buffer->in_pos ) ); } } +#else + vr = ppf1->PairSet[index].ValueRecords; + if ( !vr ) + return ERR(HB_Err_Invalid_SubTable); + + record_size1 = Calculate_Class2RecordSize( format1, 0 ); + record_size2 = Calculate_Class2RecordSize( format2, 0 ); + + for ( numpvr = ppf1->PairSet[index].PairValueCount; numpvr; numpvr-- ) + { + second_glyph = *((HB_UShort *)vr); + vr++; + if ( glyph2 == second_glyph ) + { + error = Get_FlexibleValueRecord( gpi, vr, format1, POSITION( first_pos ) ); + if ( error ) + return error; + vr += record_size1; + + return Get_FlexibleValueRecord( gpi, vr, format2, POSITION( buffer->in_pos ) ); + } + else + { + vr += record_size1 + record_size2; + } + } +#endif return HB_Err_Not_Covered; } diff --git a/src/3rdparty/iaccessible2/generated/amd64/Accessible2.h b/src/3rdparty/iaccessible2/generated/amd64/Accessible2.h new file mode 100644 index 0000000000..3973db319e --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/Accessible2.h @@ -0,0 +1,585 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..480a2a7537 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/Accessible2_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..281718a7e5 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/Accessible2_p.c @@ -0,0 +1,1196 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..8755505bf3 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction.h @@ -0,0 +1,220 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..a4d754b68d --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..68eeac00b4 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_p.c @@ -0,0 +1,557 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..7e901563e9 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication.h @@ -0,0 +1,188 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..b50ae8a2c6 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..84d7e30344 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_p.c @@ -0,0 +1,420 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..38f696f45c --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent.h @@ -0,0 +1,185 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..34be13e31c --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..ddcacff7e7 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_p.c @@ -0,0 +1,360 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..4c94154a15 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText.h @@ -0,0 +1,235 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..a444951721 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..9e9b466d86 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_p.c @@ -0,0 +1,579 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..6e6c8a888a --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEventID.h @@ -0,0 +1,105 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..24fad0bd8a --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink.h @@ -0,0 +1,252 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..f668740e0b --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..4cf0a1333c --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_p.c @@ -0,0 +1,1113 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..91cb85c69e --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext.h @@ -0,0 +1,349 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..fbc3ef133a --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..e4df1ac6df --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_p.c @@ -0,0 +1,454 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..a01e4dc0b6 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage.h @@ -0,0 +1,185 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..1afecd10b5 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..4b6aff7ba5 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_p.c @@ -0,0 +1,414 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..e153cd8476 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation.h @@ -0,0 +1,244 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..2ab3837a27 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..e02cf7254c --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_p.c @@ -0,0 +1,520 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..bee6466b7c --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRole.h @@ -0,0 +1,118 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..fbb6ff99b3 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleStates.h @@ -0,0 +1,95 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..fb9c7478a1 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable.h @@ -0,0 +1,497 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..eeacb21515 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2.h @@ -0,0 +1,367 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..56e5f31fc0 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..02c603fde9 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_p.c @@ -0,0 +1,1099 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..85648fcc7e --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell.h @@ -0,0 +1,246 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..fa94037d95 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..bf18e659b6 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_p.c @@ -0,0 +1,634 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..dd4e1fe983 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..cca4e376c8 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_p.c @@ -0,0 +1,1543 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..9b9119629d --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleText.h @@ -0,0 +1,435 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..564c790b78 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..b2512f74ef --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_p.c @@ -0,0 +1,1203 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..b27f9bb0c2 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue.h @@ -0,0 +1,188 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..bc757ff1a1 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..c3fd72ceb2 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_p.c @@ -0,0 +1,1029 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..5b5a313541 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/IA2CommonTypes.h @@ -0,0 +1,102 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..31142c6b44 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.h @@ -0,0 +1,103 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..44e7cdc173 Binary files /dev/null and b/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.tlb differ diff --git a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary_i.c b/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary_i.c new file mode 100644 index 0000000000..f3eabd2c49 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..e1e15a1fc0 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/dlldata.c @@ -0,0 +1,64 @@ +/********************************************************* + DllData file -- generated by MIDL compiler + + DO NOT ALTER THIS FILE + + This file is regenerated by MIDL on every IDL file compile. + + To completely reconstruct this file, delete it and rerun MIDL + on all the IDL files in this DLL, specifying this file for the + /dlldata command line option + +*********************************************************/ + +#define PROXY_DELEGATION + +#include + +#ifdef __cplusplus +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 ) + + +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 ), +/* End of list */ +PROXYFILE_LIST_END + + +DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID ) + +#ifdef __cplusplus +} /*extern "C" */ +#endif + +/* end of generated dlldata file */ diff --git a/src/3rdparty/iaccessible2/generated/x86/Accessible2.h b/src/3rdparty/iaccessible2/generated/x86/Accessible2.h new file mode 100644 index 0000000000..dcf13c0d32 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/Accessible2.h @@ -0,0 +1,585 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..df0f94063e --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/Accessible2_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..abb5883868 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/Accessible2_p.c @@ -0,0 +1,1190 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..c1ebabb899 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleAction.h @@ -0,0 +1,220 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..ea097ef5d6 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..41854575bd --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_p.c @@ -0,0 +1,563 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..e14096869c --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication.h @@ -0,0 +1,188 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..daa0c1f7d3 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..4e51a63fff --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_p.c @@ -0,0 +1,428 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..a5d6fa625b --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent.h @@ -0,0 +1,185 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..b48fee274b --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..23230ff0ac --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_p.c @@ -0,0 +1,369 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..3afeefbac0 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText.h @@ -0,0 +1,235 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..c578bf5078 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..28d1e4b333 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_p.c @@ -0,0 +1,584 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..252375d0c6 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleEventID.h @@ -0,0 +1,105 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..858e6bbd9a --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink.h @@ -0,0 +1,252 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..ef0921fe4c --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..c608123261 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_p.c @@ -0,0 +1,1191 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..180fb394b6 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext.h @@ -0,0 +1,349 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..e6edec9fe7 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..40eddde608 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_p.c @@ -0,0 +1,463 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..d240bb6156 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleImage.h @@ -0,0 +1,185 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..37fa8696d1 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..daa8af2e29 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_p.c @@ -0,0 +1,423 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..b24908a421 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation.h @@ -0,0 +1,244 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..58c8b78be7 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..a3a6cbd632 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_p.c @@ -0,0 +1,527 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..221d1d00f6 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleRole.h @@ -0,0 +1,118 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..058d2e548e --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleStates.h @@ -0,0 +1,95 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..0f7dd49efc --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable.h @@ -0,0 +1,497 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..d511869de4 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2.h @@ -0,0 +1,367 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..f5444155ad --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..f4b782f9dc --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_p.c @@ -0,0 +1,1091 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..621768e149 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell.h @@ -0,0 +1,246 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..4ea10e057d --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..2627caaef9 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_p.c @@ -0,0 +1,637 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..0fa33967ac --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..9ec9ffdb46 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_p.c @@ -0,0 +1,1526 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..4ad53cfa7e --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleText.h @@ -0,0 +1,435 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..bfa9e763c1 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleText_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..ea56621c62 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleText_p.c @@ -0,0 +1,1196 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..6ef70c261f --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleValue.h @@ -0,0 +1,188 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..dffdb123af --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..166e2149b4 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_p.c @@ -0,0 +1,1105 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..7d1df601e6 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/IA2CommonTypes.h @@ -0,0 +1,102 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..e80b2722f9 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.h @@ -0,0 +1,103 @@ + + +/* 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 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 +#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 new file mode 100644 index 0000000000..b4c56c7aaa Binary files /dev/null and b/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.tlb differ diff --git a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary_i.c b/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary_i.c new file mode 100644 index 0000000000..1bf9d5159d --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary_i.c @@ -0,0 +1,79 @@ + + +/* 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 +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#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 new file mode 100644 index 0000000000..e1e15a1fc0 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/dlldata.c @@ -0,0 +1,64 @@ +/********************************************************* + DllData file -- generated by MIDL compiler + + DO NOT ALTER THIS FILE + + This file is regenerated by MIDL on every IDL file compile. + + To completely reconstruct this file, delete it and rerun MIDL + on all the IDL files in this DLL, specifying this file for the + /dlldata command line option + +*********************************************************/ + +#define PROXY_DELEGATION + +#include + +#ifdef __cplusplus +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 ) + + +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 ), +/* End of list */ +PROXYFILE_LIST_END + + +DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID ) + +#ifdef __cplusplus +} /*extern "C" */ +#endif + +/* end of generated dlldata file */ diff --git a/src/3rdparty/iaccessible2/iaccessible2.pri b/src/3rdparty/iaccessible2/iaccessible2.pri new file mode 100644 index 0000000000..f89655a9a0 --- /dev/null +++ b/src/3rdparty/iaccessible2/iaccessible2.pri @@ -0,0 +1,88 @@ + +ARCH_SUBDIR=x86 +contains(QMAKE_TARGET.arch, x86_64): { + ARCH_SUBDIR=amd64 +} else { + !contains(QMAKE_TARGET.arch, x86): message("ERROR: Could not detect architecture from QMAKE_TARGET.arch") +} + +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 \ + $${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 + + +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 + +LIBS += -lRpcRT4 diff --git a/src/3rdparty/iaccessible2/idl/Accessible2.idl b/src/3rdparty/iaccessible2/idl/Accessible2.idl new file mode 100644 index 0000000000..6a0d750483 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/Accessible2.idl @@ -0,0 +1,679 @@ +/************************************************************************* + * + * 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 + + Linux Foundation Trademark Policy 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 +   @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® Win32® API. For more information, refer to + Interpreting HRESULT Values + in MSDN®. + + 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 + Q & A section + of the November 1996 edition of the Microsoft Systems Journal. + @li A posting to a CodeGuru forum, + Windows SDK + String: What are the rules for BSTR allocation and deallocation? + + @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® Active Accessibility®) 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 + + documented by Microsoft 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® are: + @li + "Using QueryService to expose a native object model interface for an IAccessible object" + @li + "Accessing the Internet Explorer Object Associated with an Accessible Object" + + 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 new file mode 100644 index 0000000000..edab0d288b --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleAction.idl @@ -0,0 +1,194 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..ed15aa0018 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleApplication.idl @@ -0,0 +1,121 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..bea623a938 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleComponent.idl @@ -0,0 +1,124 @@ +/************************************************************************* + * + * 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: +

    +
  • The screen coordinate system has its origin in the upper left + corner of the current screen.
  • +
  • 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.
  • +
+*/ +[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 new file mode 100644 index 0000000000..48fefd30ef --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleEditableText.idl @@ -0,0 +1,259 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..1db957d6e5 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleEventID.idl @@ -0,0 +1,230 @@ +/************************************************************************* + * + * 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, + + /** Deprecated. 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, + + /** Deprecated. 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 new file mode 100644 index 0000000000..9311176d9c --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleHyperlink.idl @@ -0,0 +1,187 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..13093bf610 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleHypertext.idl @@ -0,0 +1,123 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..e347614e29 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleImage.idl @@ -0,0 +1,111 @@ +/************************************************************************* + * + * 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: +
    +
  1. 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. +
  2. The user can edit the content that includes an + image and therefore the user needs to be able to review the image's position. +
+*/ +[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 new file mode 100644 index 0000000000..b0c6dfcc97 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleRelation.idl @@ -0,0 +1,197 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..385e02d05a --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleRole.idl @@ -0,0 +1,293 @@ +/************************************************************************* + * + * 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. Deprecated. + 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. +
Note: 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 new file mode 100644 index 0000000000..0304b643da --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleStates.idl @@ -0,0 +1,209 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..69c99a7515 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleTable.idl @@ -0,0 +1,551 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..9d7f3e4475 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleTable2.idl @@ -0,0 +1,375 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..a4cd988384 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleTableCell.idl @@ -0,0 +1,194 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..86fd93ad90 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleText.idl @@ -0,0 +1,674 @@ +/************************************************************************* + * + * 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 + + text attributes specification 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: +
    +
  • the caretOffset for the "one ? three" object would be 4, matching the embed character
  • +
  • the caretOffset for "two" would be 2, matching the "o"
  • +
+ 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: +
    +
  • the startOffset for the "one ? three" object would be 4, matching the embed character and the endOffset would be 5.
  • +
  • the startOffset for the "two" object would be 0, and the endOffset would be 3
  • +
+ 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 new file mode 100644 index 0000000000..cd013d76f8 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/AccessibleValue.idl @@ -0,0 +1,136 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..d3da110873 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/IA2CommonTypes.idl @@ -0,0 +1,191 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..7753825751 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/IA2TypeLibrary.idl @@ -0,0 +1,94 @@ +/************************************************************************* + * + * 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 new file mode 100644 index 0000000000..eb56d9fb60 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/Makefile @@ -0,0 +1,58 @@ + +MIDL = midl +MIDL_OPTS = /out ..\generated + +first: all + +all: x86 amd64 + +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_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 + diff --git a/src/3rdparty/iaccessible2/idl/README b/src/3rdparty/iaccessible2/idl/README new file mode 100644 index 0000000000..0a299f16b4 --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/README @@ -0,0 +1,6 @@ +Just type + nmake +in this directory to generate the files from the idl files. +The generated files will be put in +..\generated\x86 and ..\generated\amd64 + diff --git a/src/3rdparty/pcre/sljit/sljitUtils.c b/src/3rdparty/pcre/sljit/sljitUtils.c index 703f405e18..f3b52fece7 100644 --- a/src/3rdparty/pcre/sljit/sljitUtils.c +++ b/src/3rdparty/pcre/sljit/sljitUtils.c @@ -233,7 +233,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_w SLJIT_CALL sljit_stack_resize(struct sljit_stac aligned_new_limit = (new_limit + sljit_page_align) & ~sljit_page_align; aligned_old_limit = (stack->limit + sljit_page_align) & ~sljit_page_align; if (aligned_new_limit < aligned_old_limit) -#ifdef __QNXNTO__ +#if defined(__QNXNTO__) || defined(__LSB_VERSION__) posix_madvise((void*)aligned_new_limit, aligned_old_limit - aligned_new_limit, POSIX_MADV_DONTNEED); #else madvise((void*)aligned_new_limit, aligned_old_limit - aligned_new_limit, MADV_DONTNEED); diff --git a/src/corelib/global/qprocessordetection.h b/src/corelib/global/qprocessordetection.h index d62794e706..04e0f19f06 100644 --- a/src/corelib/global/qprocessordetection.h +++ b/src/corelib/global/qprocessordetection.h @@ -58,6 +58,10 @@ Q_BYTE_ORDER appropriately for the target processor. For bi-endian processors, we try to auto-detect the byte order using the __BIG_ENDIAN__, __LITTLE_ENDIAN__, or __BYTE_ORDER__ preprocessor macros. + + Note: when adding support for new processors, be sure to update + config.tests/arch/arch.cpp to ensure that configure can detect the target + and host architectures. */ /* Machine byte-order, reuse preprocessor provided macros when available */ diff --git a/src/corelib/io/qfilesystemwatcher_polling.cpp b/src/corelib/io/qfilesystemwatcher_polling.cpp index 92d0a2b6b0..c29fe8c264 100644 --- a/src/corelib/io/qfilesystemwatcher_polling.cpp +++ b/src/corelib/io/qfilesystemwatcher_polling.cpp @@ -42,6 +42,8 @@ #include "qfilesystemwatcher_polling_p.h" #include +#ifndef QT_NO_FILESYSTEMWATCHER + QT_BEGIN_NAMESPACE QPollingFileSystemWatcherEngine::QPollingFileSystemWatcherEngine(QObject *parent) @@ -149,3 +151,4 @@ void QPollingFileSystemWatcherEngine::timeout() } QT_END_NAMESPACE +#endif // !QT_NO_FILESYSTEMWATCHER diff --git a/src/corelib/io/qfilesystemwatcher_polling_p.h b/src/corelib/io/qfilesystemwatcher_polling_p.h index e50082c6d3..926c3baa07 100644 --- a/src/corelib/io/qfilesystemwatcher_polling_p.h +++ b/src/corelib/io/qfilesystemwatcher_polling_p.h @@ -62,6 +62,7 @@ #include "qfilesystemwatcher_p.h" +#ifndef QT_NO_FILESYSTEMWATCHER QT_BEGIN_NAMESPACE enum { PollingInterval = 1000 }; @@ -122,6 +123,6 @@ private: }; QT_END_NAMESPACE - +#endif // !QT_NO_FILESYSTEMWATCHER #endif // QFILESYSTEMWATCHER_POLLING_P_H diff --git a/src/corelib/io/qstandardpaths_mac.cpp b/src/corelib/io/qstandardpaths_mac.cpp index e3779220af..2890ead48a 100644 --- a/src/corelib/io/qstandardpaths_mac.cpp +++ b/src/corelib/io/qstandardpaths_mac.cpp @@ -97,7 +97,7 @@ static QString getFullPath(const FSRef &ref) { QByteArray ba(2048, 0); if (FSRefMakePath(&ref, reinterpret_cast(ba.data()), ba.size()) == noErr) - return QString::fromUtf8(ba).normalized(QString::NormalizationForm_C); + return QString::fromUtf8(ba.constData()).normalized(QString::NormalizationForm_C); return QString(); } diff --git a/src/corelib/itemmodels/qidentityproxymodel.cpp b/src/corelib/itemmodels/qidentityproxymodel.cpp index 1f95ac0660..9cac40469a 100644 --- a/src/corelib/itemmodels/qidentityproxymodel.cpp +++ b/src/corelib/itemmodels/qidentityproxymodel.cpp @@ -328,87 +328,87 @@ QVariant QIdentityProxyModel::headerData(int section, Qt::Orientation orientatio /*! \reimp */ -void QIdentityProxyModel::setSourceModel(QAbstractItemModel* sourceModel) +void QIdentityProxyModel::setSourceModel(QAbstractItemModel* newSourceModel) { beginResetModel(); - if (sourceModel) { - disconnect(sourceModel, SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), + if (sourceModel()) { + disconnect(sourceModel(), SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(_q_sourceRowsAboutToBeInserted(const QModelIndex &, int, int))); - disconnect(sourceModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)), + disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(_q_sourceRowsInserted(const QModelIndex &, int, int))); - disconnect(sourceModel, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), + disconnect(sourceModel(), SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(_q_sourceRowsAboutToBeRemoved(const QModelIndex &, int, int))); - disconnect(sourceModel, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), + disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(_q_sourceRowsRemoved(const QModelIndex &, int, int))); - disconnect(sourceModel, SIGNAL(rowsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int)), + disconnect(sourceModel(), SIGNAL(rowsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int)), this, SLOT(_q_sourceRowsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int))); - disconnect(sourceModel, SIGNAL(rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int)), + disconnect(sourceModel(), SIGNAL(rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int)), this, SLOT(_q_sourceRowsMoved(const QModelIndex &, int, int, const QModelIndex &, int))); - disconnect(sourceModel, SIGNAL(columnsAboutToBeInserted(const QModelIndex &, int, int)), + disconnect(sourceModel(), SIGNAL(columnsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(_q_sourceColumnsAboutToBeInserted(const QModelIndex &, int, int))); - disconnect(sourceModel, SIGNAL(columnsInserted(const QModelIndex &, int, int)), + disconnect(sourceModel(), SIGNAL(columnsInserted(const QModelIndex &, int, int)), this, SLOT(_q_sourceColumnsInserted(const QModelIndex &, int, int))); - disconnect(sourceModel, SIGNAL(columnsAboutToBeRemoved(const QModelIndex &, int, int)), + disconnect(sourceModel(), SIGNAL(columnsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(_q_sourceColumnsAboutToBeRemoved(const QModelIndex &, int, int))); - disconnect(sourceModel, SIGNAL(columnsRemoved(const QModelIndex &, int, int)), + disconnect(sourceModel(), SIGNAL(columnsRemoved(const QModelIndex &, int, int)), this, SLOT(_q_sourceColumnsRemoved(const QModelIndex &, int, int))); - disconnect(sourceModel, SIGNAL(columnsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int)), + disconnect(sourceModel(), SIGNAL(columnsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int)), this, SLOT(_q_sourceColumnsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int))); - disconnect(sourceModel, SIGNAL(columnsMoved(const QModelIndex &, int, int, const QModelIndex &, int)), + disconnect(sourceModel(), SIGNAL(columnsMoved(const QModelIndex &, int, int, const QModelIndex &, int)), this, SLOT(_q_sourceColumnsMoved(const QModelIndex &, int, int, const QModelIndex &, int))); - disconnect(sourceModel, SIGNAL(modelAboutToBeReset()), + disconnect(sourceModel(), SIGNAL(modelAboutToBeReset()), this, SLOT(_q_sourceModelAboutToBeReset())); - disconnect(sourceModel, SIGNAL(modelReset()), + disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(_q_sourceModelReset())); - disconnect(sourceModel, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), + disconnect(sourceModel(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(_q_sourceDataChanged(const QModelIndex &, const QModelIndex &))); - disconnect(sourceModel, SIGNAL(headerDataChanged(Qt::Orientation,int,int)), + disconnect(sourceModel(), SIGNAL(headerDataChanged(Qt::Orientation,int,int)), this, SLOT(_q_sourceHeaderDataChanged(Qt::Orientation,int,int))); - disconnect(sourceModel, SIGNAL(layoutAboutToBeChanged()), + disconnect(sourceModel(), SIGNAL(layoutAboutToBeChanged()), this, SLOT(_q_sourceLayoutAboutToBeChanged())); - disconnect(sourceModel, SIGNAL(layoutChanged()), + disconnect(sourceModel(), SIGNAL(layoutChanged()), this, SLOT(_q_sourceLayoutChanged())); } - QAbstractProxyModel::setSourceModel(sourceModel); + QAbstractProxyModel::setSourceModel(newSourceModel); - if (sourceModel) { - connect(sourceModel, SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), + if (sourceModel()) { + connect(sourceModel(), SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), SLOT(_q_sourceRowsAboutToBeInserted(const QModelIndex &, int, int))); - connect(sourceModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)), + connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)), SLOT(_q_sourceRowsInserted(const QModelIndex &, int, int))); - connect(sourceModel, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), + connect(sourceModel(), SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), SLOT(_q_sourceRowsAboutToBeRemoved(const QModelIndex &, int, int))); - connect(sourceModel, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), + connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)), SLOT(_q_sourceRowsRemoved(const QModelIndex &, int, int))); - connect(sourceModel, SIGNAL(rowsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int)), + connect(sourceModel(), SIGNAL(rowsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int)), SLOT(_q_sourceRowsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int))); - connect(sourceModel, SIGNAL(rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int)), + connect(sourceModel(), SIGNAL(rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int)), SLOT(_q_sourceRowsMoved(const QModelIndex &, int, int, const QModelIndex &, int))); - connect(sourceModel, SIGNAL(columnsAboutToBeInserted(const QModelIndex &, int, int)), + connect(sourceModel(), SIGNAL(columnsAboutToBeInserted(const QModelIndex &, int, int)), SLOT(_q_sourceColumnsAboutToBeInserted(const QModelIndex &, int, int))); - connect(sourceModel, SIGNAL(columnsInserted(const QModelIndex &, int, int)), + connect(sourceModel(), SIGNAL(columnsInserted(const QModelIndex &, int, int)), SLOT(_q_sourceColumnsInserted(const QModelIndex &, int, int))); - connect(sourceModel, SIGNAL(columnsAboutToBeRemoved(const QModelIndex &, int, int)), + connect(sourceModel(), SIGNAL(columnsAboutToBeRemoved(const QModelIndex &, int, int)), SLOT(_q_sourceColumnsAboutToBeRemoved(const QModelIndex &, int, int))); - connect(sourceModel, SIGNAL(columnsRemoved(const QModelIndex &, int, int)), + connect(sourceModel(), SIGNAL(columnsRemoved(const QModelIndex &, int, int)), SLOT(_q_sourceColumnsRemoved(const QModelIndex &, int, int))); - connect(sourceModel, SIGNAL(columnsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int)), + connect(sourceModel(), SIGNAL(columnsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int)), SLOT(_q_sourceColumnsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int))); - connect(sourceModel, SIGNAL(columnsMoved(const QModelIndex &, int, int, const QModelIndex &, int)), + connect(sourceModel(), SIGNAL(columnsMoved(const QModelIndex &, int, int, const QModelIndex &, int)), SLOT(_q_sourceColumnsMoved(const QModelIndex &, int, int, const QModelIndex &, int))); - connect(sourceModel, SIGNAL(modelAboutToBeReset()), + connect(sourceModel(), SIGNAL(modelAboutToBeReset()), SLOT(_q_sourceModelAboutToBeReset())); - connect(sourceModel, SIGNAL(modelReset()), + connect(sourceModel(), SIGNAL(modelReset()), SLOT(_q_sourceModelReset())); - connect(sourceModel, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), + connect(sourceModel(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), SLOT(_q_sourceDataChanged(const QModelIndex &, const QModelIndex &))); - connect(sourceModel, SIGNAL(headerDataChanged(Qt::Orientation,int,int)), + connect(sourceModel(), SIGNAL(headerDataChanged(Qt::Orientation,int,int)), SLOT(_q_sourceHeaderDataChanged(Qt::Orientation,int,int))); - connect(sourceModel, SIGNAL(layoutAboutToBeChanged()), + connect(sourceModel(), SIGNAL(layoutAboutToBeChanged()), SLOT(_q_sourceLayoutAboutToBeChanged())); - connect(sourceModel, SIGNAL(layoutChanged()), + connect(sourceModel(), SIGNAL(layoutChanged()), SLOT(_q_sourceLayoutChanged())); } diff --git a/src/corelib/json/qjsondocument.h b/src/corelib/json/qjsondocument.h index 7eca0302db..e39dc6a27c 100644 --- a/src/corelib/json/qjsondocument.h +++ b/src/corelib/json/qjsondocument.h @@ -67,7 +67,8 @@ struct Q_CORE_EXPORT QJsonParseError IllegalNumber, StringEscapeSequence, StringUTF8Scan, - EndOfString + EndOfString, + MissingObject }; int offset; diff --git a/src/corelib/json/qjsonparser.cpp b/src/corelib/json/qjsonparser.cpp index a83685da22..b1e6a5a5c7 100644 --- a/src/corelib/json/qjsonparser.cpp +++ b/src/corelib/json/qjsonparser.cpp @@ -244,6 +244,10 @@ bool Parser::parseObject() if (token != ValueSeparator) break; token = nextToken(); + if (token == EndObject) { + lastError = QJsonParseError::MissingObject; + return false; + } } DEBUG << "end token=" << token; @@ -449,6 +453,9 @@ bool Parser::parseValue(QJsonPrivate::Value *val, int baseOffset) DEBUG << "value: object"; END; return true; + case EndArray: + lastError = QJsonParseError::MissingObject; + return false; default: --json; if (!parseNumber(val, baseOffset)) diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index a8c21657cb..185314520b 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -291,13 +291,13 @@ QObject *QMetaObject::newInstance(QGenericArgument val0, if (idx < 0) return 0; - QVariant ret(QMetaType::QObjectStar, (void*)0); - void *param[] = {ret.data(), val0.data(), val1.data(), val2.data(), val3.data(), val4.data(), + QObject *returnValue = 0; + void *param[] = {&returnValue, val0.data(), val1.data(), val2.data(), val3.data(), val4.data(), val5.data(), val6.data(), val7.data(), val8.data(), val9.data()}; if (static_metacall(CreateInstance, idx, param) >= 0) return 0; - return *reinterpret_cast(param[0]); + return returnValue; } /*! diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index a61894debd..8c2b5a8665 100644 --- a/src/corelib/kernel/qmetatype.cpp +++ b/src/corelib/kernel/qmetatype.cpp @@ -1066,6 +1066,60 @@ bool QMetaType::load(QDataStream &stream, int type, void *data) return true; } #endif // QT_NO_DATASTREAM +namespace { +class TypeCreator { + template::IsAccepted> + struct CreatorImpl { + static void *Create(const int /* type */, const void *copy) + { + // Using qMetaTypeCreateHelper 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(copy)) : new T(); + } + }; + template + struct CreatorImpl { + static void *Create(const int type, const void *copy) + { + if (QTypeModuleInfo::IsGui) { + if (Q_LIKELY(qMetaTypeGuiHelper)) + return qMetaTypeGuiHelper[type - QMetaType::FirstGuiType].creator(copy); + } + if (QTypeModuleInfo::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 + void *delegate(const T *copy) { return CreatorImpl::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 * 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 @@ -1075,244 +1129,8 @@ bool QMetaType::load(QDataStream &stream, int type, void *data) */ void *QMetaType::create(int type, const void *copy) { - if (copy) { - switch(type) { - case QMetaType::VoidStar: - case QMetaType::QObjectStar: - case QMetaType::QWidgetStar: - return new void *(*static_cast(copy)); - case QMetaType::Long: - return new long(*static_cast(copy)); - case QMetaType::Int: - return new int(*static_cast(copy)); - case QMetaType::Short: - return new short(*static_cast(copy)); - case QMetaType::Char: - return new char(*static_cast(copy)); - case QMetaType::ULong: - return new ulong(*static_cast(copy)); - case QMetaType::UInt: - return new uint(*static_cast(copy)); - case QMetaType::LongLong: - return new qlonglong(*static_cast(copy)); - case QMetaType::ULongLong: - return new qulonglong(*static_cast(copy)); - case QMetaType::UShort: - return new ushort(*static_cast(copy)); - case QMetaType::UChar: - return new uchar(*static_cast(copy)); - case QMetaType::Bool: - return new bool(*static_cast(copy)); - case QMetaType::Float: - return new float(*static_cast(copy)); - case QMetaType::Double: - return new double(*static_cast(copy)); - case QMetaType::QChar: - return new NS(QChar)(*static_cast(copy)); -#ifndef QT_BOOTSTRAPPED - case QMetaType::QVariantMap: - return new NS(QVariantMap)(*static_cast(copy)); - case QMetaType::QVariantHash: - return new NS(QVariantHash)(*static_cast(copy)); - case QMetaType::QVariantList: - return new NS(QVariantList)(*static_cast(copy)); - case QMetaType::QVariant: - return new NS(QVariant)(*static_cast(copy)); -#endif - case QMetaType::QByteArray: - return new NS(QByteArray)(*static_cast(copy)); - case QMetaType::QString: - return new NS(QString)(*static_cast(copy)); - case QMetaType::QStringList: - return new NS(QStringList)(*static_cast(copy)); -#ifndef QT_BOOTSTRAPPED - case QMetaType::QBitArray: - return new NS(QBitArray)(*static_cast(copy)); -#endif - case QMetaType::QDate: - return new NS(QDate)(*static_cast(copy)); - case QMetaType::QTime: - return new NS(QTime)(*static_cast(copy)); - case QMetaType::QDateTime: - return new NS(QDateTime)(*static_cast(copy)); -#ifndef QT_BOOTSTRAPPED - case QMetaType::QUrl: - return new NS(QUrl)(*static_cast(copy)); -#endif - case QMetaType::QLocale: - return new NS(QLocale)(*static_cast(copy)); -#ifndef QT_NO_GEOM_VARIANT - case QMetaType::QRect: - return new NS(QRect)(*static_cast(copy)); - case QMetaType::QRectF: - return new NS(QRectF)(*static_cast(copy)); - case QMetaType::QSize: - return new NS(QSize)(*static_cast(copy)); - case QMetaType::QSizeF: - return new NS(QSizeF)(*static_cast(copy)); - case QMetaType::QLine: - return new NS(QLine)(*static_cast(copy)); - case QMetaType::QLineF: - return new NS(QLineF)(*static_cast(copy)); - case QMetaType::QPoint: - return new NS(QPoint)(*static_cast(copy)); - case QMetaType::QPointF: - return new NS(QPointF)(*static_cast(copy)); -#endif -#ifndef QT_NO_REGEXP - case QMetaType::QRegExp: - return new NS(QRegExp)(*static_cast(copy)); -#endif -#ifndef QT_BOOTSTRAPPED -#ifndef QT_NO_REGEXP - case QMetaType::QRegularExpression: - return new NS(QRegularExpression)(*static_cast(copy)); -#endif // QT_NO_REGEXP - case QMetaType::QEasingCurve: - return new NS(QEasingCurve)(*static_cast(copy)); -#endif // QT_BOOTSTRAPPED - case QMetaType::QUuid: - return new NS(QUuid)(*static_cast(copy)); -#ifndef QT_BOOTSTRAPPED - case QMetaType::QModelIndex: - return new NS(QModelIndex)(*static_cast(copy)); -#endif - case QMetaType::UnknownType: - case QMetaType::Void: - return 0; - default: - ; - } - } else { - switch(type) { - case QMetaType::VoidStar: - case QMetaType::QObjectStar: - case QMetaType::QWidgetStar: - return new void *; - case QMetaType::Long: - return new long; - case QMetaType::Int: - return new int; - case QMetaType::Short: - return new short; - case QMetaType::Char: - return new char; - case QMetaType::ULong: - return new ulong; - case QMetaType::UInt: - return new uint; - case QMetaType::LongLong: - return new qlonglong; - case QMetaType::ULongLong: - return new qulonglong; - case QMetaType::UShort: - return new ushort; - case QMetaType::UChar: - return new uchar; - case QMetaType::Bool: - return new bool; - case QMetaType::Float: - return new float; - case QMetaType::Double: - return new double; - case QMetaType::QChar: - return new NS(QChar); -#ifndef QT_BOOTSTRAPPED - case QMetaType::QVariantMap: - return new NS(QVariantMap); - case QMetaType::QVariantHash: - return new NS(QVariantHash); - case QMetaType::QVariantList: - return new NS(QVariantList); - case QMetaType::QVariant: - return new NS(QVariant); -#endif - case QMetaType::QByteArray: - return new NS(QByteArray); - case QMetaType::QString: - return new NS(QString); - case QMetaType::QStringList: - return new NS(QStringList); -#ifndef QT_BOOTSTRAPPED - case QMetaType::QBitArray: - return new NS(QBitArray); -#endif - case QMetaType::QDate: - return new NS(QDate); - case QMetaType::QTime: - return new NS(QTime); - case QMetaType::QDateTime: - return new NS(QDateTime); -#ifndef QT_BOOTSTRAPPED - case QMetaType::QUrl: - return new NS(QUrl); -#endif - case QMetaType::QLocale: - return new NS(QLocale); -#ifndef QT_NO_GEOM_VARIANT - case QMetaType::QRect: - return new NS(QRect); - case QMetaType::QRectF: - return new NS(QRectF); - case QMetaType::QSize: - return new NS(QSize); - case QMetaType::QSizeF: - return new NS(QSizeF); - case QMetaType::QLine: - return new NS(QLine); - case QMetaType::QLineF: - return new NS(QLineF); - case QMetaType::QPoint: - return new NS(QPoint); - case QMetaType::QPointF: - return new NS(QPointF); -#endif -#ifndef QT_NO_REGEXP - case QMetaType::QRegExp: - return new NS(QRegExp); -#endif -#ifndef QT_BOOTSTRAPPED -#ifndef QT_NO_REGEXP - case QMetaType::QRegularExpression: - return new NS(QRegularExpression); -#endif // QT_NO_REGEXP - case QMetaType::QEasingCurve: - return new NS(QEasingCurve); -#endif // QT_BOOTSTRAPPED - case QMetaType::QUuid: - return new NS(QUuid); -#ifndef QT_BOOTSTRAPPED - case QMetaType::QModelIndex: - return new NS(QModelIndex); -#endif - case QMetaType::UnknownType: - case QMetaType::Void: - return 0; - default: - ; - } - } - - Creator creator = 0; - if (type >= FirstGuiType && type <= LastGuiType) { - if (!qMetaTypeGuiHelper) - return 0; - creator = qMetaTypeGuiHelper[type - FirstGuiType].creator; - } else if (type >= FirstWidgetsType && type <= LastWidgetsType) { - if (!qMetaTypeWidgetsHelper) - return 0; - creator = qMetaTypeWidgetsHelper[type - FirstWidgetsType].creator; - } else { - const QVector * const ct = customTypes(); - QReadLocker locker(customTypesLock()); - if (type < User || !ct || ct->count() <= type - User) - return 0; - if (ct->at(type - User).typeName.isEmpty()) - return 0; - creator = ct->at(type - User).creator; - } - - return creator(copy); + TypeCreator typeCreator(type); + return QMetaTypeSwitcher::switcher(typeCreator, type, copy); } namespace { @@ -1610,13 +1428,9 @@ class Flags template::IsAccepted> struct FlagsImpl { - static quint32 Flags(const int type) + static quint32 Flags(const int /* type */) { - return (!QTypeInfo::isStatic * QMetaType::MovableType) - | (QTypeInfo::isComplex * QMetaType::NeedsConstruction) - | (QTypeInfo::isComplex * QMetaType::NeedsDestruction) - | (type == QMetaType::QObjectStar ? QMetaType::PointerToQObject : 0) - | (type == QMetaType::QWidgetStar ? QMetaType::PointerToQObject : 0); + return QtPrivate::QMetaTypeTypeFlags::Flags; } }; template diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index d913e37332..aa73785dac 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -447,6 +447,17 @@ namespace QtPrivate { template struct IsPointerToTypeDerivedFromQObject { enum { Value = false }; }; template struct IsPointerToTypeDerivedFromQObject { enum { Value = false }; }; template struct IsPointerToTypeDerivedFromQObject { enum { Value = false }; }; + + template + struct QMetaTypeTypeFlags + { + enum { Flags = (!QTypeInfo::isStatic ? QMetaType::MovableType : 0) + | (QTypeInfo::isComplex ? QMetaType::NeedsConstruction : 0) + | (QTypeInfo::isComplex ? QMetaType::NeedsDestruction : 0) + | (IsPointerToTypeDerivedFromQObject::Value ? QMetaType::PointerToQObject : 0) + | (Q_IS_ENUM(T) ? QMetaType::IsEnumeration : 0) + }; + }; } template @@ -460,18 +471,7 @@ int qRegisterMetaType(const char *typeName if (typedefOf != -1) return QMetaType::registerTypedef(typeName, typedefOf); - QMetaType::TypeFlags flags; - if (!QTypeInfo::isStatic) - flags |= QMetaType::MovableType; - if (QTypeInfo::isComplex) { - flags |= QMetaType::NeedsConstruction; - flags |= QMetaType::NeedsDestruction; - } - if (QtPrivate::IsPointerToTypeDerivedFromQObject::Value) - flags |= QMetaType::PointerToQObject; - if (Q_IS_ENUM(T)) - flags |= QMetaType::IsEnumeration; - + QMetaType::TypeFlags flags(QtPrivate::QMetaTypeTypeFlags::Flags); return QMetaType::registerType(typeName, qMetaTypeDeleteHelper, qMetaTypeCreateHelper, qMetaTypeDestructHelper, diff --git a/src/corelib/kernel/qmetatype_p.h b/src/corelib/kernel/qmetatype_p.h index b50521c7a6..c73f8d0a20 100644 --- a/src/corelib/kernel/qmetatype_p.h +++ b/src/corelib/kernel/qmetatype_p.h @@ -155,9 +155,7 @@ public: /*constructor*/(qMetaTypeConstructHelper), \ /*destructor*/(qMetaTypeDestructHelper), \ /*size*/(QTypeInfo::sizeOf), \ - /*flags*/(!QTypeInfo::isStatic * QMetaType::MovableType) \ - | (QTypeInfo::isComplex * QMetaType::NeedsConstruction) \ - | (QTypeInfo::isComplex * QMetaType::NeedsDestruction) \ + /*flags*/QtPrivate::QMetaTypeTypeFlags::Flags \ } diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index edbb84a657..914441f7a8 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -3188,7 +3188,7 @@ void QMetaObject::connectSlotsByName(QObject *o) } if (sigIndex < 0) continue; - if (QMetaObjectPrivate::connect(co, sigIndex, o, i)) { + if (Connection(QMetaObjectPrivate::connect(co, sigIndex, o, i))) { foundIt = true; break; } diff --git a/src/corelib/kernel/qpointer.cpp b/src/corelib/kernel/qpointer.cpp index b983bef5fe..f81451d906 100644 --- a/src/corelib/kernel/qpointer.cpp +++ b/src/corelib/kernel/qpointer.cpp @@ -44,7 +44,6 @@ \brief The QPointer class is a template class that provides guarded pointers to QObject. \ingroup objectmodel - \obsolete Use QWeakPointer instead. A guarded pointer, QPointer, behaves like a normal C++ pointer \c{T *}, except that it is automatically set to 0 when the diff --git a/src/corelib/kernel/qpointer.h b/src/corelib/kernel/qpointer.h index 9b4f8e4332..836c13e3fc 100644 --- a/src/corelib/kernel/qpointer.h +++ b/src/corelib/kernel/qpointer.h @@ -49,10 +49,8 @@ QT_BEGIN_HEADER QT_BEGIN_NAMESPACE -#if QT_DEPRECATED_SINCE(5,0) - template -class QT_DEPRECATED QPointer +class QPointer { QWeakPointer wp; @@ -161,8 +159,6 @@ inline bool operator!= (int i, const QPointer &p) { Q_ASSERT(i == 0); return !i && !p.isNull(); } #endif -#endif // QT_DEPRECATED_SINCE(5,0) - QT_END_NAMESPACE QT_END_HEADER diff --git a/src/corelib/tools/qregexp.cpp b/src/corelib/tools/qregexp.cpp index 29b3424315..6462b3df92 100644 --- a/src/corelib/tools/qregexp.cpp +++ b/src/corelib/tools/qregexp.cpp @@ -3918,8 +3918,8 @@ static void invalidateEngine(QRegExpPrivate *priv) \value RegExp A rich Perl-like pattern matching syntax. This is the default. - \value RegExp2 Like RegExp, but with \l{greedy quantifiers}. This - will be the default in Qt 5. (Introduced in Qt 4.2.) + \value RegExp2 Like RegExp, but with \l{greedy quantifiers}. + (Introduced in Qt 4.2.) \value Wildcard This provides a simple pattern matching syntax similar to that used by shells (command interpreters) for "file diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp index b3d2d62819..6c07480f99 100644 --- a/src/corelib/tools/qsimd.cpp +++ b/src/corelib/tools/qsimd.cpp @@ -108,12 +108,12 @@ static inline uint detectProcessorFeatures() uint features = 0; #if defined(Q_OS_LINUX) - int auxv = ::qt_safe_open("/proc/self/auxv", O_RDONLY); + int auxv = qt_safe_open("/proc/self/auxv", O_RDONLY); if (auxv != -1) { unsigned long vector[64]; int nread; while (features == 0) { - nread = ::qt_safe_read(auxv, (char *)vector, sizeof vector); + nread = qt_safe_read(auxv, (char *)vector, sizeof vector); if (nread <= 0) { // EOF or error break; @@ -130,7 +130,7 @@ static inline uint detectProcessorFeatures() } } - ::qt_safe_close(auxv); + qt_safe_close(auxv); return features; } // fall back if /proc/self/auxv wasn't found diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp index cb89fccc2d..59794a5a06 100644 --- a/src/gui/accessible/qaccessible.cpp +++ b/src/gui/accessible/qaccessible.cpp @@ -648,9 +648,8 @@ void QAccessible::setRootObject(QObject *object) void QAccessible::updateAccessibility(QObject *object, int child, Event reason) { Q_ASSERT(object); - - QAccessibleEvent event = QAccessibleEvent(reason, object, child); - updateAccessibility(event); + QAccessibleEvent ev(reason, object, child); + updateAccessibility(&ev); } /*! @@ -672,7 +671,7 @@ void QAccessible::updateAccessibility(QObject *object, int child, Event reason) the parameters of the call is expensive you can test isActive() to avoid unnecessary computations. */ -void QAccessible::updateAccessibility(const QAccessibleEvent &event) +void QAccessible::updateAccessibility(QAccessibleEvent *event) { if (updateHandler) { updateHandler(event); diff --git a/src/gui/accessible/qaccessible.h b/src/gui/accessible/qaccessible.h index e8a5cf8bad..ffdd3fe7ce 100644 --- a/src/gui/accessible/qaccessible.h +++ b/src/gui/accessible/qaccessible.h @@ -327,7 +327,7 @@ public: }; typedef QAccessibleInterface*(*InterfaceFactory)(const QString &key, QObject*); - typedef void(*UpdateHandler)(const QAccessibleEvent &event); + typedef void(*UpdateHandler)(QAccessibleEvent *event); typedef void(*RootObjectHandler)(QObject*); static void installFactory(InterfaceFactory); @@ -338,7 +338,7 @@ public: static QAccessibleInterface *queryAccessibleInterface(QObject *); QT_DEPRECATED static void updateAccessibility(QObject *object, int child, Event reason); - static void updateAccessibility(const QAccessibleEvent &event); + static void updateAccessibility(QAccessibleEvent *event); static bool isActive(); static void setRootObject(QObject *object); diff --git a/src/gui/accessible/qaccessible2.h b/src/gui/accessible/qaccessible2.h index 708910b8df..56a39b640d 100644 --- a/src/gui/accessible/qaccessible2.h +++ b/src/gui/accessible/qaccessible2.h @@ -164,6 +164,9 @@ public: virtual bool isSelected() const = 0; // Gets the row and column indexes and extents of this cell accessible and whether or not it is selected. + // ### Is this really needed?? + // + // ### Maybe change to QSize cellSize(), we already have accessors for the row, column and selected virtual void rowColumnExtents(int *row, int *column, int *rowExtents, int *columnExtents, bool *selected) const = 0; // Returns a reference to the accessbile of the containing table. virtual QAccessibleInterface* table() const = 0; diff --git a/src/gui/accessible/qaccessiblebridge.h b/src/gui/accessible/qaccessiblebridge.h index 147bf30bd0..80830bd01c 100644 --- a/src/gui/accessible/qaccessiblebridge.h +++ b/src/gui/accessible/qaccessiblebridge.h @@ -60,7 +60,7 @@ class QAccessibleBridge public: virtual ~QAccessibleBridge() {} virtual void setRootObject(QAccessibleInterface *) = 0; - virtual void notifyAccessibilityUpdate(const QAccessibleEvent &event) = 0; + virtual void notifyAccessibilityUpdate(QAccessibleEvent *event) = 0; }; struct Q_GUI_EXPORT QAccessibleBridgeFactoryInterface : public QFactoryInterface diff --git a/src/gui/accessible/qaccessibleobject.cpp b/src/gui/accessible/qaccessibleobject.cpp index 1f4e005dfe..db4ee242ff 100644 --- a/src/gui/accessible/qaccessibleobject.cpp +++ b/src/gui/accessible/qaccessibleobject.cpp @@ -162,6 +162,7 @@ QAccessibleInterface *QAccessibleObject::childAt(int x, int y) const { for (int i = 0; i < childCount(); ++i) { QAccessibleInterface *childIface = child(i); + Q_ASSERT(childIface); if (childIface->rect().contains(x,y)) { return childIface; } diff --git a/src/gui/accessible/qplatformaccessibility_qpa.cpp b/src/gui/accessible/qplatformaccessibility_qpa.cpp index 9de11e7c1f..057d43add3 100644 --- a/src/gui/accessible/qplatformaccessibility_qpa.cpp +++ b/src/gui/accessible/qplatformaccessibility_qpa.cpp @@ -75,7 +75,7 @@ QPlatformAccessibility::~QPlatformAccessibility() { } -void QPlatformAccessibility::notifyAccessibilityUpdate(const QAccessibleEvent &event) +void QPlatformAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *event) { initialize(); diff --git a/src/gui/accessible/qplatformaccessibility_qpa.h b/src/gui/accessible/qplatformaccessibility_qpa.h index 364f87b0c9..3bd6316d01 100644 --- a/src/gui/accessible/qplatformaccessibility_qpa.h +++ b/src/gui/accessible/qplatformaccessibility_qpa.h @@ -57,7 +57,7 @@ public: QPlatformAccessibility(); virtual ~QPlatformAccessibility(); - virtual void notifyAccessibilityUpdate(const QAccessibleEvent &event); + virtual void notifyAccessibilityUpdate(QAccessibleEvent *event); virtual void setRootObject(QObject *o); virtual void initialize(); virtual void cleanup(); diff --git a/src/gui/animation/animation.pri b/src/gui/animation/animation.pri new file mode 100644 index 0000000000..add9ae7119 --- /dev/null +++ b/src/gui/animation/animation.pri @@ -0,0 +1,2 @@ +SOURCES += \ + animation/qguivariantanimation.cpp diff --git a/src/widgets/animation/qguivariantanimation.cpp b/src/gui/animation/qguivariantanimation.cpp similarity index 100% rename from src/widgets/animation/qguivariantanimation.cpp rename to src/gui/animation/qguivariantanimation.cpp diff --git a/src/gui/gui.pro b/src/gui/gui.pro index 2cee31fce1..e6a820b5c4 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -31,6 +31,7 @@ include(painting/painting.pri) include(util/util.pri) include(math3d/math3d.pri) include(opengl/opengl.pri) +include(animation/animation.pri) QMAKE_LIBS += $$QMAKE_LIBS_GUI @@ -150,4 +151,4 @@ win32:!contains(QT_CONFIG, directwrite) { sse2: SOURCES += $$SSE2_SOURCES ssse3: SOURCES += $$SSSE3_SOURCES iwmmxt: SOURCES += $$IWMMXT_SOURCES - } + } \ No newline at end of file diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp index f9e11f1390..8ff1e43b71 100644 --- a/src/gui/image/qbmphandler.cpp +++ b/src/gui/image/qbmphandler.cpp @@ -260,8 +260,6 @@ static bool read_dib_body(QDataStream &s, const BMP_INFOHDR &bi, int offset, int d->seek(startpos + BMP_FILEHDR_SIZE + (bi.biSize >= BMP_WIN4? BMP_WIN : bi.biSize)); // goto start of colormap if (bi.biSize >= BMP_WIN4 || (comp == BMP_BITFIELDS && (nbits == 16 || nbits == 32))) { - Q_ASSERT(ncols == 0); - if (d->read((char *)&red_mask, sizeof(red_mask)) != sizeof(red_mask)) return false; if (d->read((char *)&green_mask, sizeof(green_mask)) != sizeof(green_mask)) diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index adf5f66679..3e3db64d6f 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -1146,12 +1146,13 @@ QMoveEvent::~QMoveEvent() /*! \class QExposeEvent + \since 5.0 \brief The QExposeEvent class contains event parameters for expose events. \ingroup events - Expose events are sent to widgets when an area of the widget is invalidated - and needs to be flushed from the backing store. + Expose events are sent to windows when an area of the window is invalidated + or window visibility in the windowing system changes. The event handler QWindow::exposeEvent() receives expose events. */ @@ -1761,9 +1762,11 @@ void QInputMethodEvent::setTentativeCommitString(const QString &tentativeCommitS \sa setTentativeCommitString() */ -/*! \class QInputMethodQueryEvent +/*! + \class QInputMethodQueryEvent + \since 5.0 - This event is sent by the input context to input objects. + \brief This event is sent by the input context to input objects. It is used by the input method to query a set of properties of the object to be @@ -3375,9 +3378,10 @@ QWindowStateChangeEvent::~QWindowStateChangeEvent() gestures. Whenever such a decision is made (the gesture is recognized), the clients will be notified with a QEvent::TouchCancel event so they can update their state accordingly. - The touchPoints() function returns a list of all touch points contained in the event. - Information about each touch point can be retrieved using the QTouchEvent::TouchPoint class. - The Qt::TouchPointState enum describes the different states that a touch point may have. + The touchPoints() function returns a list of all touch points contained in the event. Note that + this list may be empty, for example in case of a QEvent::TouchCancel event. Information about + each touch point can be retrieved using the QTouchEvent::TouchPoint class. The + Qt::TouchPointState enum describes the different states that a touch point may have. \section1 Event Delivery and Propagation diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 26690c78cf..d72647091d 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -110,6 +110,7 @@ enum ApplicationResourceFlags static unsigned applicationResourceFlags = 0; +QString *QGuiApplicationPrivate::platform_name = 0; bool QGuiApplicationPrivate::app_do_modal = false; QPalette *QGuiApplicationPrivate::app_pal = 0; // default application palette @@ -194,6 +195,7 @@ static inline void clearFontUnlocked() flow and main settings. \inmodule QtGui + \since 5.0 QGuiApplication contains the main event loop, where all events from the window system and other sources are processed and dispatched. It also handles the @@ -361,6 +363,9 @@ QGuiApplication::~QGuiApplication() #ifndef QT_NO_CURSOR d->cursor_list.clear(); #endif + + delete QGuiApplicationPrivate::platform_name; + QGuiApplicationPrivate::platform_name = 0; } QGuiApplicationPrivate::QGuiApplicationPrivate(int &argc, char **argv, int flags) @@ -470,6 +475,17 @@ QWindow *QGuiApplication::topLevelAt(const QPoint &pos) return 0; } +/*! + \property QGuiApplication::platformName + \brief The name of the underlying platform plugin. + \since 5.0 +*/ + +QString QGuiApplication::platformName() +{ + return QGuiApplicationPrivate::platform_name ? + *QGuiApplicationPrivate::platform_name : QString(); +} static void init_platform(const QString &pluginArgument, const QString &platformPluginPath) { @@ -509,7 +525,9 @@ static void init_platform(const QString &pluginArgument, const QString &platform // Create the platform integration. QGuiApplicationPrivate::platform_integration = QPlatformIntegrationFactory::create(name, platformPluginPath); - if (!QGuiApplicationPrivate::platform_integration) { + if (QGuiApplicationPrivate::platform_integration) { + QGuiApplicationPrivate::platform_name = new QString(name); + } else { QStringList keys = QPlatformIntegrationFactory::keys(platformPluginPath); QString fatalMessage = QString::fromLatin1("Failed to load platform plugin \"%1\". Available platforms are: \n").arg(name); @@ -521,13 +539,22 @@ static void init_platform(const QString &pluginArgument, const QString &platform } // Create the platform theme: - // 1) Ask the platform integration to create a platform theme - QGuiApplicationPrivate::platform_theme = QGuiApplicationPrivate::platform_integration->platformTheme(); + // 1) Ask the platform integration for a list of names. + const QStringList themeNames = QGuiApplicationPrivate::platform_integration->themeNames(); + foreach (const QString &themeName, themeNames) { + QGuiApplicationPrivate::platform_theme = QPlatformThemeFactory::create(themeName, platformPluginPath); + if (QGuiApplicationPrivate::platform_theme) + break; + } // 2) If none found, look for a theme plugin. Theme plugins are located in the // same directory as platform plugins. if (!QGuiApplicationPrivate::platform_theme) { - QGuiApplicationPrivate::platform_theme = QPlatformThemeFactory::create(name, platformPluginPath); + foreach (const QString &themeName, themeNames) { + QGuiApplicationPrivate::platform_theme = QGuiApplicationPrivate::platform_integration->createPlatformTheme(themeName); + if (QGuiApplicationPrivate::platform_theme) + break; + } // No error message; not having a theme plugin is allowed. } @@ -731,6 +758,7 @@ QGuiApplicationPrivate::~QGuiApplicationPrivate() qt_cleanupFontDatabase(); + delete platform_theme; delete platform_integration; platform_integration = 0; } diff --git a/src/gui/kernel/qguiapplication.h b/src/gui/kernel/qguiapplication.h index 6fdbb000fe..cc7dea422f 100644 --- a/src/gui/kernel/qguiapplication.h +++ b/src/gui/kernel/qguiapplication.h @@ -75,7 +75,7 @@ class Q_GUI_EXPORT QGuiApplication : public QCoreApplication { Q_OBJECT Q_PROPERTY(Qt::LayoutDirection layoutDirection READ layoutDirection WRITE setLayoutDirection) - + Q_PROPERTY(QString platformName READ platformName STORED false) Q_PROPERTY(bool quitOnLastWindowClosed READ quitOnLastWindowClosed WRITE setQuitOnLastWindowClosed) public: @@ -86,6 +86,8 @@ public: static QWindowList topLevelWindows(); static QWindow *topLevelAt(const QPoint &pos); + static QString platformName(); + #ifdef QT_DEPRECATED static QT_DEPRECATED QWindow *activeWindow() { return focusWindow(); } #endif diff --git a/src/gui/kernel/qguiapplication_p.h b/src/gui/kernel/qguiapplication_p.h index d9477a3e9e..f30a2bb5a0 100644 --- a/src/gui/kernel/qguiapplication_p.h +++ b/src/gui/kernel/qguiapplication_p.h @@ -146,6 +146,7 @@ public: static QGuiApplicationPrivate *instance() { return self; } + static QString *platform_name; static bool app_do_modal; static Qt::MouseButtons buttons; diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp index f9ebf8820c..eaff417f15 100644 --- a/src/gui/kernel/qopenglcontext.cpp +++ b/src/gui/kernel/qopenglcontext.cpp @@ -76,6 +76,7 @@ QMutex QOpenGLContextPrivate::makeCurrentTrackerMutex; /*! \class QOpenGLContext + \since 5.0 \brief The QOpenGLContext represents a native OpenGL context, enabling OpenGL rendering on a QSurface. @@ -621,6 +622,7 @@ void QOpenGLContext::deleteQGLContext() /*! \class QOpenGLContextGroup + \since 5.0 \brief The QOpenGLContextGroup represents a group of contexts sharing OpenGL resources. diff --git a/src/gui/kernel/qplatformintegration_qpa.cpp b/src/gui/kernel/qplatformintegration_qpa.cpp index e8721edce7..786e915a19 100644 --- a/src/gui/kernel/qplatformintegration_qpa.cpp +++ b/src/gui/kernel/qplatformintegration_qpa.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -259,6 +260,8 @@ QPlatformInputContext *QPlatformIntegration::inputContext() const return 0; } +#ifndef QT_NO_ACCESSIBILITY + /*! Returns the platforms accessibility. @@ -269,6 +272,8 @@ QPlatformAccessibility *QPlatformIntegration::accessibility() const return 0; } +#endif + QVariant QPlatformIntegration::styleHint(StyleHint hint) const { switch (hint) { @@ -315,9 +320,15 @@ void QPlatformIntegration::screenAdded(QPlatformScreen *ps) emit qGuiApp->screenAdded(screen); } -class QPlatformTheme *QPlatformIntegration::platformTheme() const +QStringList QPlatformIntegration::themeNames() const { - return 0; + return QStringList(); +} + +class QPlatformTheme *QPlatformIntegration::createPlatformTheme(const QString &name) const +{ + Q_UNUSED(name) + return new QPlatformTheme; } QT_END_NAMESPACE diff --git a/src/gui/kernel/qplatformintegration_qpa.h b/src/gui/kernel/qplatformintegration_qpa.h index 3f9de9df5e..632b3af613 100644 --- a/src/gui/kernel/qplatformintegration_qpa.h +++ b/src/gui/kernel/qplatformintegration_qpa.h @@ -105,7 +105,9 @@ public: virtual QPlatformDrag *drag() const; #endif virtual QPlatformInputContext *inputContext() const; +#ifndef QT_NO_ACCESSIBILITY virtual QPlatformAccessibility *accessibility() const; +#endif // Access native handles. The window handle is already available from Wid; virtual QPlatformNativeInterface *nativeInterface() const; @@ -126,7 +128,8 @@ public: virtual Qt::KeyboardModifiers queryKeyboardModifiers() const; - virtual QPlatformTheme *platformTheme() const; + virtual QStringList themeNames() const; + virtual QPlatformTheme *createPlatformTheme(const QString &name) const; protected: void screenAdded(QPlatformScreen *screen); diff --git a/src/gui/kernel/qplatformnativeinterface_qpa.cpp b/src/gui/kernel/qplatformnativeinterface_qpa.cpp index f87a2956a3..48e43f5226 100644 --- a/src/gui/kernel/qplatformnativeinterface_qpa.cpp +++ b/src/gui/kernel/qplatformnativeinterface_qpa.cpp @@ -43,6 +43,11 @@ QT_BEGIN_NAMESPACE +void *QPlatformNativeInterface::nativeResourceForIntegration(const QByteArray &resource) +{ + Q_UNUSED(resource); + return 0; +} void *QPlatformNativeInterface::nativeResourceForWindow(const QByteArray &resource, QWindow *window) { Q_UNUSED(resource); diff --git a/src/gui/kernel/qplatformnativeinterface_qpa.h b/src/gui/kernel/qplatformnativeinterface_qpa.h index b25ebf0fe9..dd1ef22354 100644 --- a/src/gui/kernel/qplatformnativeinterface_qpa.h +++ b/src/gui/kernel/qplatformnativeinterface_qpa.h @@ -60,6 +60,7 @@ class Q_GUI_EXPORT QPlatformNativeInterface : public QObject { Q_OBJECT public: + virtual void *nativeResourceForIntegration(const QByteArray &resource); virtual void *nativeResourceForContext(const QByteArray &resource, QOpenGLContext *context); virtual void *nativeResourceForWindow(const QByteArray &resource, QWindow *window); virtual void *nativeResourceForBackingStore(const QByteArray &resource, QBackingStore *backingStore); diff --git a/src/gui/kernel/qplatformsurface_qpa.cpp b/src/gui/kernel/qplatformsurface_qpa.cpp index 5fd9c073fe..6d3b6503d7 100644 --- a/src/gui/kernel/qplatformsurface_qpa.cpp +++ b/src/gui/kernel/qplatformsurface_qpa.cpp @@ -43,7 +43,10 @@ QT_BEGIN_NAMESPACE -QPlatformSurface::~QPlatformSurface() {} +QPlatformSurface::~QPlatformSurface() +{ + +} QSurface::SurfaceClass QPlatformSurface::surfaceClass() const { diff --git a/src/gui/kernel/qscreen.cpp b/src/gui/kernel/qscreen.cpp index da0716b7d5..5d7ffdbc2b 100644 --- a/src/gui/kernel/qscreen.cpp +++ b/src/gui/kernel/qscreen.cpp @@ -50,6 +50,7 @@ QT_BEGIN_NAMESPACE /*! \class QScreen + \since 5.0 \brief The QScreen class is used to query screen properties. A note on logical vs physical dots per inch: physical DPI is based on the diff --git a/src/gui/kernel/qstylehints.cpp b/src/gui/kernel/qstylehints.cpp index c98158b6b6..15fcec21d8 100644 --- a/src/gui/kernel/qstylehints.cpp +++ b/src/gui/kernel/qstylehints.cpp @@ -50,6 +50,11 @@ static inline QVariant hint(QPlatformIntegration::StyleHint h) return QGuiApplicationPrivate::platformIntegration()->styleHint(h); } +/*! + \class QStyleHints + \since 5.0 + \brief The QStyleHints contains platform specific hints and settings. + */ QStyleHints::QStyleHints() : QObject() { diff --git a/src/gui/kernel/qsurface.cpp b/src/gui/kernel/qsurface.cpp index eb2676802b..534135cc2f 100644 --- a/src/gui/kernel/qsurface.cpp +++ b/src/gui/kernel/qsurface.cpp @@ -46,6 +46,7 @@ QT_BEGIN_NAMESPACE /*! \class QSurface + \since 5.0 \brief The QSurface class is an abstraction of renderable surfaces in Qt. The size of the surface is accessible with the size() function. The rendering diff --git a/src/gui/kernel/qsurfaceformat.cpp b/src/gui/kernel/qsurfaceformat.cpp index 9021d82e20..cc6b621047 100644 --- a/src/gui/kernel/qsurfaceformat.cpp +++ b/src/gui/kernel/qsurfaceformat.cpp @@ -108,6 +108,7 @@ public: /*! \class QSurfaceFormat + \since 5.0 \brief The QSurfaceFormat class represents the format of a QSurface. The format includes the size of the color buffers, red, green, and blue; diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index 367cee70e3..78b6f6f722 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -63,6 +63,7 @@ QT_BEGIN_NAMESPACE /*! \class QWindow + \since 5.0 \brief The QWindow class represents a window in the underlying windowing system. A window that is supplied a parent becomes a native child window of @@ -597,6 +598,11 @@ bool QWindow::isActive() const return false; QWindow *focus = QGuiApplication::focusWindow(); + + // Means the whole application lost the focus + if (!focus) + return false; + if (focus == this) return true; diff --git a/src/gui/text/qfontdatabase_qpa.cpp b/src/gui/text/qfontdatabase_qpa.cpp index 1a1f08f73d..0014efc450 100644 --- a/src/gui/text/qfontdatabase_qpa.cpp +++ b/src/gui/text/qfontdatabase_qpa.cpp @@ -207,7 +207,9 @@ QFontEngine *loadEngine(int script, const QFontDef &request, fallbacks = family->fallbackFamilies; QPlatformFontDatabase *pfdb = QGuiApplicationPrivate::platformIntegration()->fontDatabase(); - engine = pfdb->fontEngineMulti(engine, QUnicodeTables::Script(script), fallbacks); + QFontEngineMulti *pfMultiEngine = pfdb->fontEngineMulti(engine, QUnicodeTables::Script(script)); + pfMultiEngine->setFallbackFamiliesList(fallbacks); + engine = pfMultiEngine; // Cache Multi font engine as well in case we got the FT single // font engine when we are actually looking for a Multi one diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index 364a356b96..5c18ddeef8 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -1366,6 +1366,7 @@ bool QFontEngineMulti::stringToCMap(const QChar *str, int len, if (!engine(0)->stringToCMap(str, len, glyphs, &ng, flags)) return false; + const_cast(this)->ensureFallbackFamiliesQueried(); int glyph_pos = 0; for (int i = 0; i < len; ++i) { bool surrogate = (str[i].isHighSurrogate() && i < len-1 && str[i+1].isLowSurrogate()); diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h index 1114cdf12c..4741de3000 100644 --- a/src/gui/text/qfontengine_p.h +++ b/src/gui/text/qfontengine_p.h @@ -395,12 +395,14 @@ public: } virtual bool shouldLoadFontEngineForCharacter(int at, uint ucs4) const; + virtual void setFallbackFamiliesList(const QStringList &) {} protected: friend class QPSPrintEnginePrivate; friend class QPSPrintEngineFontMulti; friend class QRawFont; virtual void loadEngine(int at) = 0; + virtual void ensureFallbackFamiliesQueried() {} QVector engines; }; diff --git a/src/gui/text/qfontengine_qpa.cpp b/src/gui/text/qfontengine_qpa.cpp index 48679824a4..d12e2d651c 100644 --- a/src/gui/text/qfontengine_qpa.cpp +++ b/src/gui/text/qfontengine_qpa.cpp @@ -674,6 +674,7 @@ QFontEngineMultiQPA::QFontEngineMultiQPA(QFontEngine *fe, int _script) , script(_script) , fallbacksQueried(false) { + fallbackFamilies << QString(); init(fe); } @@ -688,36 +689,43 @@ void QFontEngineMultiQPA::init(QFontEngine *fe) void QFontEngineMultiQPA::loadEngine(int at) { - bool canLoadFallbackEngine = true; - if (!fallbacksQueried) { - // Original FontEngine to restore after the fill. - QFontEngine *fe = engines[0]; - fallbackFamilies = QGuiApplicationPrivate::instance()->platformIntegration()->fontDatabase()->fallbacksForFamily(fe->fontDef.family, QFont::Style(fe->fontDef.style) - , QFont::AnyStyle, QUnicodeTables::Script(script)); - if (fallbackFamilies.size() > 1) { - engines.fill(0, fallbackFamilies.size() + 1); - engines[0] = fe; - } else { - // Turns out we lied about having any fallback at all. - canLoadFallbackEngine = false; - engines[1] = fe; - } - fallbacksQueried = true; - } + ensureFallbackFamiliesQueried(); Q_ASSERT(at < engines.size()); Q_ASSERT(engines.at(at) == 0); QFontDef request = fontDef; - if (canLoadFallbackEngine) { - request.styleStrategy |= QFont::NoFontMerging; - request.family = fallbackFamilies.at(at-1); - engines[at] = QFontDatabase::findFont(script, - /*fontprivate = */0, - request, /*multi = */false); - } + 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 QFontEngineMultiQPA::ensureFallbackFamiliesQueried() +{ + if (fallbacksQueried) + return; + QStringList fallbacks = QGuiApplicationPrivate::instance()->platformIntegration()->fontDatabase()->fallbacksForFamily(engine(0)->fontDef.family, QFont::Style(engine(0)->fontDef.style) + , QFont::AnyStyle, QUnicodeTables::Script(script)); + setFallbackFamiliesList(fallbacks); +} + +void QFontEngineMultiQPA::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; + } + fallbacksQueried = true; +} /* This is used indirectly by QtWebKit when using QTextLayout::setRawFont @@ -750,7 +758,7 @@ QFontEngine* QFontEngineMultiQPA::createMultiFontEngine(QFontEngine *fe, int scr it++; } if (!engine) { - engine = new QFontEngineMultiQPA(fe, script); + engine = QGuiApplicationPrivate::instance()->platformIntegration()->fontDatabase()->fontEngineMulti(fe, QUnicodeTables::Script(script)); QFontCache::instance()->insertEngine(key, engine, /* insertMulti */ !faceIsLocal); } Q_ASSERT(engine); diff --git a/src/gui/text/qfontengine_qpa_p.h b/src/gui/text/qfontengine_qpa_p.h index 16991ad2ca..e6907149b2 100644 --- a/src/gui/text/qfontengine_qpa_p.h +++ b/src/gui/text/qfontengine_qpa_p.h @@ -247,6 +247,7 @@ class Q_GUI_EXPORT QFontEngineMultiQPA : public QFontEngineMulti { public: QFontEngineMultiQPA(QFontEngine *fe, int script, const QStringList &fallbacks); + QFontEngineMultiQPA(QFontEngine *fe, int script); void loadEngine(int at); static QFontEngine* createMultiFontEngine(QFontEngine *fe, int script); @@ -254,13 +255,15 @@ public: int fallbackFamilyCount() const { return fallbackFamilies.size(); } QString fallbackFamilyAt(int at) const { return fallbackFamilies.at(at); } + virtual void ensureFallbackFamiliesQueried(); + virtual void setFallbackFamiliesList(const QStringList &fallbacks); + private: - QFontEngineMultiQPA(QFontEngine *fe, int script); void init(QFontEngine *fe); - QStringList fallbackFamilies; + mutable QStringList fallbackFamilies; int script; - bool fallbacksQueried; + mutable bool fallbacksQueried; }; QT_END_NAMESPACE diff --git a/src/gui/text/qfontengine_qpf.cpp b/src/gui/text/qfontengine_qpf.cpp index fb898a850f..64596ebaf5 100644 --- a/src/gui/text/qfontengine_qpf.cpp +++ b/src/gui/text/qfontengine_qpf.cpp @@ -246,16 +246,32 @@ QList QFontEngineQPF::cleanUpAfterClientCrash(const QList &cras int fd = QT_OPEN(fileName.constData(), O_RDONLY, 0); if (fd >= 0) { - void *header = ::mmap(0, sizeof(QFontEngineQPF::Header), PROT_READ, MAP_SHARED, fd, 0); - if (header && header != MAP_FAILED) { - quint32 lockValue = reinterpret_cast(header)->lock; + QT_STATBUF st; + int nDataSize = 0; + if (QT_FSTAT(fd, &st)) { +#if defined(DEBUG_FONTENGINE) + qDebug() << "stat failed! " << fileName; +#endif + } else { + nDataSize = st.st_size; + } - if (lockValue && crashedClientIds.contains(lockValue)) { - removedFonts.append(fileName); - QFile::remove(QFile::decodeName(fileName)); + if (nDataSize >= (int)sizeof(QFontEngineQPF::Header)) { + void *header = ::mmap(0, sizeof(QFontEngineQPF::Header), PROT_READ, MAP_SHARED, fd, 0); + if (header && header != MAP_FAILED) { + quint32 lockValue = reinterpret_cast(header)->lock; + + if (lockValue && crashedClientIds.contains(lockValue)) { + removedFonts.append(fileName); + QFile::remove(QFile::decodeName(fileName)); + } + + ::munmap(header, sizeof(QFontEngineQPF::Header)); } - - ::munmap(header, sizeof(QFontEngineQPF::Header)); + } else { +#if defined(DEBUG_FONTENGINE) + qDebug() << "Unsufficient header data in QSF file " << fileName; +#endif } QT_CLOSE(fd); } @@ -363,6 +379,7 @@ QFontEngineQPF::QFontEngineQPF(const QFontDef &def, int fileDescriptor, QFontEng #if defined(DEBUG_FONTENGINE) qErrnoWarning(errno, "QFontEngineQPF: write() failed for %s", encodedName.constData()); #endif + QFile::remove(fileName); return; } } else { diff --git a/src/gui/text/qplatformfontdatabase_qpa.cpp b/src/gui/text/qplatformfontdatabase_qpa.cpp index 47a9fe5ab1..6bd8284fa0 100644 --- a/src/gui/text/qplatformfontdatabase_qpa.cpp +++ b/src/gui/text/qplatformfontdatabase_qpa.cpp @@ -276,10 +276,9 @@ void QPlatformFontDatabase::populateFontDatabase() a certain character. */ QFontEngineMulti *QPlatformFontDatabase::fontEngineMulti(QFontEngine *fontEngine, - QUnicodeTables::Script script, - const QStringList &fallbacks) + QUnicodeTables::Script script) { - return new QFontEngineMultiQPA(fontEngine, script, fallbacks); + return new QFontEngineMultiQPA(fontEngine, script); } /*! diff --git a/src/gui/text/qplatformfontdatabase_qpa.h b/src/gui/text/qplatformfontdatabase_qpa.h index 5a5a8f321f..3810b75dbf 100644 --- a/src/gui/text/qplatformfontdatabase_qpa.h +++ b/src/gui/text/qplatformfontdatabase_qpa.h @@ -89,7 +89,7 @@ class Q_GUI_EXPORT QPlatformFontDatabase public: virtual ~QPlatformFontDatabase(); virtual void populateFontDatabase(); - virtual QFontEngineMulti *fontEngineMulti(QFontEngine *fontEngine, QUnicodeTables::Script script, const QStringList &fallbacks); + virtual QFontEngineMulti *fontEngineMulti(QFontEngine *fontEngine, QUnicodeTables::Script script); virtual QFontEngine *fontEngine(const QFontDef &fontDef, QUnicodeTables::Script script, void *handle); virtual QStringList fallbacksForFamily(const QString family, const QFont::Style &style, const QFont::StyleHint &styleHint, const QUnicodeTables::Script &script) const; virtual QStringList addApplicationFont(const QByteArray &fontData, const QString &fileName); diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 6aa3a5a5f4..95b81c437d 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -123,8 +123,8 @@ void QHttpNetworkConnectionPrivate::init() //push session down to channels channels[i].networkSession = networkSession; #endif - channels[i].init(); } + delayedConnectionTimer.setSingleShot(true); QObject::connect(&delayedConnectionTimer, SIGNAL(timeout()), q, SLOT(_q_connectDelayedChannel())); } @@ -135,12 +135,14 @@ void QHttpNetworkConnectionPrivate::pauseConnection() // Disable all socket notifiers for (int i = 0; i < channelCount; i++) { + if (channels[i].socket) { #ifndef QT_NO_SSL - if (encrypt) - QSslSocketPrivate::pauseSocketNotifiers(static_cast(channels[i].socket)); - else + if (encrypt) + QSslSocketPrivate::pauseSocketNotifiers(static_cast(channels[i].socket)); + else #endif - QAbstractSocketPrivate::pauseSocketNotifiers(channels[i].socket); + QAbstractSocketPrivate::pauseSocketNotifiers(channels[i].socket); + } } } @@ -149,16 +151,18 @@ void QHttpNetworkConnectionPrivate::resumeConnection() state = RunningState; // Enable all socket notifiers for (int i = 0; i < channelCount; i++) { + if (channels[i].socket) { #ifndef QT_NO_SSL - if (encrypt) - QSslSocketPrivate::resumeSocketNotifiers(static_cast(channels[i].socket)); - else + if (encrypt) + QSslSocketPrivate::resumeSocketNotifiers(static_cast(channels[i].socket)); + else #endif - QAbstractSocketPrivate::resumeSocketNotifiers(channels[i].socket); + QAbstractSocketPrivate::resumeSocketNotifiers(channels[i].socket); - // Resume pending upload if needed - if (channels[i].state == QHttpNetworkConnectionChannel::WritingState) - QMetaObject::invokeMethod(&channels[i], "_q_uploadDataReadyRead", Qt::QueuedConnection); + // Resume pending upload if needed + if (channels[i].state == QHttpNetworkConnectionChannel::WritingState) + QMetaObject::invokeMethod(&channels[i], "_q_uploadDataReadyRead", Qt::QueuedConnection); + } } // queue _q_startNextRequest @@ -346,11 +350,15 @@ void QHttpNetworkConnectionPrivate::emitReplyError(QAbstractSocket *socket, QNetworkReply::NetworkError errorCode) { Q_Q(QHttpNetworkConnection); - if (socket && reply) { + + int i = 0; + if (socket) + i = indexOf(socket); + + if (reply) { // this error matters only to this reply reply->d_func()->errorString = errorDetail(errorCode, socket); emit reply->finishedWithError(errorCode, reply->d_func()->errorString); - int i = indexOf(socket); // remove the corrupt data if any reply->d_func()->eraseData(); @@ -358,7 +366,8 @@ void QHttpNetworkConnectionPrivate::emitReplyError(QAbstractSocket *socket, channels[i].close(); channels[i].reply = 0; channels[i].request = QHttpNetworkRequest(); - channels[i].requeueCurrentlyPipelinedRequests(); + if (socket) + channels[i].requeueCurrentlyPipelinedRequests(); // send the next request QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection); @@ -582,9 +591,9 @@ void QHttpNetworkConnectionPrivate::requeueRequest(const HttpMessagePair &pair) bool QHttpNetworkConnectionPrivate::dequeueRequest(QAbstractSocket *socket) { - Q_ASSERT(socket); - - int i = indexOf(socket); + int i = 0; + if (socket) + i = indexOf(socket); if (!highPriorityQueue.isEmpty()) { // remove from queue before sendRequest! else we might pipeline the same request again @@ -740,15 +749,15 @@ bool QHttpNetworkConnectionPrivate::fillPipeline(QList &queue, } -QString QHttpNetworkConnectionPrivate::errorDetail(QNetworkReply::NetworkError errorCode, QAbstractSocket* socket, - const QString &extraDetail) +QString QHttpNetworkConnectionPrivate::errorDetail(QNetworkReply::NetworkError errorCode, QAbstractSocket *socket, const QString &extraDetail) { - Q_ASSERT(socket); - QString errorString; switch (errorCode) { case QNetworkReply::HostNotFoundError: - errorString = QCoreApplication::translate("QHttp", "Host %1 not found").arg(socket->peerName()); + if (socket) + errorString = QCoreApplication::translate("QHttp", "Host %1 not found").arg(socket->peerName()); + else + errorString = QCoreApplication::translate("QHttp", "Host %1 not found").arg(hostName); break; case QNetworkReply::ConnectionRefusedError: errorString = QCoreApplication::translate("QHttp", "Connection refused"); @@ -891,9 +900,11 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest() return; // try to get a free AND connected socket for (int i = 0; i < channelCount; ++i) { - if (!channels[i].reply && !channels[i].isSocketBusy() && channels[i].socket->state() == QAbstractSocket::ConnectedState) { - if (dequeueRequest(channels[i].socket)) - channels[i].sendRequest(); + if (channels[i].socket) { + if (!channels[i].reply && !channels[i].isSocketBusy() && channels[i].socket->state() == QAbstractSocket::ConnectedState) { + if (dequeueRequest(channels[i].socket)) + channels[i].sendRequest(); + } } } @@ -908,7 +919,7 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest() if (highPriorityQueue.isEmpty() && lowPriorityQueue.isEmpty()) return; for (int i = 0; i < channelCount; i++) - if (channels[i].socket->state() == QAbstractSocket::ConnectedState) + if (channels[i].socket && channels[i].socket->state() == QAbstractSocket::ConnectedState) fillPipeline(channels[i].socket); // If there is not already any connected channels we need to connect a new one. @@ -916,11 +927,19 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest() // connected or not. This is to reuse connected channels before we connect new once. int queuedRequest = highPriorityQueue.count() + lowPriorityQueue.count(); for (int i = 0; i < channelCount; ++i) { - if ((channels[i].socket->state() == QAbstractSocket::ConnectingState) || (channels[i].socket->state() == QAbstractSocket::HostLookupState)) - queuedRequest--; - if ( queuedRequest <=0 ) - break; - if (!channels[i].reply && !channels[i].isSocketBusy() && (channels[i].socket->state() == QAbstractSocket::UnconnectedState)) { + bool connectChannel = false; + if (channels[i].socket) { + if ((channels[i].socket->state() == QAbstractSocket::ConnectingState) || (channels[i].socket->state() == QAbstractSocket::HostLookupState)) + queuedRequest--; + if ( queuedRequest <=0 ) + break; + if (!channels[i].reply && !channels[i].isSocketBusy() && (channels[i].socket->state() == QAbstractSocket::UnconnectedState)) + connectChannel = true; + } else { // not previously used channel + connectChannel = true; + } + + if (connectChannel) { if (networkLayerState == IPv4) channels[i].networkLayerPreference = QAbstractSocket::IPv4Protocol; else if (networkLayerState == IPv6) @@ -928,6 +947,9 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest() channels[i].ensureConnection(); queuedRequest--; } + + if ( queuedRequest <=0 ) + break; } } @@ -958,8 +980,8 @@ void QHttpNetworkConnectionPrivate::startHostInfoLookup() #ifndef QT_NO_NETWORKPROXY if (networkProxy.capabilities() & QNetworkProxy::HostNameLookupCapability) { lookupHost = networkProxy.hostName(); - } else if (channels[0].socket->proxy().capabilities() & QNetworkProxy::HostNameLookupCapability) { - lookupHost = channels[0].socket->proxy().hostName(); + } else if (channels[0].proxy.capabilities() & QNetworkProxy::HostNameLookupCapability) { + lookupHost = channels[0].proxy.hostName(); } #endif QHostAddress temp; @@ -1169,13 +1191,13 @@ void QHttpNetworkConnection::setTransparentProxy(const QNetworkProxy &networkPro { Q_D(QHttpNetworkConnection); for (int i = 0; i < d->channelCount; ++i) - d->channels[i].socket->setProxy(networkProxy); + d->channels[i].setProxy(networkProxy); } QNetworkProxy QHttpNetworkConnection::transparentProxy() const { Q_D(const QHttpNetworkConnection); - return d->channels[0].socket->proxy(); + return d->channels[0].proxy; } #endif @@ -1190,7 +1212,7 @@ void QHttpNetworkConnection::setSslConfiguration(const QSslConfiguration &config // set the config on all channels for (int i = 0; i < d->channelCount; ++i) - static_cast(d->channels[i].socket)->setSslConfiguration(config); + d->channels[i].setSslConfiguration(config); } void QHttpNetworkConnection::ignoreSslErrors(int channel) @@ -1201,13 +1223,11 @@ void QHttpNetworkConnection::ignoreSslErrors(int channel) if (channel == -1) { // ignore for all channels for (int i = 0; i < d->channelCount; ++i) { - static_cast(d->channels[i].socket)->ignoreSslErrors(); - d->channels[i].ignoreAllSslErrors = true; + d->channels[i].ignoreSslErrors(); } } else { - static_cast(d->channels[channel].socket)->ignoreSslErrors(); - d->channels[channel].ignoreAllSslErrors = true; + d->channels[channel].ignoreSslErrors(); } } @@ -1219,13 +1239,11 @@ void QHttpNetworkConnection::ignoreSslErrors(const QList &errors, int if (channel == -1) { // ignore for all channels for (int i = 0; i < d->channelCount; ++i) { - static_cast(d->channels[i].socket)->ignoreSslErrors(errors); - d->channels[i].ignoreSslErrorsList = errors; + d->channels[i].ignoreSslErrors(errors); } } else { - static_cast(d->channels[channel].socket)->ignoreSslErrors(errors); - d->channels[channel].ignoreSslErrorsList = errors; + d->channels[channel].ignoreSslErrors(errors); } } diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp index 3991bffa47..d4931bd207 100644 --- a/src/network/access/qhttpnetworkconnectionchannel.cpp +++ b/src/network/access/qhttpnetworkconnectionchannel.cpp @@ -65,6 +65,7 @@ QT_BEGIN_NAMESPACE QHttpNetworkConnectionChannel::QHttpNetworkConnectionChannel() : socket(0) , ssl(false) + , isInitialized(false) , state(IdleState) , reply(0) , written(0) @@ -152,19 +153,38 @@ void QHttpNetworkConnectionChannel::init() QObject::connect(sslSocket, SIGNAL(encryptedBytesWritten(qint64)), this, SLOT(_q_encryptedBytesWritten(qint64)), Qt::DirectConnection); + + if (ignoreAllSslErrors) + sslSocket->ignoreSslErrors(); + + if (!ignoreSslErrorsList.isEmpty()) + sslSocket->ignoreSslErrors(ignoreSslErrorsList); + + if (!sslConfiguration.isNull()) + sslSocket->setSslConfiguration(sslConfiguration); } + #endif + +#ifndef QT_NO_NETWORKPROXY + if (proxy.type() != QNetworkProxy::NoProxy) + socket->setProxy(proxy); +#endif + isInitialized = true; } void QHttpNetworkConnectionChannel::close() { - if (socket->state() == QAbstractSocket::UnconnectedState) + if (!socket) + state = QHttpNetworkConnectionChannel::IdleState; + else if (socket->state() == QAbstractSocket::UnconnectedState) state = QHttpNetworkConnectionChannel::IdleState; else state = QHttpNetworkConnectionChannel::ClosingState; - socket->close(); + if (socket) + socket->close(); } @@ -337,9 +357,9 @@ void QHttpNetworkConnectionChannel::_q_receiveReply() Q_ASSERT(socket); if (!reply) { - // heh, how should that happen! - qWarning() << "QHttpNetworkConnectionChannel::_q_receiveReply() called without QHttpNetworkReply," - << socket->bytesAvailable() << "bytes on socket."; + if (socket->bytesAvailable() > 0) + qWarning() << "QHttpNetworkConnectionChannel::_q_receiveReply() called without QHttpNetworkReply," + << socket->bytesAvailable() << "bytes on socket."; close(); return; } @@ -527,6 +547,9 @@ void QHttpNetworkConnectionChannel::handleUnexpectedEOF() bool QHttpNetworkConnectionChannel::ensureConnection() { + if (!isInitialized) + init(); + QAbstractSocket::SocketState socketState = socket->state(); // resend this request after we receive the disconnected signal @@ -835,6 +858,46 @@ bool QHttpNetworkConnectionChannel::resetUploadData() } } +#ifndef QT_NO_NETWORKPROXY + +void QHttpNetworkConnectionChannel::setProxy(const QNetworkProxy &networkProxy) +{ + if (socket) + socket->setProxy(networkProxy); + + proxy = networkProxy; +} + +#endif + +#ifndef QT_NO_SSL + +void QHttpNetworkConnectionChannel::ignoreSslErrors() +{ + if (socket) + static_cast(socket)->ignoreSslErrors(); + + ignoreAllSslErrors = true; +} + + +void QHttpNetworkConnectionChannel::ignoreSslErrors(const QList &errors) +{ + if (socket) + static_cast(socket)->ignoreSslErrors(errors); + + ignoreSslErrorsList = errors; +} + +void QHttpNetworkConnectionChannel::setSslConfiguration(const QSslConfiguration &config) +{ + if (socket) + static_cast(socket)->setSslConfiguration(config); + + sslConfiguration = config; +} + +#endif void QHttpNetworkConnectionChannel::pipelineInto(HttpMessagePair &pair) { diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h index 7da9b514d6..2648cba2a5 100644 --- a/src/network/access/qhttpnetworkconnectionchannel_p.h +++ b/src/network/access/qhttpnetworkconnectionchannel_p.h @@ -72,6 +72,7 @@ #ifndef QT_NO_SSL # include # include +# include #else # include #endif @@ -100,6 +101,7 @@ public: }; QAbstractSocket *socket; bool ssl; + bool isInitialized; ChannelState state; QHttpNetworkRequest request; // current request QHttpNetworkReply *reply; // current reply for this request @@ -118,6 +120,10 @@ public: #ifndef QT_NO_SSL bool ignoreAllSslErrors; QList ignoreSslErrorsList; + QSslConfiguration sslConfiguration; + void ignoreSslErrors(); + void ignoreSslErrors(const QList &errors); + void setSslConfiguration(const QSslConfiguration &config); #endif #ifndef QT_NO_BEARERMANAGEMENT QSharedPointer networkSession; @@ -144,6 +150,11 @@ public: void setConnection(QHttpNetworkConnection *c); QPointer connection; +#ifndef QT_NO_NETWORKPROXY + QNetworkProxy proxy; + void setProxy(const QNetworkProxy &networkProxy); +#endif + void init(); void close(); diff --git a/src/network/kernel/qnetworkinterface_unix.cpp b/src/network/kernel/qnetworkinterface_unix.cpp index d5520e4917..fbff6dc4d3 100644 --- a/src/network/kernel/qnetworkinterface_unix.cpp +++ b/src/network/kernel/qnetworkinterface_unix.cpp @@ -57,6 +57,10 @@ #endif #include +#if defined(QT_LINUXBASE) +# define QT_NO_GETIFADDRS +#endif + #ifndef QT_NO_GETIFADDRS # include #endif @@ -283,7 +287,7 @@ QT_BEGIN_INCLUDE_NAMESPACE QT_END_INCLUDE_NAMESPACE # endif -# if defined(Q_OS_LINUX) && __GLIBC__ - 0 >= 2 && __GLIBC_MINOR__ - 0 >= 1 +# if defined(Q_OS_LINUX) && __GLIBC__ - 0 >= 2 && __GLIBC_MINOR__ - 0 >= 1 && !defined(QT_LINUXBASE) # include static QList createInterfaces(ifaddrs *rawList) diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp index feef74e737..8d30e81c3b 100644 --- a/src/network/kernel/qnetworkproxy.cpp +++ b/src/network/kernel/qnetworkproxy.cpp @@ -426,6 +426,10 @@ template<> void QSharedDataPointer::detach() QNetworkProxy::QNetworkProxy() : d(0) { + // make sure we have QGlobalNetworkProxy singleton created, otherwise + // you don't have any socket engine handler created when directly setting + // a proxy to a socket + globalNetworkProxy(); } /*! @@ -440,6 +444,10 @@ QNetworkProxy::QNetworkProxy(ProxyType type, const QString &hostName, quint16 po const QString &user, const QString &password) : d(new QNetworkProxyPrivate(type, hostName, port, user, password)) { + // make sure we have QGlobalNetworkProxy singleton created, otherwise + // you don't have any socket engine handler created when directly setting + // a proxy to a socket + globalNetworkProxy(); } /*! diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index 2f66671530..af22b20b21 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -1457,6 +1457,7 @@ bool QAbstractSocket::bind(const QHostAddress &address, quint16 port, BindMode m return false; } + if (mode != DefaultForPlatform) { #ifdef Q_OS_UNIX if ((mode & ShareAddress) || (mode & ReuseAddressHint)) d->socketEngine->setOption(QAbstractSocketEngine::AddressReusable, 1); @@ -1473,6 +1474,7 @@ bool QAbstractSocket::bind(const QHostAddress &address, quint16 port, BindMode m else d->socketEngine->setOption(QAbstractSocketEngine::BindExclusively, 0); #endif + } bool result = d->socketEngine->bind(address, port); d->cachedSocketDescriptor = d->socketEngine->socketDescriptor(); diff --git a/src/network/socket/socket.pri b/src/network/socket/socket.pri index 48c38a209e..8f93f0d0c0 100644 --- a/src/network/socket/socket.pri +++ b/src/network/socket/socket.pri @@ -8,6 +8,7 @@ HEADERS += socket/qabstractsocketengine_p.h \ socket/qtcpsocket.h \ socket/qudpsocket.h \ socket/qtcpserver.h \ + socket/qtcpsocket_p.h \ socket/qlocalserver.h \ socket/qlocalserver_p.h \ socket/qlocalsocket.h \ diff --git a/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp index ebe73bff16..38a6f2f9df 100644 --- a/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp +++ b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp @@ -55,6 +55,7 @@ #include #include FT_TRUETYPE_TABLES_H +#include FT_ERRORS_H QT_BEGIN_NAMESPACE @@ -362,8 +363,8 @@ QStringList QBasicFontDatabase::addTTFile(const QByteArray &fontData, const QByt // detect symbol fonts for (int i = 0; i < face->num_charmaps; ++i) { FT_CharMap cm = face->charmaps[i]; - if (cm->encoding == ft_encoding_adobe_custom - || cm->encoding == ft_encoding_symbol) { + if (cm->encoding == FT_ENCODING_ADOBE_CUSTOM + || cm->encoding == FT_ENCODING_MS_SYMBOL) { writingSystems.setSupported(QFontDatabase::Symbol); break; } diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp index 69ec3ba08a..a4d2778ba6 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp +++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp @@ -472,10 +472,9 @@ void QFontconfigDatabase::populateFontDatabase() } QFontEngineMulti *QFontconfigDatabase::fontEngineMulti(QFontEngine *fontEngine, - QUnicodeTables::Script script, - const QStringList &fallbacks) + QUnicodeTables::Script script) { - return new QFontEngineMultiFontConfig(fontEngine, script, fallbacks); + return new QFontEngineMultiFontConfig(fontEngine, script); } QFontEngine *QFontconfigDatabase::fontEngine(const QFontDef &f, QUnicodeTables::Script script, void *usrPtr) @@ -515,24 +514,37 @@ QFontEngine *QFontconfigDatabase::fontEngine(const QFontDef &f, QUnicodeTables:: FcCharSet *charset; if (match) { QFontEngineFT::HintStyle default_hint_style; - - //hinting - int hint_style = 0; - if (FcPatternGetInteger (match, FC_HINT_STYLE, 0, &hint_style) == FcResultNoMatch) - hint_style = QFontEngineFT::HintFull; - switch (hint_style) { - case FC_HINT_NONE: - default_hint_style = QFontEngineFT::HintNone; - break; - case FC_HINT_SLIGHT: - default_hint_style = QFontEngineFT::HintLight; - break; - case FC_HINT_MEDIUM: - default_hint_style = QFontEngineFT::HintMedium; - break; - default: - default_hint_style = QFontEngineFT::HintFull; - break; + if (f.hintingPreference != QFont::PreferDefaultHinting) { + switch (f.hintingPreference) { + case QFont::PreferNoHinting: + default_hint_style = QFontEngineFT::HintNone; + break; + case QFont::PreferVerticalHinting: + default_hint_style = QFontEngineFT::HintLight; + break; + case QFont::PreferFullHinting: + default: + default_hint_style = QFontEngineFT::HintFull; + break; + } + } else { + int hint_style = 0; + if (FcPatternGetInteger (match, FC_HINT_STYLE, 0, &hint_style) == FcResultNoMatch) + hint_style = QFontEngineFT::HintFull; + switch (hint_style) { + case FC_HINT_NONE: + default_hint_style = QFontEngineFT::HintNone; + break; + case FC_HINT_SLIGHT: + default_hint_style = QFontEngineFT::HintLight; + break; + case FC_HINT_MEDIUM: + default_hint_style = QFontEngineFT::HintMedium; + break; + default: + default_hint_style = QFontEngineFT::HintFull; + break; + } } engine->setDefaultHintStyle(default_hint_style); diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h index d4742167e9..df62ddeb0b 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h +++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h @@ -51,7 +51,7 @@ class QFontconfigDatabase : public QBasicFontDatabase { public: void populateFontDatabase(); - QFontEngineMulti *fontEngineMulti(QFontEngine *fontEngine, QUnicodeTables::Script script, const QStringList &fallbacks); + QFontEngineMulti *fontEngineMulti(QFontEngine *fontEngine, QUnicodeTables::Script script); QFontEngine *fontEngine(const QFontDef &fontDef, QUnicodeTables::Script script, void *handle); QStringList fallbacksForFamily(const QString family, const QFont::Style &style, const QFont::StyleHint &styleHint, const QUnicodeTables::Script &script) const; QStringList addApplicationFont(const QByteArray &fontData, const QString &fileName); diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp index 2016500767..31828ef01f 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp +++ b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp @@ -46,9 +46,8 @@ QT_BEGIN_NAMESPACE -QFontEngineMultiFontConfig::QFontEngineMultiFontConfig(QFontEngine *fe, int script, - const QStringList &fallbacks) - : QFontEngineMultiQPA(fe, script, fallbacks) +QFontEngineMultiFontConfig::QFontEngineMultiFontConfig(QFontEngine *fe, int script) + : QFontEngineMultiQPA(fe, script) { } diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h index 260a9b5c70..046d63c190 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h +++ b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h @@ -51,7 +51,7 @@ class QFontEngineMultiFontConfig : public QFontEngineMultiQPA { Q_OBJECT public: - explicit QFontEngineMultiFontConfig(QFontEngine *fe, int script, const QStringList &fallbacks); + explicit QFontEngineMultiFontConfig(QFontEngine *fe, int script); ~QFontEngineMultiFontConfig(); diff --git a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp index 602dd6264a..597dbde74f 100644 --- a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp +++ b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp @@ -77,6 +77,8 @@ void ResourceHelper::clear() \ingroup qpa */ +const char *QGenericUnixTheme::name = "generic"; + // Helper to return the icon theme paths from XDG. QStringList QGenericUnixTheme::xdgIconThemePaths() { @@ -159,6 +161,8 @@ static inline bool readKdeSystemPalette(const QSettings &kdeSettings, QPalette * \ingroup qpa */ +const char *QKdeTheme::name = "kde"; + QKdeTheme::QKdeTheme(const QString &kdeHome, int kdeVersion) : m_kdeHome(kdeHome), m_kdeVersion(kdeVersion), m_toolButtonStyle(Qt::ToolButtonTextBesideIcon), m_toolBarIconSize(0) @@ -329,6 +333,8 @@ QPlatformTheme *QKdeTheme::createKdeTheme() \ingroup qpa */ +const char *QGnomeTheme::name = "gnome"; + QVariant QGnomeTheme::themeHint(QPlatformTheme::ThemeHint hint) const { switch (hint) { @@ -358,23 +364,38 @@ QVariant QGnomeTheme::themeHint(QPlatformTheme::ThemeHint hint) const \brief Creates a UNIX theme according to the detected desktop environment. */ -QPlatformTheme *QGenericUnixTheme::createUnixTheme() +QPlatformTheme *QGenericUnixTheme::createUnixTheme(const QString &name) { - QPlatformTheme *result = 0; + if (name == QLatin1String(QGenericUnixTheme::name)) + return new QGenericUnixTheme; + if (name == QLatin1String(QKdeTheme::name)) + if (QPlatformTheme *kdeTheme = QKdeTheme::createKdeTheme()) + return kdeTheme; + if (name == QLatin1String(QGnomeTheme::name)) + return new QGnomeTheme; + return new QGenericUnixTheme; +} + +QStringList QGenericUnixTheme::themeNames() +{ + QStringList result; if (QGuiApplication::desktopSettingsAware()) { switch (QGenericUnixServices::desktopEnvironment()) { - case QGenericUnixServices::DE_UNKNOWN: - break; case QGenericUnixServices::DE_KDE: - result = QKdeTheme::createKdeTheme(); + result.push_back(QLatin1String(QKdeTheme::name)); break; case QGenericUnixServices::DE_GNOME: - result = new QGnomeTheme; + result.push_back(QLatin1String(QGnomeTheme::name)); + break; + case QGenericUnixServices::DE_UNKNOWN: break; } - } - if (!result) - result = new QGenericUnixTheme; + const QByteArray session = qgetenv("DESKTOP_SESSION"); + if (!session.isEmpty() && session != "default") + result.push_back(QString::fromLocal8Bit(session)); + } // desktopSettingsAware + if (result.isEmpty()) + result.push_back(QLatin1String(QGenericUnixTheme::name)); return result; } diff --git a/src/platformsupport/themes/genericunix/qgenericunixthemes_p.h b/src/platformsupport/themes/genericunix/qgenericunixthemes_p.h index a9db29e8cd..cabffc0212 100644 --- a/src/platformsupport/themes/genericunix/qgenericunixthemes_p.h +++ b/src/platformsupport/themes/genericunix/qgenericunixthemes_p.h @@ -67,11 +67,14 @@ class QGenericUnixTheme : public QPlatformTheme public: QGenericUnixTheme() {} - static QPlatformTheme *createUnixTheme(); + static QPlatformTheme *createUnixTheme(const QString &name); + static QStringList themeNames(); virtual QVariant themeHint(ThemeHint hint) const; static QStringList xdgIconThemePaths(); + + static const char *name; }; class QKdeTheme : public QPlatformTheme @@ -88,6 +91,8 @@ public: virtual const QFont *font(Font type) const { return m_resources.fonts[type]; } + static const char *name; + private: QString globalSettingsFile() const; void refresh(); @@ -109,6 +114,8 @@ public: QGnomeTheme() {} virtual QVariant themeHint(ThemeHint hint) const; + static const char *name; + private: }; diff --git a/src/platformsupport/udev/qudevhelper.cpp b/src/platformsupport/udev/qudevhelper.cpp deleted file mode 100644 index b63ef64ed8..0000000000 --- a/src/platformsupport/udev/qudevhelper.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qudevhelper_p.h" -#include - -QT_BEGIN_NAMESPACE - -void q_udev_devicePath(int type, QString *path) -{ - *path = QString(); - udev *u = udev_new(); - udev_enumerate *ue = udev_enumerate_new(u); - udev_enumerate_add_match_subsystem(ue, "input"); - if (type & UDev_Mouse) - udev_enumerate_add_match_property(ue, "ID_INPUT_MOUSE", "1"); - if (type & UDev_Touchpad) - udev_enumerate_add_match_property(ue, "ID_INPUT_TOUCHPAD", "1"); - if (type & UDev_Touchscreen) - udev_enumerate_add_match_property(ue, "ID_INPUT_TOUCHSCREEN", "1"); - udev_enumerate_scan_devices(ue); - udev_list_entry *entry; - udev_list_entry_foreach(entry, udev_enumerate_get_list_entry(ue)) { - const char *syspath = udev_list_entry_get_name(entry); - udev_device *udevice = udev_device_new_from_syspath(u, syspath); - QString candidate = QString::fromLocal8Bit(udev_device_get_devnode(udevice)); - udev_device_unref(udevice); - if (path->isEmpty() && candidate.startsWith(QLatin1String("/dev/input/event"))) - *path = candidate; - } - udev_enumerate_unref(ue); - udev_unref(u); -} - -QT_END_NAMESPACE diff --git a/src/platformsupport/udev/udev.pri b/src/platformsupport/udev/udev.pri index c99d4b6810..e22be2c363 100644 --- a/src/platformsupport/udev/udev.pri +++ b/src/platformsupport/udev/udev.pri @@ -1,6 +1,6 @@ contains(QT_CONFIG, libudev) { - HEADERS += $$PWD/qudevhelper_p.h $$PWD/qudevicehelper_p.h - SOURCES += $$PWD/qudevhelper.cpp $$PWD/qudevicehelper.cpp + HEADERS += $$PWD/qudevicehelper_p.h + SOURCES += $$PWD/qudevicehelper.cpp INCLUDEPATH += $$QMAKE_INCDIR_LIBUDEV } diff --git a/src/plugins/bearer/generic/qgenericengine.cpp b/src/plugins/bearer/generic/qgenericengine.cpp index 7b30b5d64c..5682d113ef 100644 --- a/src/plugins/bearer/generic/qgenericengine.cpp +++ b/src/plugins/bearer/generic/qgenericengine.cpp @@ -147,6 +147,9 @@ static QNetworkConfiguration::BearerType qGetInterfaceType(const QString &interf QGenericEngine::QGenericEngine(QObject *parent) : QBearerEngineImpl(parent) { + //workaround for deadlock in __cxa_guard_acquire with webkit on macos x + //initialise the Q_GLOBAL_STATIC in same thread as the AtomicallyInitializedStatic + (void)QNetworkInterface::interfaceFromIndex(0); } QGenericEngine::~QGenericEngine() diff --git a/src/plugins/generic/evdevkeyboard/qevdevkeyboardhandler.cpp b/src/plugins/generic/evdevkeyboard/qevdevkeyboardhandler.cpp index f9237e3325..73aa6419d3 100644 --- a/src/plugins/generic/evdevkeyboard/qevdevkeyboardhandler.cpp +++ b/src/plugins/generic/evdevkeyboard/qevdevkeyboardhandler.cpp @@ -62,8 +62,8 @@ QT_BEGIN_NAMESPACE // simple builtin US keymap #include "qevdevkeyboard_defaultmap.h" -QEvdevKeyboardHandler::QEvdevKeyboardHandler(int deviceDescriptor, const QString &device, bool disableZap, bool enableCompose, const QString &keymapFile) - : m_fd(deviceDescriptor), m_device(device), +QEvdevKeyboardHandler::QEvdevKeyboardHandler(int deviceDescriptor, bool disableZap, bool enableCompose, const QString &keymapFile) + : m_fd(deviceDescriptor), m_modifiers(0), m_composing(0), m_dead_unicode(0xffff), m_no_zap(disableZap), m_do_compose(enableCompose), m_keymap(0), m_keymap_size(0), m_keycompose(0), m_keycompose_size(0) @@ -136,7 +136,7 @@ QEvdevKeyboardHandler *QEvdevKeyboardHandler::createLinuxInputKeyboardHandler(co ::ioctl(fd, EVIOCSREP, kbdrep); } - return new QEvdevKeyboardHandler(fd, device, disableZap, enableCompose, keymapFile); + return new QEvdevKeyboardHandler(fd, disableZap, enableCompose, keymapFile); } else { qWarning("Cannot open keyboard input device '%s': %s", qPrintable(device), strerror(errno)); return 0; diff --git a/src/plugins/generic/evdevkeyboard/qevdevkeyboardhandler.h b/src/plugins/generic/evdevkeyboard/qevdevkeyboardhandler.h index 76b5c5703b..5a1253857f 100644 --- a/src/plugins/generic/evdevkeyboard/qevdevkeyboardhandler.h +++ b/src/plugins/generic/evdevkeyboard/qevdevkeyboardhandler.h @@ -125,7 +125,7 @@ class QEvdevKeyboardHandler : public QObject { Q_OBJECT public: - QEvdevKeyboardHandler(int deviceDescriptor, const QString &device, bool disableZap, bool enableCompose, const QString &keymapFile); + QEvdevKeyboardHandler(int deviceDescriptor, bool disableZap, bool enableCompose, const QString &keymapFile); ~QEvdevKeyboardHandler(); enum KeycodeAction { @@ -174,7 +174,6 @@ private: void switchLed(int, bool); int m_fd; - QString m_device; // keymap handling quint8 m_modifiers; diff --git a/src/plugins/generic/evdevmouse/evdevmouse.pro b/src/plugins/generic/evdevmouse/evdevmouse.pro index 781d901f28..f322a5bd1a 100644 --- a/src/plugins/generic/evdevmouse/evdevmouse.pro +++ b/src/plugins/generic/evdevmouse/evdevmouse.pro @@ -5,12 +5,14 @@ DESTDIR = $$QT.gui.plugins/generic target.path = $$[QT_INSTALL_PLUGINS]/generic INSTALLS += target -HEADERS = qevdevmouse.h +HEADERS = qevdevmousehandler.h \ + qevdevmousemanager.h QT += core-private platformsupport-private SOURCES = main.cpp \ - qevdevmouse.cpp + qevdevmousehandler.cpp \ + qevdevmousemanager.cpp OTHER_FILES += \ evdevmouse.json diff --git a/src/plugins/generic/evdevmouse/main.cpp b/src/plugins/generic/evdevmouse/main.cpp index 47a4ddf56b..b49c183d7b 100644 --- a/src/plugins/generic/evdevmouse/main.cpp +++ b/src/plugins/generic/evdevmouse/main.cpp @@ -40,7 +40,7 @@ ****************************************************************************/ #include -#include "qevdevmouse.h" +#include "qevdevmousemanager.h" QT_BEGIN_NAMESPACE @@ -71,7 +71,7 @@ QObject* QEvdevMousePlugin::create(const QString &key, const QString &specification) { if (!key.compare(QLatin1String("EvdevMouse"), Qt::CaseInsensitive)) - return new QEvdevMouseHandler(key, specification); + return new QEvdevMouseManager(key, specification); return 0; } diff --git a/src/plugins/generic/evdevmouse/qevdevmouse.cpp b/src/plugins/generic/evdevmouse/qevdevmousehandler.cpp similarity index 81% rename from src/plugins/generic/evdevmouse/qevdevmouse.cpp rename to src/plugins/generic/evdevmouse/qevdevmousehandler.cpp index be779c68a5..1821c2b06b 100644 --- a/src/plugins/generic/evdevmouse/qevdevmouse.cpp +++ b/src/plugins/generic/evdevmouse/qevdevmousehandler.cpp @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include "qevdevmouse.h" +#include "qevdevmousehandler.h" #include #include @@ -48,7 +48,7 @@ #include #include // overrides QT_OPEN -#include +#include #include @@ -57,61 +57,82 @@ #include +//#define QT_QPA_MOUSE_HANDLER_DEBUG + QT_BEGIN_NAMESPACE -QEvdevMouseHandler::QEvdevMouseHandler(const QString &key, - const QString &specification) - : m_notify(0), m_x(0), m_y(0), m_prevx(0), m_prevy(0), - m_xoffset(0), m_yoffset(0), m_buttons(0) +QEvdevMouseHandler *QEvdevMouseHandler::createLinuxInputMouseHandler(const QString &key, const QString &specification) { - Q_UNUSED(key); - setObjectName(QLatin1String("Evdev Mouse Handler")); +#ifdef QT_QPA_MOUSE_HANDLER_DEBUG + qWarning() << "Try to create mouse handler with" << key << specification; +#else + Q_UNUSED(key) +#endif - QString dev; - q_udev_devicePath(UDev_Mouse | UDev_Touchpad, &dev); - if (dev.isEmpty()) - dev = QLatin1String("/dev/input/event0"); - - m_compression = true; - m_smooth = false; + QString device = "/dev/input/event0"; + bool compression = true; + bool smooth = false; int jitterLimit = 0; + int xoffset = 0; + int yoffset = 0; QStringList args = specification.split(QLatin1Char(':')); foreach (const QString &arg, args) { if (arg == "nocompress") - m_compression = false; + compression = false; else if (arg.startsWith("dejitter=")) jitterLimit = arg.mid(9).toInt(); else if (arg.startsWith("xoffset=")) - m_xoffset = arg.mid(8).toInt(); + xoffset = arg.mid(8).toInt(); else if (arg.startsWith("yoffset=")) - m_yoffset = arg.mid(8).toInt(); + yoffset = arg.mid(8).toInt(); else if (arg.startsWith(QLatin1String("/dev/"))) - dev = arg; + device = arg; } - m_jitterLimitSquared = jitterLimit*jitterLimit; - qDebug("evdevmouse: Using device %s", qPrintable(dev)); - m_fd = QT_OPEN(dev.toLocal8Bit().constData(), O_RDONLY | O_NDELAY, 0); - if (m_fd >= 0) { - m_notify = new QSocketNotifier(m_fd, QSocketNotifier::Read, this); - connect(m_notify, SIGNAL(activated(int)), this, SLOT(readMouseData())); +#ifdef QT_QPA_MOUSE_HANDLER_DEBUG + qDebug("evdevmouse: Using device %s", qPrintable(device)); +#endif + + int fd; + fd = qt_safe_open(device.toLocal8Bit().constData(), O_RDONLY | O_NDELAY, 0); + if (fd >= 0) { + return new QEvdevMouseHandler(fd, compression, smooth, jitterLimit, xoffset, yoffset); } else { - qWarning("Cannot open mouse input device '%s': %s", qPrintable(dev), strerror(errno)); - return; + qWarning("Cannot open mouse input device '%s': %s", qPrintable(device), strerror(errno)); + return 0; } } +QEvdevMouseHandler::QEvdevMouseHandler(int deviceDescriptor, bool compression, bool smooth, int jitterLimit, int xoffset, int yoffset) + : m_notify(0), m_x(0), m_y(0), m_prevx(0), m_prevy(0), + m_fd(deviceDescriptor), m_compression(compression), m_smooth(smooth), + m_xoffset(xoffset), m_yoffset(yoffset), m_buttons(0) +{ + setObjectName(QLatin1String("Evdev Mouse Handler")); + + m_jitterLimitSquared = jitterLimit * jitterLimit; + + // socket notifier for events on the mouse device + QSocketNotifier *notifier; + notifier = new QSocketNotifier(m_fd, QSocketNotifier::Read, this); + connect(notifier, SIGNAL(activated(int)), this, SLOT(readMouseData())); +} + QEvdevMouseHandler::~QEvdevMouseHandler() { if (m_fd >= 0) - QT_CLOSE(m_fd); + qt_safe_close(m_fd); } void QEvdevMouseHandler::sendMouseEvent() { QPoint pos(m_x + m_xoffset, m_y + m_yoffset); - //qDebug("mouse event %d %d %d", pos.x(), pos.y(), int(m_buttons)); + +#ifdef QT_QPA_MOUSE_HANDLER_DEBUG + qDebug("mouse event %d %d %d", pos.x(), pos.y(), int(m_buttons)); +#endif + QWindowSystemInterface::handleMouseEvent(0, pos, pos, m_buttons); m_prevx = m_x; m_prevy = m_y; diff --git a/src/plugins/generic/evdevmouse/qevdevmouse.h b/src/plugins/generic/evdevmouse/qevdevmousehandler.h similarity index 87% rename from src/plugins/generic/evdevmouse/qevdevmouse.h rename to src/plugins/generic/evdevmouse/qevdevmousehandler.h index 9542d133f2..7a74eaa701 100644 --- a/src/plugins/generic/evdevmouse/qevdevmouse.h +++ b/src/plugins/generic/evdevmouse/qevdevmousehandler.h @@ -39,8 +39,8 @@ ** ****************************************************************************/ -#ifndef QEVDEVMOUSE_H -#define QEVDEVMOUSE_H +#ifndef QEVDEVMOUSEHANDLER_H +#define QEVDEVMOUSEHANDLER_H #include #include @@ -55,25 +55,26 @@ class QEvdevMouseHandler : public QObject { Q_OBJECT public: - QEvdevMouseHandler(const QString &key, const QString &specification); + static QEvdevMouseHandler *createLinuxInputMouseHandler(const QString &key, const QString &specification); ~QEvdevMouseHandler(); private slots: void readMouseData(); private: + QEvdevMouseHandler(int deviceDescriptor, bool compression, bool smooth, int jitterLimit, int xoffset, int yoffset); + void sendMouseEvent(); - void pathFromUdev(QString *path); QSocketNotifier *m_notify; - int m_fd; int m_x, m_y; int m_prevx, m_prevy; - int m_xoffset, m_yoffset; - int m_smoothx, m_smoothy; - Qt::MouseButtons m_buttons; + int m_fd; bool m_compression; bool m_smooth; + int m_xoffset, m_yoffset; + Qt::MouseButtons m_buttons; + int m_smoothx, m_smoothy; int m_jitterLimitSquared; }; @@ -81,4 +82,4 @@ QT_END_NAMESPACE QT_END_HEADER -#endif // QEVDEVMOUSE_H +#endif // QEVDEVMOUSEHANDLER_H diff --git a/src/plugins/generic/evdevmouse/qevdevmousemanager.cpp b/src/plugins/generic/evdevmouse/qevdevmousemanager.cpp new file mode 100644 index 0000000000..f8e77abe55 --- /dev/null +++ b/src/plugins/generic/evdevmouse/qevdevmousemanager.cpp @@ -0,0 +1,138 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qevdevmousemanager.h" + +#include +#include + +//#define QT_QPA_MOUSEMANAGER_DEBUG + +#ifdef QT_QPA_MOUSEMANAGER_DEBUG +#include +#endif + +QT_BEGIN_NAMESPACE + +QEvdevMouseManager::QEvdevMouseManager(const QString &key, const QString &specification) +{ + Q_UNUSED(key); + + bool useUDev = true; + QStringList args = specification.split(QLatin1Char(':')); + QStringList devices; + + foreach (const QString &arg, args) { + if (arg.startsWith("udev") && arg.contains("no")) { + useUDev = false; + } else if (arg.startsWith("/dev/")) { + // if device is specified try to use it + devices.append(arg); + args.removeAll(arg); + } + } + + // build new specification without /dev/ elements + m_spec = args.join(":"); + + // add all mice for devices specified in the argument list + foreach (const QString &device, devices) + addMouse(device); + + if (useUDev) { +#ifdef QT_QPA_MOUSEMANAGER_DEBUG + qWarning() << "Use UDev for device discovery"; +#endif + + m_udeviceHelper = QUDeviceHelper::createUDeviceHelper(QUDeviceHelper::UDev_Mouse | QUDeviceHelper::UDev_Touchpad, this); + if (m_udeviceHelper) { + // scan and add already connected keyboards + QStringList devices = m_udeviceHelper->scanConnectedDevices(); + foreach (QString device, devices) { + addMouse(device); + } + + connect(m_udeviceHelper, SIGNAL(deviceDetected(QString,QUDeviceTypes)), this, SLOT(addMouse(QString))); + connect(m_udeviceHelper, SIGNAL(deviceRemoved(QString,QUDeviceTypes)), this, SLOT(removeMouse(QString))); + } + } +} + +QEvdevMouseManager::~QEvdevMouseManager() +{ + qDeleteAll(m_mice); + m_mice.clear(); +} + +void QEvdevMouseManager::addMouse(const QString &deviceNode) +{ +#ifdef QT_QPA_MOUSEMANAGER_DEBUG + qWarning() << "Adding mouse at" << deviceNode; +#endif + + QString specification = m_spec; + + if (!deviceNode.isEmpty()) { + specification.append(":"); + specification.append(deviceNode); + } + + QEvdevMouseHandler *handler; + handler = QEvdevMouseHandler::createLinuxInputMouseHandler("EvdevMouse", specification); + if (handler) + m_mice.insert(deviceNode, handler); + else + qWarning("Failed to open mouse"); +} + +void QEvdevMouseManager::removeMouse(const QString &deviceNode) +{ + if (m_mice.contains(deviceNode)) { +#ifdef QT_QPA_MOUSEMANAGER_DEBUG + qWarning() << "Removing mouse at" << deviceNode; +#endif + QEvdevMouseHandler *handler = m_mice.value(deviceNode); + m_mice.remove(deviceNode); + delete handler; + } +} + +QT_END_NAMESPACE diff --git a/src/plugins/platforms/uikit/quikitintegration.h b/src/plugins/generic/evdevmouse/qevdevmousemanager.h similarity index 70% rename from src/plugins/platforms/uikit/quikitintegration.h rename to src/plugins/generic/evdevmouse/qevdevmousemanager.h index 21ef9efb29..a42257b6a2 100644 --- a/src/plugins/platforms/uikit/quikitintegration.h +++ b/src/plugins/generic/evdevmouse/qevdevmousemanager.h @@ -3,7 +3,7 @@ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/ ** -** This file is part of the plugins of the Qt Toolkit. +** This file is part of the QtGui module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** GNU Lesser General Public License Usage @@ -39,34 +39,40 @@ ** ****************************************************************************/ -#ifndef QPLATFORMINTEGRATION_UIKIT_H -#define QPLATFORMINTEGRATION_UIKIT_H +#ifndef QEVDEVMOUSEMANAGER_H +#define QEVDEVMOUSEMANAGER_H -#include +#include "qevdevmousehandler.h" + +#include + +#include +#include +#include + +QT_BEGIN_HEADER QT_BEGIN_NAMESPACE -class QUIKitIntegration : public QPlatformIntegration +class QEvdevMouseManager : public QObject { + Q_OBJECT public: - QUIKitIntegration(); - ~QUIKitIntegration(); + explicit QEvdevMouseManager(const QString &key, const QString &specification); + ~QEvdevMouseManager(); - QPlatformPixmap *createPlatformPixmap(QPlatformPixmap::PixelType type) const; - QPlatformWindow *createPlatformWindow(QWidget *widget, WId winId = 0) const; - QWindowSurface *createWindowSurface(QWidget *widget, WId winId) const; - - QList screens() const; - - QPlatformFontDatabase *fontDatabase() const; - - QPlatformEventLoopIntegration *createEventLoopIntegration() const; +private slots: + void addMouse(const QString &deviceNode = QString()); + void removeMouse(const QString &deviceNode); private: - QList mScreens; + QString m_spec; + QHash m_mice; + QUDeviceHelper *m_udeviceHelper; }; +QT_END_HEADER + QT_END_NAMESPACE -#endif - +#endif // QEVDEVMOUSEMANAGER_H diff --git a/src/plugins/generic/evdevtouch/qevdevtouch.cpp b/src/plugins/generic/evdevtouch/qevdevtouch.cpp index 9e6347457d..b702807cab 100644 --- a/src/plugins/generic/evdevtouch/qevdevtouch.cpp +++ b/src/plugins/generic/evdevtouch/qevdevtouch.cpp @@ -46,7 +46,7 @@ #include #include #include -#include +#include #include #ifdef USE_MTDEV @@ -146,7 +146,17 @@ QTouchScreenHandler::QTouchScreenHandler(const QString &spec) setObjectName(QLatin1String("Evdev Touch Handler")); QString dev; - q_udev_devicePath(UDev_Touchpad | UDev_Touchscreen, &dev); + + // try to let udev scan for already connected devices + QScopedPointer udeviceHelper(QUDeviceHelper::createUDeviceHelper(QUDeviceHelper::UDev_Touchpad | QUDeviceHelper::UDev_Touchscreen, this)); + if (udeviceHelper) { + QStringList devices = udeviceHelper->scanConnectedDevices(); + + // only the first device found is used for now + if (devices.size() > 0) + dev = devices[0]; + } + if (dev.isEmpty()) dev = QLatin1String("/dev/input/event0"); diff --git a/src/plugins/platforms/cocoa/cocoa.pro b/src/plugins/platforms/cocoa/cocoa.pro index b953210720..e861f48e7b 100644 --- a/src/plugins/platforms/cocoa/cocoa.pro +++ b/src/plugins/platforms/cocoa/cocoa.pro @@ -27,10 +27,15 @@ OBJECTIVE_SOURCES += main.mm \ qcocoafiledialoghelper.mm \ qcocoafontdialoghelper.mm \ qcocoacursor.mm \ + qcocoaclipboard.mm \ qcocoadrag.mm \ qmacclipboard.mm \ qmacmime.mm \ qcocoasystemsettings.mm \ + qcocoainputcontext.mm \ + qpaintengine_mac.mm \ + qprintengine_mac.mm \ + qcocoaprintersupport.mm \ HEADERS += qcocoaintegration.h \ qcocoatheme.h \ @@ -55,17 +60,22 @@ HEADERS += qcocoaintegration.h \ qcocoafiledialoghelper.h \ qcocoafontdialoghelper.h \ qcocoacursor.h \ + qcocoaclipboard.h \ qcocoadrag.h \ qmacclipboard.h \ qmacmime.h \ qcocoasystemsettings.h \ + qcocoainputcontext.h \ + qpaintengine_mac_p.h \ + qprintengine_mac_p.h \ + qcocoaprintersupport.h \ FORMS += $$PWD/../../../widgets/dialogs/qfiledialog.ui RESOURCES += qcocoaresources.qrc LIBS += -framework Cocoa -QT += core-private gui-private widgets-private platformsupport-private +QT += core-private gui-private widgets-private platformsupport-private printsupport OTHER_FILES += cocoa.json target.path += $$[QT_INSTALL_PLUGINS]/platforms diff --git a/src/plugins/platforms/uikit/quikitscreen.h b/src/plugins/platforms/cocoa/qcocoaclipboard.h similarity index 72% rename from src/plugins/platforms/uikit/quikitscreen.h rename to src/plugins/platforms/cocoa/qcocoaclipboard.h index e53589b2c7..27505058bf 100644 --- a/src/plugins/platforms/uikit/quikitscreen.h +++ b/src/plugins/platforms/cocoa/qcocoaclipboard.h @@ -39,37 +39,32 @@ ** ****************************************************************************/ -#ifndef QUIKITSCREEN_H -#define QUIKITSCREEN_H +#ifndef QCOCOACLIPBOARD_H +#define QCOCOACLIPBOARD_H -#include - -#include +#include +#include "qmacclipboard.h" +#include QT_BEGIN_NAMESPACE -class QUIKitScreen : public QPlatformScreen +class QCocoaClipboard : public QPlatformClipboard { public: - QUIKitScreen(int screenIndex); - ~QUIKitScreen(); + QCocoaClipboard(); - QRect geometry() const { return m_geometry; } - int depth() const { return m_depth; } - QImage::Format format() const { return m_format; } - QSizeF physicalSize() const { return m_physicalSize; } - - UIScreen *uiScreen() const; + QMimeData *mimeData(QClipboard::Mode mode = QClipboard::Clipboard); + void setMimeData(QMimeData *data, QClipboard::Mode mode = QClipboard::Clipboard); + bool supportsMode(QClipboard::Mode mode) const; + bool ownsMode(QClipboard::Mode mode) const; +protected: + QMacPasteboard *pasteboardForMode(QClipboard::Mode mode) const; private: - QRect m_geometry; - int m_depth; - QImage::Format m_format; - QSizeF m_physicalSize; - int m_index; + QScopedPointer m_clipboard; + QScopedPointer m_find; }; QT_END_NAMESPACE - #endif diff --git a/src/plugins/platforms/uikit/main.mm b/src/plugins/platforms/cocoa/qcocoaclipboard.mm similarity index 59% rename from src/plugins/platforms/uikit/main.mm rename to src/plugins/platforms/cocoa/qcocoaclipboard.mm index db413c0775..799fb85183 100644 --- a/src/plugins/platforms/uikit/main.mm +++ b/src/plugins/platforms/cocoa/qcocoaclipboard.mm @@ -39,36 +39,55 @@ ** ****************************************************************************/ -#include - -#include -#include "quikitintegration.h" +#include "QCocoaclipboard.h" +#include "qmacmime.h" +#include "qmacclipboard.h" QT_BEGIN_NAMESPACE -class QUIKitIntegrationPlugin : public QPlatformIntegrationPlugin +QCocoaClipboard::QCocoaClipboard() + :m_clipboard(new QMacPasteboard(kPasteboardClipboard, QMacPasteboardMime::MIME_CLIP)) + ,m_find(new QMacPasteboard(kPasteboardFind, QMacPasteboardMime::MIME_CLIP)) { -public: - QStringList keys() const; - QPlatformIntegration *create(const QString&, const QStringList&); -}; -QStringList QUIKitIntegrationPlugin::keys() const -{ - QStringList list; - list << "UIKit"; - return list; } -QPlatformIntegration * QUIKitIntegrationPlugin::create(const QString& system, const QStringList& paramList) +QMimeData *QCocoaClipboard::mimeData(QClipboard::Mode mode) { - Q_UNUSED(paramList); - if (system.toLower() == "uikit") - return new QUIKitIntegration; - + if (QMacPasteboard *pasteBoard = pasteboardForMode(mode)) { + pasteBoard->sync(); + return pasteBoard->mimeData(); + } return 0; } -Q_EXPORT_PLUGIN2(UIKit, QUIKitIntegrationPlugin) +void QCocoaClipboard::setMimeData(QMimeData *data, QClipboard::Mode mode) +{ + if (QMacPasteboard *pasteBoard = pasteboardForMode(mode)) { + pasteBoard->sync(); + pasteBoard->setMimeData(data); + emitChanged(mode); + } +} + +bool QCocoaClipboard::supportsMode(QClipboard::Mode mode) const +{ + return (mode == QClipboard::Clipboard || mode == QClipboard::FindBuffer); +} + +bool QCocoaClipboard::ownsMode(QClipboard::Mode mode) const +{ + return false; +} + +QMacPasteboard *QCocoaClipboard::pasteboardForMode(QClipboard::Mode mode) const +{ + if (mode == QClipboard::Clipboard) + return m_clipboard.data(); + else if (mode == QClipboard::FindBuffer) + return m_find.data(); + else + return 0; +} QT_END_NAMESPACE diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.h b/src/plugins/platforms/cocoa/qcocoahelpers.h index 3e3e8fa507..5113aca3f7 100644 --- a/src/plugins/platforms/cocoa/qcocoahelpers.h +++ b/src/plugins/platforms/cocoa/qcocoahelpers.h @@ -74,6 +74,15 @@ NSImage *qt_mac_create_nsimage(const QPixmap &pm); NSSize qt_mac_toNSSize(const QSize &qtSize); +QColor qt_mac_toQColor(const NSColor *color); + +// Creates a mutable shape, it's the caller's responsibility to release. +HIMutableShapeRef qt_mac_QRegionToHIMutableShape(const QRegion ®ion); + +OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage); + +CGFloat qt_mac_get_scalefactor(); + QChar qt_mac_qtKey2CocoaKey(Qt::Key key); Qt::Key qt_mac_cocoaKey2QtKey(QChar keyCode); diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.mm b/src/plugins/platforms/cocoa/qcocoahelpers.mm index ec4399b66c..60590b966e 100644 --- a/src/plugins/platforms/cocoa/qcocoahelpers.mm +++ b/src/plugins/platforms/cocoa/qcocoahelpers.mm @@ -132,11 +132,46 @@ NSImage *qt_mac_create_nsimage(const QPixmap &pm) return qt_mac_cgimage_to_nsimage(qt_mac_image_to_cgimage(image)); } +HIMutableShapeRef qt_mac_QRegionToHIMutableShape(const QRegion ®ion) +{ + HIMutableShapeRef shape = HIShapeCreateMutable(); + QVector rects = region.rects(); + if (!rects.isEmpty()) { + int n = rects.count(); + const QRect *qt_r = rects.constData(); + while (n--) { + CGRect cgRect = CGRectMake(qt_r->x(), qt_r->y(), qt_r->width(), qt_r->height()); + HIShapeUnionWithRect(shape, &cgRect); + ++qt_r; + } + } + return shape; +} + NSSize qt_mac_toNSSize(const QSize &qtSize) { return NSMakeSize(qtSize.width(), qtSize.height()); } +QColor qt_mac_toQColor(const NSColor *color) +{ + QColor qtColor; + NSString *colorSpace = [color colorSpaceName]; + if (colorSpace == NSDeviceCMYKColorSpace) { + CGFloat cyan, magenta, yellow, black, alpha; + [color getCyan:&cyan magenta:&magenta yellow:&yellow black:&black alpha:&alpha]; + qtColor.setCmykF(cyan, magenta, yellow, black, alpha); + } else { + NSColor *tmpColor; + tmpColor = [color colorUsingColorSpaceName:NSDeviceRGBColorSpace]; + CGFloat red, green, blue, alpha; + [tmpColor getRed:&red green:&green blue:&blue alpha:&alpha]; + qtColor.setRgbF(red, green, blue, alpha); + } + return qtColor; +} + + // Use this method to keep all the information in the TextSegment. As long as it is ordered // we are in OK shape, and we can influence that ourselves. struct KeyPair @@ -519,4 +554,31 @@ NSRect qt_mac_flipRect(const QRect &rect, QWindow *window) return NSMakeRect(rect.x(), flippedY, rect.width(), rect.height()); } +OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage) +{ + // Verbatim copy if HIViewDrawCGImage (as shown on Carbon-Dev) + OSStatus err = noErr; + + require_action(inContext != NULL, InvalidContext, err = paramErr); + require_action(inBounds != NULL, InvalidBounds, err = paramErr); + require_action(inImage != NULL, InvalidImage, err = paramErr); + + CGContextSaveGState( inContext ); + CGContextTranslateCTM (inContext, 0, inBounds->origin.y + CGRectGetMaxY(*inBounds)); + CGContextScaleCTM(inContext, 1, -1); + + CGContextDrawImage(inContext, *inBounds, inImage); + + CGContextRestoreGState(inContext); +InvalidImage: +InvalidBounds: +InvalidContext: + return err; +} + +CGFloat qt_mac_get_scalefactor() +{ + return [[NSScreen mainScreen] userSpaceScaleFactor]; +} + QT_END_NAMESPACE diff --git a/src/plugins/platforms/uikit/quikitsoftwareinputhandler.h b/src/plugins/platforms/cocoa/qcocoainputcontext.h similarity index 80% rename from src/plugins/platforms/uikit/quikitsoftwareinputhandler.h rename to src/plugins/platforms/cocoa/qcocoainputcontext.h index b4627c15ff..172c87e2dc 100644 --- a/src/plugins/platforms/uikit/quikitsoftwareinputhandler.h +++ b/src/plugins/platforms/cocoa/qcocoainputcontext.h @@ -1,5 +1,3 @@ - - /**************************************************************************** ** ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). @@ -41,21 +39,32 @@ ** ****************************************************************************/ -#ifndef QUIKITSOFTWAREINPUTHANDLER_H -#define QUIKITSOFTWAREINPUTHANDLER_H +#ifndef QCOCOAINPUTCONTEXT_H +#define QCOCOAINPUTCONTEXT_H -#include +#include +#include QT_BEGIN_NAMESPACE -class QUIKitSoftwareInputHandler : public QObject +class QCocoaInputContext : public QPlatformInputContext { Q_OBJECT - public: - bool eventFilter(QObject *obj, QEvent *event); + explicit QCocoaInputContext(); + ~QCocoaInputContext(); + + virtual bool isValid() const { return true; } + + virtual void reset(); + +private Q_SLOTS: + void inputItemChanged(); + +private: + QPointer mWindow; }; QT_END_NAMESPACE -#endif +#endif // QCOCOAINPUTCONTEXT_H diff --git a/src/plugins/platforms/cocoa/qcocoainputcontext.mm b/src/plugins/platforms/cocoa/qcocoainputcontext.mm new file mode 100644 index 0000000000..db3488a0f5 --- /dev/null +++ b/src/plugins/platforms/cocoa/qcocoainputcontext.mm @@ -0,0 +1,122 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qnsview.h" +#include "qcocoainputcontext.h" +#include "qcocoanativeinterface.h" +#include "qcocoaautoreleasepool.h" + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +/*! + \class QCocoaInputContext + \brief Cocoa Input context implementation + + Handles input of foreign characters (particularly East Asian) + languages. + + \section1 Testing + + \list + \o Select input sources like 'Kotoeri' in Language & Text Preferences + \o Compile the \a mainwindows/mdi example and open a text window. + \o In the language bar, switch to 'Hiragana'. + \o In a text editor control, type the syllable \a 'la'. + Underlined characters show up, indicating that there is completion + available. Press the Space key two times. A completion popup occurs + which shows the options. + \endlist + + \section1 Interaction + + Input method support in Cocoa uses NSTextInput protorol. Therefore + almost all functionality is implemented in QNSView. + + \ingroup qt-lighthouse-cocoa +*/ + + + +QCocoaInputContext::QCocoaInputContext() + : QPlatformInputContext() + , mWindow(QGuiApplication::focusWindow()) +{ + connect(qApp->inputMethod(), SIGNAL(inputItemChanged()), this, SLOT(inputItemChanged())); +} + +QCocoaInputContext::~QCocoaInputContext() +{ +} + +/*! + \brief Cancels a composition. +*/ + +void QCocoaInputContext::reset() +{ + QPlatformInputContext::reset(); + + if (!mWindow) return; + + QCocoaNativeInterface *nativeInterface = qobject_cast(QGuiApplication::platformNativeInterface()); + if (!nativeInterface) return; + + QNSView *view = static_cast(nativeInterface->nativeResourceForWindow("nsview", mWindow)); + if (!view) return; + + QCocoaAutoReleasePool pool; + NSInputManager *currentIManager = [NSInputManager currentInputManager]; + if (currentIManager) { + [currentIManager markedTextAbandoned:view]; + [view unmarkText]; + } +} + +void QCocoaInputContext::inputItemChanged() +{ + mWindow = QGuiApplication::focusWindow(); +} + +QT_END_NAMESPACE diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.h b/src/plugins/platforms/cocoa/qcocoaintegration.h index bf54915365..97e7a7ffde 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.h +++ b/src/plugins/platforms/cocoa/qcocoaintegration.h @@ -46,6 +46,7 @@ #include "qcocoaautoreleasepool.h" #include "qcocoacursor.h" +#include "qcocoaclipboard.h" #include "qcocoadrag.h" #include @@ -89,18 +90,24 @@ public: QPlatformFontDatabase *fontDatabase() const; QPlatformNativeInterface *nativeInterface() const; + QPlatformInputContext *inputContext() const; QPlatformAccessibility *accessibility() const; + QPlatformClipboard *clipboard() const; QPlatformDrag *drag() const; - QPlatformTheme *platformTheme() const; + QStringList themeNames() const; + QPlatformTheme *createPlatformTheme(const QString &name) const; + private: QScopedPointer mFontDb; QAbstractEventDispatcher *mEventDispatcher; + QScopedPointer mInputContext; QScopedPointer mAccessibility; QScopedPointer mPlatformTheme; QList mScreens; + QCocoaClipboard *mCocoaClipboard; QScopedPointer mCocoaDrag; }; diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index 8411a795c1..f5febd4a16 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -52,6 +52,7 @@ #include "qmenu_mac.h" #include "qcocoafiledialoghelper.h" #include "qcocoatheme.h" +#include "qcocoainputcontext.h" #include "qmacmime.h" #include @@ -90,8 +91,9 @@ QCocoaScreen::~QCocoaScreen() QCocoaIntegration::QCocoaIntegration() : mFontDb(new QCoreTextFontDatabase()) , mEventDispatcher(new QCocoaEventDispatcher()) + , mInputContext(new QCocoaInputContext) , mAccessibility(new QPlatformAccessibility) - , mPlatformTheme(new QCocoaTheme) + , mCocoaClipboard(new QCocoaClipboard) , mCocoaDrag(new QCocoaDrag) { QCocoaAutoReleasePool pool; @@ -139,13 +141,19 @@ QCocoaIntegration::QCocoaIntegration() screenAdded(screen); } - QMacPasteboardMime::initialize(); + QMacPasteboardMime::initializeMimeTypes(); } QCocoaIntegration::~QCocoaIntegration() { [[NSApplication sharedApplication] setDelegate: 0]; + // Delete the clipboard integration and destroy mime type converters. + // Deleting the clipboard integration flushes promised pastes using + // the mime converters - the ordering here is important. + delete mCocoaClipboard; + QMacPasteboardMime::destroyMimeTypes(); + // Delete screens in reverse order to avoid crash in case of multiple screens while (!mScreens.isEmpty()) { delete mScreens.takeLast(); @@ -195,19 +203,36 @@ QPlatformNativeInterface *QCocoaIntegration::nativeInterface() const return new QCocoaNativeInterface(); } +QPlatformInputContext *QCocoaIntegration::inputContext() const +{ + return mInputContext.data(); +} + QPlatformAccessibility *QCocoaIntegration::accessibility() const { return mAccessibility.data(); } +QPlatformClipboard *QCocoaIntegration::clipboard() const +{ + return mCocoaClipboard; +} + QPlatformDrag *QCocoaIntegration::drag() const { return mCocoaDrag.data(); } -QPlatformTheme *QCocoaIntegration::platformTheme() const +QStringList QCocoaIntegration::themeNames() const { - return mPlatformTheme.data(); + return QStringList(QLatin1String(QCocoaTheme::name)); +} + +QPlatformTheme *QCocoaIntegration::createPlatformTheme(const QString &name) const +{ + if (name == QLatin1String(QCocoaTheme::name)) + return new QCocoaTheme; + return QPlatformIntegration::createPlatformTheme(name); } QT_END_NAMESPACE diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.h b/src/plugins/platforms/cocoa/qcocoanativeinterface.h index 7c6fb38577..8856e90cf3 100644 --- a/src/plugins/platforms/cocoa/qcocoanativeinterface.h +++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.h @@ -43,13 +43,34 @@ #define QCOCOANATIVEINTERFACE_H #include +#include class QWidget; class QCocoaNativeInterface : public QPlatformNativeInterface { + Q_OBJECT public: void *nativeResourceForWindow(const QByteArray &resourceString, QWindow *window); + +private: + /* + "Virtual" function to create the platform printer support + implementation. + + We use an invokable function instead of a virtual one, we do not want + this in the QPlatform* API yet. + + This was added here only because QPlatformNativeInterface is a QObject + and allow us to use QMetaObject::indexOfMethod() from the printsupport + plugin. + */ + Q_INVOKABLE QPlatformPrinterSupport *createPlatformPrinterSupport(); + /* + Function to return the NSPrintInfo * from QMacPaintEnginePrivate. + Needed by the native print dialog in the QtPrintSupport library. + */ + Q_INVOKABLE void *NSPrintInfoForPrintEngine(QPrintEngine *printEngine); }; #endif // QCOCOANATIVEINTERFACE_H diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm index 443369df75..29c2e58959 100644 --- a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm +++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm @@ -42,6 +42,8 @@ #include "qcocoanativeinterface.h" #include "qcocoaglcontext.h" #include "qcocoawindow.h" +#include "qcocoaprintersupport.h" + #include #include #include "qplatformwindow_qpa.h" @@ -50,6 +52,8 @@ #include "qopenglcontext.h" #include +#include "qprintengine_mac_p.h" + void *QCocoaNativeInterface::nativeResourceForWindow(const QByteArray &resourceString, QWindow *window) { if (!window->handle()) { @@ -66,3 +70,14 @@ void *QCocoaNativeInterface::nativeResourceForWindow(const QByteArray &resourceS } return 0; } + +QPlatformPrinterSupport *QCocoaNativeInterface::createPlatformPrinterSupport() +{ + return new QCocoaPrinterSupport(); +} + +void *QCocoaNativeInterface::NSPrintInfoForPrintEngine(QPrintEngine *printEngine) +{ + QMacPrintEngine *macPrintEngine = static_cast(printEngine); + return macPrintEngine->d_func()->printInfo; +} diff --git a/src/plugins/platforms/uikit/quikitwindowsurface.h b/src/plugins/platforms/cocoa/qcocoaprintersupport.h similarity index 70% rename from src/plugins/platforms/uikit/quikitwindowsurface.h rename to src/plugins/platforms/cocoa/qcocoaprintersupport.h index 6ea1b2ad3c..db473dfabb 100644 --- a/src/plugins/platforms/uikit/quikitwindowsurface.h +++ b/src/plugins/platforms/cocoa/qcocoaprintersupport.h @@ -3,7 +3,7 @@ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/ ** -** This file is part of the plugins of the Qt Toolkit. +** This file is part of the QtPrintSupport module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** GNU Lesser General Public License Usage @@ -39,26 +39,22 @@ ** ****************************************************************************/ -#ifndef QUIKITWINDOWSURFACE_H -#define QUIKITWINDOWSURFACE_H +#ifndef QCOCOAPRINTERSUPPORT_H +#define QCOCOAPRINTERSUPPORT_H -#include +#include -QT_BEGIN_NAMESPACE - -class QUIKitWindowSurface : public QWindowSurface +class QCocoaPrinterSupport : public QPlatformPrinterSupport { public: - QUIKitWindowSurface(QWidget *window); + QCocoaPrinterSupport(); + ~QCocoaPrinterSupport(); - QPaintDevice *paintDevice(); - void flush(QWidget *widget, const QRegion ®ion, const QPoint &offset); - WindowSurfaceFeatures features() const; + Q_DECL_OVERRIDE QPrintEngine *createNativePrintEngine(QPrinter::PrinterMode printerMode); + Q_DECL_OVERRIDE QPaintEngine *createPaintEngine(QPrintEngine *, QPrinter::PrinterMode printerMode); + Q_DECL_OVERRIDE QList supportedPaperSizes(const QPrinterInfo &) const; -private: - QPaintDevice *mPaintDevice; + Q_DECL_OVERRIDE QList availablePrinters(); }; -QT_END_NAMESPACE - -#endif // QUIKITWINDOWSURFACE_H +#endif // QCOCOAPRINTERSUPPORT_H diff --git a/src/plugins/platforms/cocoa/qcocoaprintersupport.mm b/src/plugins/platforms/cocoa/qcocoaprintersupport.mm new file mode 100644 index 0000000000..6653c81a4a --- /dev/null +++ b/src/plugins/platforms/cocoa/qcocoaprintersupport.mm @@ -0,0 +1,116 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the QtPrintSupport module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qcocoaprintersupport.h" +#include "qprintengine_mac_p.h" + +#include +#include + +QCocoaPrinterSupport::QCocoaPrinterSupport() +{ } + +QCocoaPrinterSupport::~QCocoaPrinterSupport() +{ } + +QPrintEngine *QCocoaPrinterSupport::createNativePrintEngine(QPrinter::PrinterMode printerMode) +{ + return new QMacPrintEngine(printerMode); +} + +QPaintEngine *QCocoaPrinterSupport::createPaintEngine(QPrintEngine *printEngine, QPrinter::PrinterMode printerMode) +{ + Q_UNUSED(printerMode); + /* + QMacPrintEngine multiply inherits from QPrintEngine and QPaintEngine, + the cast here allows conversion of QMacPrintEngine* to QPaintEngine* + */ + return static_cast(printEngine); +} + +QList QCocoaPrinterSupport::supportedPaperSizes(const QPrinterInfo &printerInfo) const +{ + QList returnValue; + if (printerInfo.isNull()) + return returnValue; + + PMPrinter printer = PMPrinterCreateFromPrinterID(QCFString::toCFStringRef(printerInfo.printerName())); + if (!printer) + return returnValue; + + CFArrayRef array; + if (PMPrinterGetPaperList(printer, &array) != noErr) { + PMRelease(printer); + return returnValue; + } + + CFIndex count = CFArrayGetCount(array); + for (CFIndex i = 0; i < count; ++i) { + PMPaper paper = static_cast(const_cast(CFArrayGetValueAtIndex(array, i))); + double width, height; + if (PMPaperGetWidth(paper, &width) == noErr + && PMPaperGetHeight(paper, &height) == noErr) { + // width and height are in points, convertQSizeFToPaperSize() expects millimeters + static const double OnePointInMillimeters = 1.0 / 72.0 * 25.4; + QSizeF size(width * OnePointInMillimeters, height * OnePointInMillimeters); + returnValue += QPlatformPrinterSupport::convertQSizeFToPaperSize(size); + } + } + + PMRelease(printer); + + return returnValue; +} + +QList QCocoaPrinterSupport::availablePrinters() +{ + QList returnValue; + QCFType printerList; + if (PMServerCreatePrinterList(kPMServerLocal, &printerList) == noErr) { + CFIndex count = CFArrayGetCount(printerList); + for (CFIndex i = 0; i < count; ++i) { + PMPrinter printer = static_cast(const_cast(CFArrayGetValueAtIndex(printerList, i))); + QString printerName = QCFString::toQString(PMPrinterGetName(printer)); + returnValue += QPlatformPrinterSupport::printerInfo(printerName, PMPrinterIsDefault(printer)); + } + } + return returnValue; +} diff --git a/src/plugins/platforms/cocoa/qcocoatheme.h b/src/plugins/platforms/cocoa/qcocoatheme.h index 030db1822c..5cb6f7437d 100644 --- a/src/plugins/platforms/cocoa/qcocoatheme.h +++ b/src/plugins/platforms/cocoa/qcocoatheme.h @@ -64,6 +64,9 @@ public: const QFont *font(Font type = SystemFont) const; QVariant themeHint(ThemeHint hint) const; + + static const char *name; + private: mutable QPalette *m_systemPalette; mutable QHash m_palettes; diff --git a/src/plugins/platforms/cocoa/qcocoatheme.mm b/src/plugins/platforms/cocoa/qcocoatheme.mm index 8ec6e3801e..d17ee30096 100644 --- a/src/plugins/platforms/cocoa/qcocoatheme.mm +++ b/src/plugins/platforms/cocoa/qcocoatheme.mm @@ -49,6 +49,8 @@ QT_BEGIN_NAMESPACE +const char *QCocoaTheme::name = "cocoa"; + QCocoaTheme::QCocoaTheme() :m_systemPalette(0) { diff --git a/src/plugins/platforms/cocoa/qcocoawindow.h b/src/plugins/platforms/cocoa/qcocoawindow.h index ba56a8991d..8bdb5535d5 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.h +++ b/src/plugins/platforms/cocoa/qcocoawindow.h @@ -49,17 +49,17 @@ #include "qcocoaglcontext.h" #include "qnsview.h" +class QCocoaWindow; @interface QNSWindow : NSWindow { - + @public QCocoaWindow *m_cocoaPlatformWindow; } - (BOOL)canBecomeKeyWindow; - @end @interface QNSPanel : NSPanel { - + @public QCocoaWindow *m_cocoaPlatformWindow; } - (BOOL)canBecomeKeyWindow; @end @@ -93,6 +93,7 @@ public: void setGeometry(const QRect &rect); void setVisible(bool visible); + Qt::WindowFlags setWindowFlags(Qt::WindowFlags flags); void setWindowTitle(const QString &title); void raise(); void lower(); @@ -101,8 +102,11 @@ public: bool setMouseGrabEnabled(bool grab); WId winId() const; + void setParent(const QPlatformWindow *window); + NSView *contentView() const; + void windowWillMove(); void windowDidMove(); void windowDidResize(); void windowWillClose(); @@ -111,8 +115,12 @@ public: QCocoaGLContext *currentContext() const; protected: - void determineWindowClass(); - NSWindow *createWindow(); + // NSWindow handling. The QCocoaWindow/QNSView can either be displayed + // in an existing NSWindow or in one created by Qt. + NSWindow *createNSWindow(); + void setNSWindow(NSWindow *window); + void clearNSWindow(NSWindow *window); + QRect windowGeometry() const; QCocoaWindow *parentCocoaWindow() const; @@ -123,9 +131,9 @@ public: // for QNSView QNSView *m_contentView; QNSWindow *m_nsWindow; + Qt::WindowFlags m_windowFlags; + QPointer m_activePopupWindow; - quint32 m_windowAttributes; - quint32 m_windowClass; bool m_inConstructor; QCocoaGLContext *m_glContext; }; diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index 3f566ccb44..5c30e7f38b 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -58,73 +58,56 @@ - (BOOL)canBecomeKeyWindow { - // The default implementation returns NO for title-bar less windows, // override and return yes here to make sure popup windows such as // the combobox popup can become the key window. return YES; } +- (BOOL)canBecomeMainWindow +{ + BOOL canBecomeMain = YES; // By default, windows can become the main window + + // Windows with a transient parent (such as combobox popup windows) + // cannot become the main window: + if (m_cocoaPlatformWindow->window()->transientParent()) + canBecomeMain = NO; + + return canBecomeMain; +} + + @end @implementation QNSPanel - (BOOL)canBecomeKeyWindow { - return YES; + return NO; } @end QCocoaWindow::QCocoaWindow(QWindow *tlw) : QPlatformWindow(tlw) - , m_windowAttributes(0) - , m_windowClass(0) , m_glContext(0) , m_inConstructor(true) { QCocoaAutoReleasePool pool; - determineWindowClass(); - m_nsWindow = createWindow(); - - QNSWindowDelegate *delegate = [[QNSWindowDelegate alloc] initWithQCocoaWindow:this]; - [m_nsWindow setDelegate:delegate]; - [m_nsWindow setAcceptsMouseMovedEvents:YES]; - - // Prevent Cocoa from releasing the window on close. Qt - // handles the close event asynchronously and we want to - // make sure that m_nsWindow stays valid until the - // QCocoaWindow is deleted by Qt. - [m_nsWindow setReleasedWhenClosed : NO]; - m_contentView = [[QNSView alloc] initWithQWindow:tlw platformWindow:this]; - - [[NSNotificationCenter defaultCenter] addObserver:m_contentView - selector:@selector(windowDidBecomeKey) - name:NSWindowDidBecomeKeyNotification - object:m_nsWindow]; - - [[NSNotificationCenter defaultCenter] addObserver:m_contentView - selector:@selector(windowDidResignKey) - name:NSWindowDidResignKeyNotification - object:m_nsWindow]; - - // ### Accept touch events by default. - // Beware that enabling touch events has a negative impact on the overall performance. - // We probably need a QWindowSystemInterface API to enable/disable touch events. - [m_contentView setAcceptsTouchEvents:YES]; - setGeometry(tlw->geometry()); - [m_nsWindow setContentView:m_contentView]; + m_nsWindow = createNSWindow(); + setNSWindow(m_nsWindow); + m_inConstructor = false; } QCocoaWindow::~QCocoaWindow() { - [[NSNotificationCenter defaultCenter] removeObserver:m_contentView]; [m_contentView release]; + clearNSWindow(m_nsWindow); [m_nsWindow release]; } @@ -146,23 +129,44 @@ void QCocoaWindow::setVisible(bool visible) { QCocoaAutoReleasePool pool; #ifdef QT_COCOA_ENABLE_WINDOW_DEBUG - qDebug() << "QCocoaWindow::setVisible" << this << visible; + qDebug() << "QCocoaWindow::setVisible" << window() << visible; #endif if (visible) { - // The parent window might have moved while this window was hidden, - // update the window geometry if there is a parent. - if (window()->transientParent()) + if (window()->transientParent()) { + // The parent window might have moved while this window was hidden, + // update the window geometry if there is a parent. setGeometry(window()->geometry()); + // Register popup windows so that the parent window can + // close them when needed. + if (window()->windowType() == Qt::Popup) { + // qDebug() << "transientParent and popup" << window()->windowType() << Qt::Popup << (window()->windowType() & Qt::Popup); + + QCocoaWindow *parentCocoaWindow = static_cast(window()->transientParent()->handle()); + parentCocoaWindow->m_activePopupWindow = window(); + } + + } + // Make sure the QWindow has a frame ready before we show the NSWindow. QWindowSystemInterface::handleSynchronousExposeEvent(window(), QRect(QPoint(), geometry().size())); - [m_nsWindow makeKeyAndOrderFront:nil]; + if ([m_nsWindow canBecomeKeyWindow]) + [m_nsWindow makeKeyAndOrderFront:nil]; + else + [m_nsWindow orderFront: nil]; } else { - [m_nsWindow orderOut:nil]; + // qDebug() << "close" << this; + [m_nsWindow orderOut:m_nsWindow]; } } +Qt::WindowFlags QCocoaWindow::setWindowFlags(Qt::WindowFlags flags) +{ + m_windowFlags = flags; + return m_windowFlags; +} + void QCocoaWindow::setWindowTitle(const QString &title) { QCocoaAutoReleasePool pool; @@ -174,13 +178,14 @@ void QCocoaWindow::setWindowTitle(const QString &title) void QCocoaWindow::raise() { + //qDebug() << "raise" << this; // ### handle spaces (see Qt 4 raise_sys in qwidget_mac.mm) [m_nsWindow orderFront: m_nsWindow]; } void QCocoaWindow::lower() { - [m_nsWindow orderFront: m_nsWindow]; + [m_nsWindow orderBack: m_nsWindow]; } void QCocoaWindow::propagateSizeHints() @@ -229,11 +234,31 @@ WId QCocoaWindow::winId() const return WId(m_nsWindow); } +void QCocoaWindow::setParent(const QPlatformWindow *window) +{ + // recreate the window for compatibility + clearNSWindow(m_nsWindow); + [m_nsWindow close]; + [m_nsWindow release]; + + m_nsWindow = createNSWindow(); + setNSWindow(m_nsWindow); +} + NSView *QCocoaWindow::contentView() const { return [m_nsWindow contentView]; } +void QCocoaWindow::windowWillMove() +{ + // Close any open popups on window move + if (m_activePopupWindow) { + QWindowSystemInterface::handleSynchronousCloseEvent(m_activePopupWindow); + m_activePopupWindow = 0; + } +} + void QCocoaWindow::windowDidMove() { [m_contentView updateGeometry]; @@ -261,156 +286,95 @@ QCocoaGLContext *QCocoaWindow::currentContext() const return m_glContext; } -/* - Determine the window class based on the window type and - window flags, and widget attr Sets m_windowAttributes - and m_windowClass. -*/ -void QCocoaWindow::determineWindowClass() +NSWindow * QCocoaWindow::createNSWindow() { + QCocoaAutoReleasePool pool; + + NSRect frame = qt_mac_flipRect(window()->geometry(), window()); + Qt::WindowType type = window()->windowType(); Qt::WindowFlags flags = window()->windowFlags(); - const bool popup = (type == Qt::Popup); + NSUInteger styleMask; + NSWindow *createdWindow = 0; - if (type == Qt::ToolTip || type == Qt::SplashScreen || popup) - flags |= Qt::FramelessWindowHint; - - m_windowClass = kSheetWindowClass; - - if (popup || type == Qt::SplashScreen) - m_windowClass = kModalWindowClass; - else if (type == Qt::ToolTip) - m_windowClass = kHelpWindowClass; - else if (type == Qt::Tool) - m_windowClass = kFloatingWindowClass; - else - m_windowClass = kDocumentWindowClass; - - m_windowAttributes = (kWindowCompositingAttribute | kWindowStandardHandlerAttribute); - -// if(qt_mac_is_macsheet(window())) { -// m_windowClass = kSheetWindowClass; -// } else - - { - // Shift things around a bit to get the correct window class based on the presence - // (or lack) of the border. - - bool customize = flags & Qt::CustomizeWindowHint; - bool framelessWindow = (flags & Qt::FramelessWindowHint || (customize && !(flags & Qt::WindowTitleHint))); - if (framelessWindow) { - if (m_windowClass == kDocumentWindowClass) { - m_windowAttributes |= kWindowNoTitleBarAttribute; - } else if (m_windowClass == kFloatingWindowClass) { - m_windowAttributes |= kWindowNoTitleBarAttribute; - } else if (m_windowClass == kMovableModalWindowClass) { - m_windowClass = kModalWindowClass; - } + // Use NSPanel for popup-type windows. (Popup, Tool, ToolTip, SplashScreen) + if ((type & Qt::Popup) == Qt::Popup) { + if (type == Qt::Popup || type == Qt::ToolTip || type == Qt::SplashScreen) { + styleMask = NSBorderlessWindowMask; } else { - m_windowAttributes |= NSTitledWindowMask; - if (m_windowClass != kModalWindowClass) - m_windowAttributes |= NSResizableWindowMask; + styleMask = (NSUtilityWindowMask | NSResizableWindowMask | NSClosableWindowMask | + NSMiniaturizableWindowMask | NSTitledWindowMask); } - // Only add extra decorations (well, buttons) for widgets that can have them - // and have an actual border we can put them on. - - if(m_windowClass != kModalWindowClass && m_windowClass != kMovableModalWindowClass - && m_windowClass != kSheetWindowClass && m_windowClass != kPlainWindowClass - && !framelessWindow && m_windowClass != kDrawerWindowClass - && m_windowClass != kHelpWindowClass) { - if (flags & Qt::WindowMinimizeButtonHint) - m_windowAttributes |= NSMiniaturizableWindowMask; - if (flags & Qt::WindowSystemMenuHint || flags & Qt::WindowCloseButtonHint) - m_windowAttributes |= NSClosableWindowMask; - } else { - // Clear these hints so that we aren't call them on invalid windows - flags &= ~(Qt::WindowMaximizeButtonHint | Qt::WindowMinimizeButtonHint - | Qt::WindowCloseButtonHint | Qt::WindowSystemMenuHint); - } - - } - - if((popup || type == Qt::Tool) && !window()->isModal()) - m_windowAttributes |= kWindowHideOnSuspendAttribute; - m_windowAttributes |= kWindowLiveResizeAttribute; -} - -/* - -*/ -NSWindow * QCocoaWindow::createWindow() -{ - // Determine if we need to add in our "custom window" attribute. Cocoa is rather clever - // in deciding if we need the maximize button or not (i.e., it's resizable, so you - // must need a maximize button). So, the only buttons we have control over are the - // close and minimize buttons. If someone wants to customize and NOT have the maximize - // button, then we have to do our hack. We only do it for these cases because otherwise - // the window looks different when activated. This "QtMacCustomizeWindow" attribute is - // intruding on a public space and WILL BREAK in the future. - // One can hope that there is a more public API available by that time. -/* - Qt::WindowFlags flags = widget ? widget->windowFlags() : Qt::WindowFlags(0); - if ((flags & Qt::CustomizeWindowHint)) { - if ((flags & (Qt::WindowCloseButtonHint | Qt::WindowSystemMenuHint - | Qt::WindowMinimizeButtonHint | Qt::WindowTitleHint)) - && !(flags & Qt::WindowMaximizeButtonHint)) - wattr |= QtMacCustomizeWindow; - } -*/ - NSRect frame = qt_mac_flipRect(window()->geometry(), window()); - QCocoaAutoReleasePool pool; - NSWindow *window; - - switch (m_windowClass) { - case kMovableModalWindowClass: - case kModalWindowClass: - case kSheetWindowClass: - case kFloatingWindowClass: - case kOverlayWindowClass: - case kHelpWindowClass: { - NSPanel *panel; - - BOOL needFloating = NO; - //BOOL worksWhenModal = (this->window()->windowType() == Qt::Popup); - - // Add in the extra flags if necessary. - switch (m_windowClass) { - case kSheetWindowClass: - m_windowAttributes |= NSDocModalWindowMask; - break; - case kFloatingWindowClass: - case kHelpWindowClass: - needFloating = YES; - m_windowAttributes |= NSUtilityWindowMask; - break; - default: - break; - } - - panel = [[QNSPanel alloc] initWithContentRect:frame - styleMask:m_windowAttributes - backing:NSBackingStoreBuffered - defer:NO]; // see window case below -// ### crashes -// [panel setFloatingPanel:needFloating]; -// [panel setWorksWhenModal:worksWhenModal]; - window = static_cast(panel); - break; - } - default: + QNSPanel *window; + window = [[QNSPanel alloc] initWithContentRect:frame + styleMask: styleMask + backing:NSBackingStoreBuffered + defer:NO]; // Deferring window creation breaks OpenGL (the GL context is set up + // before the window is shown and needs a proper window.). + [window setHasShadow:YES]; + createdWindow = window; + } else { + styleMask = (NSResizableWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSTitledWindowMask); + QNSWindow *window; window = [[QNSWindow alloc] initWithContentRect:frame - styleMask:(NSResizableWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSTitledWindowMask) - backing:NSBackingStoreBuffered - defer:NO]; // Deferring window creation breaks OpenGL (the GL context is set up - // before the window is shown and needs a proper window.). - break; + styleMask: styleMask + backing:NSBackingStoreBuffered + defer:NO]; // Deferring window creation breaks OpenGL (the GL context is set up + // before the window is shown and needs a proper window.). + window->m_cocoaPlatformWindow = this; + createdWindow = window; } - - //qt_syncCocoaTitleBarButtons(window, widget); - return window; + return createdWindow; } + +void QCocoaWindow::setNSWindow(NSWindow *window) +{ + QNSWindowDelegate *delegate = [[QNSWindowDelegate alloc] initWithQCocoaWindow:this]; + [window setDelegate:delegate]; + [window setAcceptsMouseMovedEvents:YES]; + + // Prevent Cocoa from releasing the window on close. Qt + // handles the close event asynchronously and we want to + // make sure that m_nsWindow stays valid until the + // QCocoaWindow is deleted by Qt. + [window setReleasedWhenClosed : NO]; + + [[NSNotificationCenter defaultCenter] addObserver:m_contentView + selector:@selector(windowDidBecomeKey) + name:NSWindowDidBecomeKeyNotification + object:m_nsWindow]; + + [[NSNotificationCenter defaultCenter] addObserver:m_contentView + selector:@selector(windowDidResignKey) + name:NSWindowDidResignKeyNotification + object:m_nsWindow]; + + [[NSNotificationCenter defaultCenter] addObserver:m_contentView + selector:@selector(windowDidBecomeMain) + name:NSWindowDidBecomeMainNotification + object:m_nsWindow]; + + [[NSNotificationCenter defaultCenter] addObserver:m_contentView + selector:@selector(windowDidResignMain) + name:NSWindowDidResignMainNotification + object:m_nsWindow]; + + + // ### Accept touch events by default. + // Beware that enabling touch events has a negative impact on the overall performance. + // We probably need a QWindowSystemInterface API to enable/disable touch events. + [m_contentView setAcceptsTouchEvents:YES]; + + [window setContentView:m_contentView]; +} + +void QCocoaWindow::clearNSWindow(NSWindow *window) +{ + [[NSNotificationCenter defaultCenter] removeObserver:m_contentView]; +} + // Returns the current global screen geometry for the nswindow associated with this window. QRect QCocoaWindow::windowGeometry() const { diff --git a/src/plugins/platforms/cocoa/qmacclipboard.mm b/src/plugins/platforms/cocoa/qmacclipboard.mm index d5af6de69c..eff2c5b07a 100644 --- a/src/plugins/platforms/cocoa/qmacclipboard.mm +++ b/src/plugins/platforms/cocoa/qmacclipboard.mm @@ -63,106 +63,6 @@ QT_USE_NAMESPACE *****************************************************************************/ //#define DEBUG_PASTEBOARD -#ifndef QT_NO_CLIPBOARD - -/***************************************************************************** - QClipboard member functions for mac. - *****************************************************************************/ - -static QMacPasteboard *qt_mac_pasteboards[2] = {0, 0}; - -static inline QMacPasteboard *qt_mac_pasteboard(QClipboard::Mode mode) -{ - Q_ASSERT(mode == QClipboard::Clipboard || mode == QClipboard::FindBuffer); - if (mode == QClipboard::Clipboard) - return qt_mac_pasteboards[0]; - else - return qt_mac_pasteboards[1]; -} - -static void qt_mac_cleanupPasteboard() { - delete qt_mac_pasteboards[0]; - delete qt_mac_pasteboards[1]; - qt_mac_pasteboards[0] = 0; - qt_mac_pasteboards[1] = 0; -} - -static bool qt_mac_updateScrap(QClipboard::Mode mode) -{ - if (!qt_mac_pasteboards[0]) { - qt_mac_pasteboards[0] = new QMacPasteboard(kPasteboardClipboard, QMacPasteboardMime::MIME_CLIP); - qt_mac_pasteboards[1] = new QMacPasteboard(kPasteboardFind, QMacPasteboardMime::MIME_CLIP); - qAddPostRoutine(qt_mac_cleanupPasteboard); - return true; - } - return qt_mac_pasteboard(mode)->sync(); -} - -void QClipboard::clear(Mode mode) -{ - if (!supportsMode(mode)) - return; - qt_mac_updateScrap(mode); - qt_mac_pasteboard(mode)->clear(); - setMimeData(0, mode); -} - -void QClipboard::ownerDestroyed() -{ -} - - -void QClipboard::connectNotify(const char *signal) -{ - Q_UNUSED(signal); -} - -bool QClipboard::event(QEvent *e) -{ - if (e->type() != QEvent::Clipboard) - return QObject::event(e); - - if (qt_mac_updateScrap(QClipboard::Clipboard)) { - emitChanged(QClipboard::Clipboard); - } - - if (qt_mac_updateScrap(QClipboard::FindBuffer)) { - emitChanged(QClipboard::FindBuffer); - } - - return QObject::event(e); -} - -const QMimeData *QClipboard::mimeData(Mode mode) const -{ - if (!supportsMode(mode)) - return 0; - qt_mac_updateScrap(mode); - return qt_mac_pasteboard(mode)->mimeData(); -} - -void QClipboard::setMimeData(QMimeData *src, Mode mode) -{ - if (!supportsMode(mode)) - return; - qt_mac_updateScrap(mode); - qt_mac_pasteboard(mode)->setMimeData(src); - emitChanged(mode); -} - -bool QClipboard::supportsMode(Mode mode) const -{ - return (mode == Clipboard || mode == FindBuffer); -} - -bool QClipboard::ownsMode(Mode mode) const -{ - Q_UNUSED(mode); - return false; -} - -#endif // QT_NO_CLIPBOARD - /***************************************************************************** QMacPasteboard code *****************************************************************************/ diff --git a/src/plugins/platforms/cocoa/qmacmime.h b/src/plugins/platforms/cocoa/qmacmime.h index 842caa5f2f..7226caef28 100644 --- a/src/plugins/platforms/cocoa/qmacmime.h +++ b/src/plugins/platforms/cocoa/qmacmime.h @@ -58,7 +58,8 @@ public: explicit QMacPasteboardMime(char); virtual ~QMacPasteboardMime(); - static void initialize(); + static void initializeMimeTypes(); + static void destroyMimeTypes(); static QList all(uchar); static QMacPasteboardMime *convertor(uchar, const QString &mime, QString flav); diff --git a/src/plugins/platforms/cocoa/qmacmime.mm b/src/plugins/platforms/cocoa/qmacmime.mm index db86deb91c..8cb684fbea 100644 --- a/src/plugins/platforms/cocoa/qmacmime.mm +++ b/src/plugins/platforms/cocoa/qmacmime.mm @@ -64,14 +64,6 @@ extern CGImageRef qt_mac_createCGImageFromQImage(const QImage &img, const QImage typedef QList MimeList; Q_GLOBAL_STATIC(MimeList, globalMimeList) - -static void cleanup_mimes() -{ - MimeList *mimes = globalMimeList(); - while (!mimes->isEmpty()) - delete mimes->takeFirst(); -} - Q_GLOBAL_STATIC(QStringList, globalDraggedTypesList) /*! @@ -791,11 +783,9 @@ QList QMacPasteboardMimeVCard::convertFromMime(const QString &mime, This is an internal function. */ -void QMacPasteboardMime::initialize() +void QMacPasteboardMime::initializeMimeTypes() { if (globalMimeList()->isEmpty()) { - qAddPostRoutine(cleanup_mimes); - //standard types that we wrap new QMacPasteboardMimeTiff; new QMacPasteboardMimeUnicodeText; @@ -810,6 +800,16 @@ void QMacPasteboardMime::initialize() } } +/*! + \internal +*/ +void QMacPasteboardMime::destroyMimeTypes() +{ + MimeList *mimes = globalMimeList(); + while (!mimes->isEmpty()) + delete mimes->takeFirst(); +} + /*! Returns the most-recently created QMacPasteboardMime of type \a t that can convert between the \a mime and \a flav formats. Returns 0 if no such convertor diff --git a/src/plugins/platforms/cocoa/qnsview.h b/src/plugins/platforms/cocoa/qnsview.h index 1a1a1cd3b9..f09c9331f6 100644 --- a/src/plugins/platforms/cocoa/qnsview.h +++ b/src/plugins/platforms/cocoa/qnsview.h @@ -44,6 +44,7 @@ #include +#include #include #include @@ -51,12 +52,14 @@ QT_BEGIN_NAMESPACE class QCocoaWindow; QT_END_NAMESPACE -@interface QNSView : NSView { +@interface QNSView : NSView { CGImageRef m_cgImage; QWindow *m_window; QCocoaWindow *m_platformWindow; Qt::MouseButtons m_buttons; QAccessibleInterface *m_accessibleRoot; + QString m_composingText; + bool m_keyEventsAccepted; QStringList *currentCustomDragTypes; } diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index 9ed3332ba5..a28c5959ce 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -51,6 +51,7 @@ #include "qcocoadrag.h" #include +#include #include #ifdef QT_COCOA_ENABLE_ACCESSIBILITY_INSPECTOR @@ -94,6 +95,7 @@ static QTouchDevice *touchDevice = 0; m_window = window; m_platformWindow = platformWindow; m_accessibleRoot = 0; + m_keyEventsAccepted = false; #ifdef QT_COCOA_ENABLE_ACCESSIBILITY_INSPECTOR // prevent rift in space-time continuum, disable @@ -144,14 +146,27 @@ static QTouchDevice *touchDevice = 0; - (void)windowDidBecomeKey { - QWindowSystemInterface::handleWindowActivated(m_window); +// QWindowSystemInterface::handleWindowActivated(m_window); } - (void)windowDidResignKey { +// QWindowSystemInterface::handleWindowActivated(0); +} + +- (void)windowDidBecomeMain +{ +// qDebug() << "window did become main" << m_window; + QWindowSystemInterface::handleWindowActivated(m_window); +} + +- (void)windowDidResignMain +{ +// qDebug() << "window did resign main" << m_window; QWindowSystemInterface::handleWindowActivated(0); } + - (void) setImage:(QImage *)image { CGImageRelease(m_cgImage); @@ -266,14 +281,24 @@ static QTouchDevice *touchDevice = 0; qtScreenPoint = QPoint(screenPoint.x, qt_mac_flipYCoordinate(screenPoint.y)); } ulong timestamp = [theEvent timestamp] * 1000; - QWindowSystemInterface::handleMouseEvent(m_window, timestamp, qtWindowPoint, qtScreenPoint, m_buttons); } - (void)mouseDown:(NSEvent *)theEvent { - m_buttons |= Qt::LeftButton; - [self handleMouseEvent:theEvent]; + if (m_platformWindow->m_activePopupWindow) { + QWindowSystemInterface::handleSynchronousCloseEvent(m_platformWindow->m_activePopupWindow); + m_platformWindow->m_activePopupWindow = 0; + } + if ([self hasMarkedText]) { + NSInputManager* inputManager = [NSInputManager currentInputManager]; + if ([inputManager wantsToHandleMouseEvents]) { + [inputManager handleMouseEvent:theEvent]; + } + } else { + m_buttons |= Qt::LeftButton; + [self handleMouseEvent:theEvent]; + } } - (void)mouseDragged:(NSEvent *)theEvent @@ -327,7 +352,53 @@ static QTouchDevice *touchDevice = 0; - (void)otherMouseDown:(NSEvent *)theEvent { - m_buttons |= Qt::RightButton; + switch ([theEvent buttonNumber]) { + case 3: + m_buttons |= Qt::MiddleButton; + break; + case 4: + m_buttons |= Qt::ExtraButton1; // AKA Qt::BackButton + break; + case 5: + m_buttons |= Qt::ExtraButton2; // AKA Qt::ForwardButton + break; + case 6: + m_buttons |= Qt::ExtraButton3; + break; + case 7: + m_buttons |= Qt::ExtraButton4; + break; + case 8: + m_buttons |= Qt::ExtraButton5; + break; + case 9: + m_buttons |= Qt::ExtraButton6; + break; + case 10: + m_buttons |= Qt::ExtraButton7; + break; + case 11: + m_buttons |= Qt::ExtraButton8; + break; + case 12: + m_buttons |= Qt::ExtraButton9; + break; + case 13: + m_buttons |= Qt::ExtraButton10; + break; + case 14: + m_buttons |= Qt::ExtraButton11; + break; + case 15: + m_buttons |= Qt::ExtraButton12; + break; + case 16: + m_buttons |= Qt::ExtraButton13; + break; + default: + m_buttons |= Qt::MiddleButton; + break; + } [self handleMouseEvent:theEvent]; } @@ -340,7 +411,53 @@ static QTouchDevice *touchDevice = 0; - (void)otherMouseUp:(NSEvent *)theEvent { - m_buttons &= QFlag(~int(Qt::MiddleButton)); + switch ([theEvent buttonNumber]) { + case 3: + m_buttons &= QFlag(~int(Qt::MiddleButton)); + break; + case 4: + m_buttons &= QFlag(~int(Qt::ExtraButton1)); // AKA Qt::BackButton + break; + case 5: + m_buttons &= QFlag(~int(Qt::ExtraButton2)); // AKA Qt::ForwardButton + break; + case 6: + m_buttons &= QFlag(~int(Qt::ExtraButton3)); + break; + case 7: + m_buttons &= QFlag(~int(Qt::ExtraButton4)); + break; + case 8: + m_buttons &= QFlag(~int(Qt::ExtraButton5)); + break; + case 9: + m_buttons &= QFlag(~int(Qt::ExtraButton6)); + break; + case 10: + m_buttons &= QFlag(~int(Qt::ExtraButton7)); + break; + case 11: + m_buttons &= QFlag(~int(Qt::ExtraButton8)); + break; + case 12: + m_buttons &= QFlag(~int(Qt::ExtraButton9)); + break; + case 13: + m_buttons &= QFlag(~int(Qt::ExtraButton10)); + break; + case 14: + m_buttons &= QFlag(~int(Qt::ExtraButton11)); + break; + case 15: + m_buttons &= QFlag(~int(Qt::ExtraButton12)); + break; + case 16: + m_buttons &= QFlag(~int(Qt::ExtraButton13)); + break; + default: + m_buttons &= QFlag(~int(Qt::MiddleButton)); + break; + } [self handleMouseEvent:theEvent]; } @@ -467,12 +584,228 @@ static QTouchDevice *touchDevice = 0; - (void)keyDown:(NSEvent *)theEvent { - [self handleKeyEvent : theEvent eventType :int(QEvent::KeyPress)]; + QObject *fo = QGuiApplication::focusObject(); + m_keyEventsAccepted = false; + if (fo) { + QInputMethodQueryEvent queryEvent(Qt::ImHints); + if (QCoreApplication::sendEvent(fo, &queryEvent)) { + Qt::InputMethodHints hints = static_cast(queryEvent.value(Qt::ImHints).toUInt()); + if (!(hints & Qt::ImhDigitsOnly || hints & Qt::ImhFormattedNumbersOnly || hints & Qt::ImhHiddenText)) { + [self interpretKeyEvents:[NSArray arrayWithObject: theEvent]]; + } + } + } + + if (!m_keyEventsAccepted && m_composingText.isEmpty()) { + [self handleKeyEvent : theEvent eventType :int(QEvent::KeyPress)]; + } } - (void)keyUp:(NSEvent *)theEvent { - [self handleKeyEvent : theEvent eventType :int(QEvent::KeyRelease)]; + if (!m_keyEventsAccepted && m_composingText.isEmpty()) { + [self handleKeyEvent : theEvent eventType :int(QEvent::KeyRelease)]; + } +} + +- (void) doCommandBySelector:(SEL)aSelector +{ + [self tryToPerform:aSelector with:self]; +} + +- (void) insertText:(id)aString +{ + QString commitString; + if ([aString length]) { + if ([aString isKindOfClass:[NSAttributedString class]]) { + commitString = QCFString::toQString(reinterpret_cast([aString string])); + } else { + commitString = QCFString::toQString(reinterpret_cast(aString)); + }; + } + QObject *fo = QGuiApplication::focusObject(); + if (fo) { + QInputMethodEvent e; + e.setCommitString(commitString); + QCoreApplication::sendEvent(fo, &e); + m_keyEventsAccepted = true; + } + + m_composingText.clear(); + } + +- (void) setMarkedText:(id)aString selectedRange:(NSRange)selRange +{ + QString preeditString; + + QList attrs; + attrs<([aString string])); + int composingLength = preeditString.length(); + int index = 0; + // Create attributes for individual sections of preedit text + while (index < composingLength) { + NSRange effectiveRange; + NSRange range = NSMakeRange(index, composingLength-index); + NSDictionary *attributes = [aString attributesAtIndex:index + longestEffectiveRange:&effectiveRange + inRange:range]; + NSNumber *underlineStyle = [attributes objectForKey:NSUnderlineStyleAttributeName]; + if (underlineStyle) { + QColor clr (Qt::black); + NSColor *color = [attributes objectForKey:NSUnderlineColorAttributeName]; + if (color) { + clr = qt_mac_toQColor(color); + } + QTextCharFormat format; + format.setFontUnderline(true); + format.setUnderlineColor(clr); + attrs<(aString)); + } + + if (attrs.isEmpty()) { + QTextCharFormat format; + format.setFontUnderline(true); + attrs<((CFStringRef)string); + return [[[NSAttributedString alloc] initWithString:const_cast(tmpString)] autorelease]; +} + +- (NSRange) markedRange +{ + NSRange range; + if (!m_composingText.isEmpty()) { + range.location = 0; + range.length = m_composingText.length(); + } else { + range.location = NSNotFound; + range.length = 0; + } + return range; +} + + +- (NSRange) selectedRange +{ + NSRange selRange = {NSNotFound, 0}; + selRange.location = NSNotFound; + selRange.length = 0; + + QObject *fo = QGuiApplication::focusObject(); + if (!fo) + return selRange; + QInputMethodQueryEvent queryEvent(Qt::ImCurrentSelection); + if (!QCoreApplication::sendEvent(fo, &queryEvent)) + return selRange; + QString selectedText = queryEvent.value(Qt::ImCurrentSelection).toString(); + + if (!selectedText.isEmpty()) { + selRange.location = 0; + selRange.length = selectedText.length(); + } + return selRange; +} + +- (NSRect) firstRectForCharacterRange:(NSRange)theRange +{ + Q_UNUSED(theRange); + QObject *fo = QGuiApplication::focusObject(); + if (!fo) + return NSZeroRect; + + if (!m_window) + return NSZeroRect; + + // The returned rect is always based on the internal cursor. + QRect mr = qApp->inputMethod()->cursorRectangle().toRect(); + QPoint mp = m_window->mapToGlobal(mr.bottomLeft()); + + NSRect rect; + rect.origin.x = mp.x(); + rect.origin.y = qt_mac_flipYCoordinate(mp.y()); + rect.size.width = mr.width(); + rect.size.height = mr.height(); + return rect; +} + +- (NSUInteger)characterIndexForPoint:(NSPoint)thePoint +{ + // We dont support cursor movements using mouse while composing. + Q_UNUSED(thePoint); + return NSNotFound; +} + +- (NSArray*) validAttributesForMarkedText +{ + QObject *fo = QGuiApplication::focusObject(); + if (!fo) + return nil; + + // Support only underline color/style. + return [NSArray arrayWithObjects:NSUnderlineColorAttributeName, + NSUnderlineStyleAttributeName, nil]; } -(void)registerDragTypes diff --git a/src/plugins/platforms/cocoa/qnswindowdelegate.mm b/src/plugins/platforms/cocoa/qnswindowdelegate.mm index a0e98e0ed1..2548fb4a9d 100644 --- a/src/plugins/platforms/cocoa/qnswindowdelegate.mm +++ b/src/plugins/platforms/cocoa/qnswindowdelegate.mm @@ -64,6 +64,14 @@ } } +- (void)windowWillMove:(NSNotification *)notification +{ + Q_UNUSED(notification); + if (m_cocoaWindow) { + m_cocoaWindow->windowWillMove(); + } +} + - (void)windowDidMove:(NSNotification *)notification { Q_UNUSED(notification); diff --git a/src/plugins/platforms/cocoa/qpaintengine_mac.mm b/src/plugins/platforms/cocoa/qpaintengine_mac.mm new file mode 100644 index 0000000000..8b8445c995 --- /dev/null +++ b/src/plugins/platforms/cocoa/qpaintengine_mac.mm @@ -0,0 +1,1788 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qpaintengine_mac_p.h" +#include "qprintengine_mac_p.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "qcocoahelpers.h" + +#include + +QT_BEGIN_NAMESPACE + +extern int qt_antialiasing_threshold; // from qcoretextfontdatabase.mm + +/***************************************************************************** + QCoreGraphicsPaintEngine utility functions + *****************************************************************************/ + +void qt_mac_clip_cg(CGContextRef hd, const QRegion &rgn, CGAffineTransform *orig_xform) +{ + CGAffineTransform old_xform = CGAffineTransformIdentity; + if (orig_xform) { //setup xforms + old_xform = CGContextGetCTM(hd); + CGContextConcatCTM(hd, CGAffineTransformInvert(old_xform)); + CGContextConcatCTM(hd, *orig_xform); + } + + //do the clipping + CGContextBeginPath(hd); + if (rgn.isEmpty()) { + CGContextAddRect(hd, CGRectMake(0, 0, 0, 0)); + } else { +#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) + if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5) { + QCFType shape = qt_mac_QRegionToHIMutableShape(rgn); + Q_ASSERT(!HIShapeIsEmpty(shape)); + HIShapeReplacePathInCGContext(shape, hd); + } else +#endif + { + QVector rects = rgn.rects(); + const int count = rects.size(); + for (int i = 0; i < count; i++) { + const QRect &r = rects[i]; + CGRect mac_r = CGRectMake(r.x(), r.y(), r.width(), r.height()); + CGContextAddRect(hd, mac_r); + } + } + + } + CGContextClip(hd); + + if (orig_xform) {//reset xforms + CGContextConcatCTM(hd, CGAffineTransformInvert(CGContextGetCTM(hd))); + CGContextConcatCTM(hd, old_xform); + } +} + +CGColorSpaceRef qt_mac_colorSpaceForDeviceType(const QPaintDevice *paintDevice) +{ + bool isWidget = (paintDevice->devType() == QInternal::Widget); + return QCoreGraphicsPaintEngine::macDisplayColorSpace(isWidget ? static_cast(paintDevice) + : 0); +} + +// Implemented for qt_mac_p.h +QMacCGContext::QMacCGContext(QPainter *p) +{ + QPaintEngine *pe = p->paintEngine(); + if (pe->type() == QPaintEngine::MacPrinter) + pe = static_cast(pe)->paintEngine(); + pe->syncState(); + context = 0; + if (pe->type() == QPaintEngine::CoreGraphics) + context = static_cast(pe)->handle(); + + int devType = p->device()->devType(); + if (pe->type() == QPaintEngine::Raster + && (devType == QInternal::Widget || devType == QInternal::Pixmap || devType == QInternal::Image)) { + + CGColorSpaceRef colorspace = qt_mac_colorSpaceForDeviceType(pe->paintDevice()); + uint flags = kCGImageAlphaPremultipliedFirst; +#ifdef kCGBitmapByteOrder32Host //only needed because CGImage.h added symbols in the minor version + flags |= kCGBitmapByteOrder32Host; +#endif + const QImage *image = (const QImage *) pe->paintDevice(); + + context = CGBitmapContextCreate((void *) image->bits(), image->width(), image->height(), + 8, image->bytesPerLine(), colorspace, flags); + + CGContextTranslateCTM(context, 0, image->height()); + CGContextScaleCTM(context, 1, -1); + + if (devType == QInternal::Widget) { + QRegion clip = p->paintEngine()->systemClip(); + QTransform native = p->deviceTransform(); + QTransform logical = p->combinedTransform(); + + if (p->hasClipping()) { + QRegion r = p->clipRegion(); + r.translate(native.dx(), native.dy()); + if (clip.isEmpty()) + clip = r; + else + clip &= r; + } + qt_mac_clip_cg(context, clip, 0); + + CGContextTranslateCTM(context, native.dx(), native.dy()); + } + } else { + CGContextRetain(context); + } +} + +void qt_mac_cgimage_data_free(void *, const void *memoryToFree, size_t) +{ + free(const_cast(memoryToFree)); +} + +CGImageRef qt_mac_create_imagemask(const QPixmap &pixmap, const QRectF &sr) +{ + QImage image = pixmap.toImage(); + if (image.format() != QImage::Format_ARGB32_Premultiplied) + image = image.convertToFormat(QImage::Format_ARGB32_Premultiplied); + + const int sx = qRound(sr.x()), sy = qRound(sr.y()), sw = qRound(sr.width()), sh = qRound(sr.height()); + const int sbpr = image.bytesPerLine(); + const uint nbytes = sw * sh; + // alpha is always 255 for bitmaps, ignore it in this case. + const quint32 mask = pixmap.depth() == 1 ? 0x00ffffff : 0xffffffff; + quint8 *dptr = static_cast(malloc(nbytes)); + quint32 *sptr = reinterpret_cast(image.scanLine(0)), *srow; + for (int y = sy, offset=0; y < sh; ++y) { + srow = sptr + (y * (sbpr / 4)); + for (int x = sx; x < sw; ++x) + *(dptr+(offset++)) = (*(srow+x) & mask) ? 255 : 0; + } + QCFType provider = CGDataProviderCreateWithData(0, dptr, nbytes, qt_mac_cgimage_data_free); + return CGImageMaskCreate(sw, sh, 8, 8, nbytes / sh, provider, 0, 0); +} + +//conversion +inline static float qt_mac_convert_color_to_cg(int c) { return ((float)c * 1000 / 255) / 1000; } +inline static int qt_mac_convert_color_from_cg(float c) { return qRound(c * 255); } +CGAffineTransform qt_mac_convert_transform_to_cg(const QTransform &t) { + return CGAffineTransformMake(t.m11(), t.m12(), t.m21(), t.m22(), t.dx(), t.dy()); +} + +/*! \internal + + Returns the CoreGraphics CGContextRef of the paint device. 0 is + returned if it can't be obtained. It is the caller's responsibility to + CGContextRelease the context when finished using it. + + \warning This function is only available on Mac OS X. + \warning This function is duplicated in qmacstyle_mac.mm +*/ +CGContextRef qt_mac_cg_context(const QPaintDevice *pdev) +{ + if (pdev->devType() == QInternal::Pixmap) { + const QPixmap *pm = static_cast(pdev); + CGColorSpaceRef colorspace = qt_mac_colorSpaceForDeviceType(pdev); + uint flags = kCGImageAlphaPremultipliedFirst; + flags |= kCGBitmapByteOrder32Host; + CGContextRef ret = 0; + + QPlatformPixmap *data = const_cast(pm)->data_ptr().data(); + if (data->classId() == QPlatformPixmap::RasterClass) { + QImage *image = data->buffer(); + ret = CGBitmapContextCreate(image->bits(), image->width(), image->height(), + 8, image->bytesPerLine(), colorspace, flags); + } else { + qDebug() << "qt_mac_cg_context: Unsupported pixmap class"; + } + + CGContextTranslateCTM(ret, 0, pm->height()); + CGContextScaleCTM(ret, 1, -1); + return ret; + } else if (pdev->devType() == QInternal::Widget) { + //CGContextRef ret = static_cast(static_cast(pdev)->macCGHandle()); + ///CGContextRetain(ret); + //return ret; + qDebug() << "qt_mac_cg_context: not implemented: Widget class"; + return 0; + } + return 0; +} + +inline static QCFType cgColorForQColor(const QColor &col, QPaintDevice *pdev) +{ + CGFloat components[] = { + qt_mac_convert_color_to_cg(col.red()), + qt_mac_convert_color_to_cg(col.green()), + qt_mac_convert_color_to_cg(col.blue()), + qt_mac_convert_color_to_cg(col.alpha()) + }; + return CGColorCreate(qt_mac_colorSpaceForDeviceType(pdev), components); +} + +// There's architectural problems with using native gradients +// on the Mac at the moment, so disable them. +// #define QT_MAC_USE_NATIVE_GRADIENTS + +#ifdef QT_MAC_USE_NATIVE_GRADIENTS +static bool drawGradientNatively(const QGradient *gradient) +{ + return gradient->spread() == QGradient::PadSpread; +} + +// gradiant callback +static void qt_mac_color_gradient_function(void *info, const CGFloat *in, CGFloat *out) +{ + QBrush *brush = static_cast(info); + Q_ASSERT(brush && brush->gradient()); + + const QGradientStops stops = brush->gradient()->stops(); + const int n = stops.count(); + Q_ASSERT(n >= 1); + const QGradientStop *begin = stops.constBegin(); + const QGradientStop *end = begin + n; + + qreal p = in[0]; + const QGradientStop *i = begin; + while (i != end && i->first < p) + ++i; + + QRgb c; + if (i == begin) { + c = begin->second.rgba(); + } else if (i == end) { + c = (end - 1)->second.rgba(); + } else { + const QGradientStop &s1 = *(i - 1); + const QGradientStop &s2 = *i; + qreal p1 = s1.first; + qreal p2 = s2.first; + QRgb c1 = s1.second.rgba(); + QRgb c2 = s2.second.rgba(); + int idist = 256 * (p - p1) / (p2 - p1); + int dist = 256 - idist; + c = qRgba(INTERPOLATE_PIXEL_256(qRed(c1), dist, qRed(c2), idist), + INTERPOLATE_PIXEL_256(qGreen(c1), dist, qGreen(c2), idist), + INTERPOLATE_PIXEL_256(qBlue(c1), dist, qBlue(c2), idist), + INTERPOLATE_PIXEL_256(qAlpha(c1), dist, qAlpha(c2), idist)); + } + + out[0] = qt_mac_convert_color_to_cg(qRed(c)); + out[1] = qt_mac_convert_color_to_cg(qGreen(c)); + out[2] = qt_mac_convert_color_to_cg(qBlue(c)); + out[3] = qt_mac_convert_color_to_cg(qAlpha(c)); +} +#endif + +//clipping handling +void QCoreGraphicsPaintEnginePrivate::resetClip() +{ + static bool inReset = false; + if (inReset) + return; + inReset = true; + + CGAffineTransform old_xform = CGContextGetCTM(hd); + + //setup xforms + CGContextConcatCTM(hd, CGAffineTransformInvert(old_xform)); + while (stackCount > 0) { + restoreGraphicsState(); + } + saveGraphicsState(); + inReset = false; + //reset xforms + CGContextConcatCTM(hd, CGAffineTransformInvert(CGContextGetCTM(hd))); + CGContextConcatCTM(hd, old_xform); +} + +static CGRect qt_mac_compose_rect(const QRectF &r, float off=0) +{ + return CGRectMake(r.x()+off, r.y()+off, r.width(), r.height()); +} + +static CGMutablePathRef qt_mac_compose_path(const QPainterPath &p, float off=0) +{ + CGMutablePathRef ret = CGPathCreateMutable(); + QPointF startPt; + for (int i=0; i 0 + && p.elementAt(i - 1).x == startPt.x() + && p.elementAt(i - 1).y == startPt.y()) + CGPathCloseSubpath(ret); + startPt = QPointF(elm.x, elm.y); + CGPathMoveToPoint(ret, 0, elm.x+off, elm.y+off); + break; + case QPainterPath::LineToElement: + CGPathAddLineToPoint(ret, 0, elm.x+off, elm.y+off); + break; + case QPainterPath::CurveToElement: + Q_ASSERT(p.elementAt(i+1).type == QPainterPath::CurveToDataElement); + Q_ASSERT(p.elementAt(i+2).type == QPainterPath::CurveToDataElement); + CGPathAddCurveToPoint(ret, 0, + elm.x+off, elm.y+off, + p.elementAt(i+1).x+off, p.elementAt(i+1).y+off, + p.elementAt(i+2).x+off, p.elementAt(i+2).y+off); + i+=2; + break; + default: + qFatal("QCoreGraphicsPaintEngine::drawPath(), unhandled type: %d", elm.type); + break; + } + } + if (!p.isEmpty() + && p.elementAt(p.elementCount() - 1).x == startPt.x() + && p.elementAt(p.elementCount() - 1).y == startPt.y()) + CGPathCloseSubpath(ret); + return ret; +} + +CGColorSpaceRef QCoreGraphicsPaintEngine::m_genericColorSpace = 0; +QHash QCoreGraphicsPaintEngine::m_displayColorSpaceHash; +bool QCoreGraphicsPaintEngine::m_postRoutineRegistered = false; + +CGColorSpaceRef QCoreGraphicsPaintEngine::macGenericColorSpace() +{ +#if 0 + if (!m_genericColorSpace) { +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 + if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_4) { + m_genericColorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); + } else +#endif + { + m_genericColorSpace = CGColorSpaceCreateDeviceRGB(); + } + if (!m_postRoutineRegistered) { + m_postRoutineRegistered = true; + qAddPostRoutine(QCoreGraphicsPaintEngine::cleanUpMacColorSpaces); + } + } + return m_genericColorSpace; +#else + // Just return the main display colorspace for the moment. + return macDisplayColorSpace(); +#endif +} + +/* + Ideally, we should pass the widget in here, and use CGGetDisplaysWithRect() etc. + to support multiple displays correctly. +*/ +CGColorSpaceRef QCoreGraphicsPaintEngine::macDisplayColorSpace(const QWidget *widget) +{ + CGColorSpaceRef colorSpace; + + CGDirectDisplayID displayID; + CMProfileRef displayProfile = 0; + if (widget == 0) { + displayID = CGMainDisplayID(); + } else { + const QRect &qrect = widget->window()->geometry(); + CGRect rect = CGRectMake(qrect.x(), qrect.y(), qrect.width(), qrect.height()); + CGDisplayCount throwAway; + CGDisplayErr dErr = CGGetDisplaysWithRect(rect, 1, &displayID, &throwAway); + if (dErr != kCGErrorSuccess) + return macDisplayColorSpace(0); // fall back on main display + } + if ((colorSpace = m_displayColorSpaceHash.value(displayID))) + return colorSpace; + + CMError err = CMGetProfileByAVID((CMDisplayIDType)displayID, &displayProfile); + if (err == noErr) { + colorSpace = CGColorSpaceCreateWithPlatformColorSpace(displayProfile); + } else if (widget) { + return macDisplayColorSpace(0); // fall back on main display + } + + if (colorSpace == 0) + colorSpace = CGColorSpaceCreateDeviceRGB(); + + m_displayColorSpaceHash.insert(displayID, colorSpace); + CMCloseProfile(displayProfile); + if (!m_postRoutineRegistered) { + m_postRoutineRegistered = true; + qAddPostRoutine(QCoreGraphicsPaintEngine::cleanUpMacColorSpaces); + } + return colorSpace; +} + +void QCoreGraphicsPaintEngine::cleanUpMacColorSpaces() +{ + if (m_genericColorSpace) { + CFRelease(m_genericColorSpace); + m_genericColorSpace = 0; + } + QHash::const_iterator it = m_displayColorSpaceHash.constBegin(); + while (it != m_displayColorSpaceHash.constEnd()) { + if (it.value()) + CFRelease(it.value()); + ++it; + } + m_displayColorSpaceHash.clear(); +} + +//pattern handling (tiling) +#if 1 +# define QMACPATTERN_MASK_MULTIPLIER 32 +#else +# define QMACPATTERN_MASK_MULTIPLIER 1 +#endif +class QMacPattern +{ +public: + QMacPattern() : as_mask(false), pdev(0), image(0) { data.bytes = 0; } + ~QMacPattern() { CGImageRelease(image); } + int width() { + if (image) + return CGImageGetWidth(image); + if (data.bytes) + return 8*QMACPATTERN_MASK_MULTIPLIER; + return data.pixmap.width(); + } + int height() { + if (image) + return CGImageGetHeight(image); + if (data.bytes) + return 8*QMACPATTERN_MASK_MULTIPLIER; + return data.pixmap.height(); + } + + //input + QColor foreground; + bool as_mask; + struct { + QPixmap pixmap; + const uchar *bytes; + } data; + QPaintDevice *pdev; + //output + CGImageRef image; +}; +static void qt_mac_draw_pattern(void *info, CGContextRef c) +{ + QMacPattern *pat = (QMacPattern*)info; + int w = 0, h = 0; + bool isBitmap = (pat->data.pixmap.depth() == 1); + if (!pat->image) { //lazy cache + if (pat->as_mask) { + Q_ASSERT(pat->data.bytes); + w = h = 8; +#if (QMACPATTERN_MASK_MULTIPLIER == 1) + CGDataProviderRef provider = CGDataProviderCreateWithData(0, pat->data.bytes, w*h, 0); + pat->image = CGImageMaskCreate(w, h, 1, 1, 1, provider, 0, false); + CGDataProviderRelease(provider); +#else + const int numBytes = (w*h)/sizeof(uchar); + uchar xor_bytes[numBytes]; + for (int i = 0; i < numBytes; ++i) + xor_bytes[i] = pat->data.bytes[i] ^ 0xFF; + CGDataProviderRef provider = CGDataProviderCreateWithData(0, xor_bytes, w*h, 0); + CGImageRef swatch = CGImageMaskCreate(w, h, 1, 1, 1, provider, 0, false); + CGDataProviderRelease(provider); + + const QColor c0(0, 0, 0, 0), c1(255, 255, 255, 255); + QPixmap pm(w*QMACPATTERN_MASK_MULTIPLIER, h*QMACPATTERN_MASK_MULTIPLIER); + pm.fill(c0); + CGContextRef pm_ctx = qt_mac_cg_context(&pm); + CGContextSetFillColorWithColor(c, cgColorForQColor(c1, pat->pdev)); + CGRect rect = CGRectMake(0, 0, w, h); + for (int x = 0; x < QMACPATTERN_MASK_MULTIPLIER; ++x) { + rect.origin.x = x * w; + for (int y = 0; y < QMACPATTERN_MASK_MULTIPLIER; ++y) { + rect.origin.y = y * h; + qt_mac_drawCGImage(pm_ctx, &rect, swatch); + } + } + pat->image = qt_mac_create_imagemask(pm, pm.rect()); + CGImageRelease(swatch); + CGContextRelease(pm_ctx); + w *= QMACPATTERN_MASK_MULTIPLIER; + h *= QMACPATTERN_MASK_MULTIPLIER; +#endif + } else { + w = pat->data.pixmap.width(); + h = pat->data.pixmap.height(); + if (isBitmap) + pat->image = qt_mac_create_imagemask(pat->data.pixmap, pat->data.pixmap.rect()); + else + pat->image = qt_mac_image_to_cgimage(pat->data.pixmap.toImage()); + } + } else { + w = CGImageGetWidth(pat->image); + h = CGImageGetHeight(pat->image); + } + + //draw + bool needRestore = false; + if (CGImageIsMask(pat->image)) { + CGContextSaveGState(c); + CGContextSetFillColorWithColor(c, cgColorForQColor(pat->foreground, pat->pdev)); + } + CGRect rect = CGRectMake(0, 0, w, h); + qt_mac_drawCGImage(c, &rect, pat->image); + if (needRestore) + CGContextRestoreGState(c); +} +static void qt_mac_dispose_pattern(void *info) +{ + QMacPattern *pat = (QMacPattern*)info; + delete pat; +} + +/***************************************************************************** + QCoreGraphicsPaintEngine member functions + *****************************************************************************/ + +inline static QPaintEngine::PaintEngineFeatures qt_mac_cg_features() +{ + return QPaintEngine::PaintEngineFeatures(QPaintEngine::AllFeatures & ~QPaintEngine::PaintOutsidePaintEvent + & ~QPaintEngine::PerspectiveTransform + & ~QPaintEngine::ConicalGradientFill + & ~QPaintEngine::LinearGradientFill + & ~QPaintEngine::RadialGradientFill + & ~QPaintEngine::BrushStroke); +} + +QCoreGraphicsPaintEngine::QCoreGraphicsPaintEngine() +: QPaintEngine(*(new QCoreGraphicsPaintEnginePrivate), qt_mac_cg_features()) +{ +} + +QCoreGraphicsPaintEngine::QCoreGraphicsPaintEngine(QPaintEnginePrivate &dptr) +: QPaintEngine(dptr, qt_mac_cg_features()) +{ +} + +QCoreGraphicsPaintEngine::~QCoreGraphicsPaintEngine() +{ +} + +bool +QCoreGraphicsPaintEngine::begin(QPaintDevice *pdev) +{ + Q_D(QCoreGraphicsPaintEngine); + if (isActive()) { // already active painting + qWarning("QCoreGraphicsPaintEngine::begin: Painter already active"); + return false; + } + + //initialization + d->pdev = pdev; + d->complexXForm = false; + d->cosmeticPen = QCoreGraphicsPaintEnginePrivate::CosmeticSetPenWidth; + d->cosmeticPenSize = 1; + d->current.clipEnabled = false; + d->pixelSize = QPoint(1,1); + d->hd = qt_mac_cg_context(pdev); + if (d->hd) { + d->saveGraphicsState(); + d->orig_xform = CGContextGetCTM(d->hd); + if (d->shading) { + CGShadingRelease(d->shading); + d->shading = 0; + } + d->setClip(0); //clear the context's clipping + } + + setActive(true); + + if (d->pdev->devType() == QInternal::Widget) { // device is a widget + QWidget *w = (QWidget*)d->pdev; + bool unclipped = w->testAttribute(Qt::WA_PaintUnclipped); + + if ((w->windowType() == Qt::Desktop)) { + if (!unclipped) + qWarning("QCoreGraphicsPaintEngine::begin: Does not support clipped desktop on Mac OS X"); + // ## need to do [qt_mac_window_for(w) makeKeyAndOrderFront]; (need to rename the file) + } else if (unclipped) { + qWarning("QCoreGraphicsPaintEngine::begin: Does not support unclipped painting"); + } + } else if (d->pdev->devType() == QInternal::Pixmap) { // device is a pixmap + QPixmap *pm = (QPixmap*)d->pdev; + if (pm->isNull()) { + qWarning("QCoreGraphicsPaintEngine::begin: Cannot paint null pixmap"); + end(); + return false; + } + } + + setDirty(QPaintEngine::DirtyPen); + setDirty(QPaintEngine::DirtyBrush); + setDirty(QPaintEngine::DirtyBackground); + setDirty(QPaintEngine::DirtyHints); + return true; +} + +bool +QCoreGraphicsPaintEngine::end() +{ + Q_D(QCoreGraphicsPaintEngine); + setActive(false); + if (d->pdev->devType() == QInternal::Widget && static_cast(d->pdev)->windowType() == Qt::Desktop) { + // ### need to do [qt_mac_window_for(static_cast(d->pdev)) orderOut]; (need to rename) + } + if (d->shading) { + CGShadingRelease(d->shading); + d->shading = 0; + } + d->pdev = 0; + if (d->hd) { + d->restoreGraphicsState(); + CGContextSynchronize(d->hd); + CGContextRelease(d->hd); + d->hd = 0; + } + return true; +} + +void +QCoreGraphicsPaintEngine::updateState(const QPaintEngineState &state) +{ + Q_D(QCoreGraphicsPaintEngine); + QPaintEngine::DirtyFlags flags = state.state(); + + if (flags & DirtyTransform) + updateMatrix(state.transform()); + + if (flags & DirtyClipEnabled) { + if (state.isClipEnabled()) + updateClipPath(painter()->clipPath(), Qt::ReplaceClip); + else + updateClipPath(QPainterPath(), Qt::NoClip); + } + + if (flags & DirtyClipPath) { + updateClipPath(state.clipPath(), state.clipOperation()); + } else if (flags & DirtyClipRegion) { + updateClipRegion(state.clipRegion(), state.clipOperation()); + } + + // If the clip has changed we need to update all other states + // too, since they are included in the system context on OSX, + // and changing the clip resets that context back to scratch. + if (flags & (DirtyClipPath | DirtyClipRegion | DirtyClipEnabled)) + flags |= AllDirty; + + if (flags & DirtyPen) + updatePen(state.pen()); + if (flags & (DirtyBrush|DirtyBrushOrigin)) + updateBrush(state.brush(), state.brushOrigin()); + if (flags & DirtyFont) + updateFont(state.font()); + if (flags & DirtyOpacity) + updateOpacity(state.opacity()); + if (flags & DirtyHints) + updateRenderHints(state.renderHints()); + if (flags & DirtyCompositionMode) + updateCompositionMode(state.compositionMode()); + + if (flags & (DirtyPen | DirtyTransform)) { + if (!d->current.pen.isCosmetic()) { + d->cosmeticPen = QCoreGraphicsPaintEnginePrivate::CosmeticNone; + } else if (d->current.transform.m11() < d->current.transform.m22()-1.0 || + d->current.transform.m11() > d->current.transform.m22()+1.0) { + d->cosmeticPen = QCoreGraphicsPaintEnginePrivate::CosmeticTransformPath; + d->cosmeticPenSize = d->adjustPenWidth(d->current.pen.widthF()); + if (!d->cosmeticPenSize) + d->cosmeticPenSize = 1.0; + } else { + d->cosmeticPen = QCoreGraphicsPaintEnginePrivate::CosmeticSetPenWidth; + static const float sqrt2 = sqrt(2); + qreal width = d->current.pen.widthF(); + if (!width) + width = 1; + d->cosmeticPenSize = sqrt(pow(d->pixelSize.y(), 2) + pow(d->pixelSize.x(), 2)) / sqrt2 * width; + } + } +} + +void +QCoreGraphicsPaintEngine::updatePen(const QPen &pen) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + d->current.pen = pen; + d->setStrokePen(pen); +} + +void +QCoreGraphicsPaintEngine::updateBrush(const QBrush &brush, const QPointF &brushOrigin) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + d->current.brush = brush; + +#ifdef QT_MAC_USE_NATIVE_GRADIENTS + // Quartz supports only pad spread + if (const QGradient *gradient = brush.gradient()) { + if (drawGradientNatively(gradient)) { + gccaps |= QPaintEngine::LinearGradientFill | QPaintEngine::RadialGradientFill; + } else { + gccaps &= ~(QPaintEngine::LinearGradientFill | QPaintEngine::RadialGradientFill); + } + } +#endif + + if (d->shading) { + CGShadingRelease(d->shading); + d->shading = 0; + } + d->setFillBrush(brushOrigin); +} + +void +QCoreGraphicsPaintEngine::updateOpacity(qreal opacity) +{ + Q_D(QCoreGraphicsPaintEngine); + CGContextSetAlpha(d->hd, opacity); +} + +void +QCoreGraphicsPaintEngine::updateFont(const QFont &) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + updatePen(d->current.pen); +} + +void +QCoreGraphicsPaintEngine::updateMatrix(const QTransform &transform) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + + if (qt_is_nan(transform.m11()) || qt_is_nan(transform.m12()) || qt_is_nan(transform.m13()) + || qt_is_nan(transform.m21()) || qt_is_nan(transform.m22()) || qt_is_nan(transform.m23()) + || qt_is_nan(transform.m31()) || qt_is_nan(transform.m32()) || qt_is_nan(transform.m33())) + return; + + d->current.transform = transform; + d->setTransform(transform.isIdentity() ? 0 : &transform); + d->complexXForm = (transform.m11() != 1 || transform.m22() != 1 + || transform.m12() != 0 || transform.m21() != 0); + d->pixelSize = d->devicePixelSize(d->hd); +} + +void +QCoreGraphicsPaintEngine::updateClipPath(const QPainterPath &p, Qt::ClipOperation op) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + if (op == Qt::NoClip) { + if (d->current.clipEnabled) { + d->current.clipEnabled = false; + d->current.clip = QRegion(); + d->setClip(0); + } + } else { + if (!d->current.clipEnabled) + op = Qt::ReplaceClip; + d->current.clipEnabled = true; + QRegion clipRegion(p.toFillPolygon().toPolygon(), p.fillRule()); + if (op == Qt::ReplaceClip) { + d->current.clip = clipRegion; + d->setClip(0); + if (p.isEmpty()) { + CGRect rect = CGRectMake(0, 0, 0, 0); + CGContextClipToRect(d->hd, rect); + } else { + CGMutablePathRef path = qt_mac_compose_path(p); + CGContextBeginPath(d->hd); + CGContextAddPath(d->hd, path); + if (p.fillRule() == Qt::WindingFill) + CGContextClip(d->hd); + else + CGContextEOClip(d->hd); + CGPathRelease(path); + } + } else if (op == Qt::IntersectClip) { + d->current.clip = d->current.clip.intersected(clipRegion); + d->setClip(&d->current.clip); + } + } +} + +void +QCoreGraphicsPaintEngine::updateClipRegion(const QRegion &clipRegion, Qt::ClipOperation op) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + if (op == Qt::NoClip) { + d->current.clipEnabled = false; + d->current.clip = QRegion(); + d->setClip(0); + } else { + if (!d->current.clipEnabled) + op = Qt::ReplaceClip; + d->current.clipEnabled = true; + if (op == Qt::IntersectClip) + d->current.clip = d->current.clip.intersected(clipRegion); + else if (op == Qt::ReplaceClip) + d->current.clip = clipRegion; + d->setClip(&d->current.clip); + } +} + +void +QCoreGraphicsPaintEngine::drawPath(const QPainterPath &p) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + + if (state->compositionMode() == QPainter::CompositionMode_Destination) + return; + + CGMutablePathRef path = qt_mac_compose_path(p); + uchar ops = QCoreGraphicsPaintEnginePrivate::CGStroke; + if (p.fillRule() == Qt::WindingFill) + ops |= QCoreGraphicsPaintEnginePrivate::CGFill; + else + ops |= QCoreGraphicsPaintEnginePrivate::CGEOFill; + CGContextBeginPath(d->hd); + d->drawPath(ops, path); + CGPathRelease(path); +} + +void +QCoreGraphicsPaintEngine::drawRects(const QRectF *rects, int rectCount) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + + if (state->compositionMode() == QPainter::CompositionMode_Destination) + return; + + for (int i=0; idrawPath(QCoreGraphicsPaintEnginePrivate::CGFill|QCoreGraphicsPaintEnginePrivate::CGStroke, + path); + CGPathRelease(path); + } +} + +void +QCoreGraphicsPaintEngine::drawPoints(const QPointF *points, int pointCount) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + + if (state->compositionMode() == QPainter::CompositionMode_Destination) + return; + + if (d->current.pen.capStyle() == Qt::FlatCap) + CGContextSetLineCap(d->hd, kCGLineCapSquare); + + CGMutablePathRef path = CGPathCreateMutable(); + for (int i=0; i < pointCount; i++) { + float x = points[i].x(), y = points[i].y(); + CGPathMoveToPoint(path, 0, x, y); + CGPathAddLineToPoint(path, 0, x+0.001, y); + } + + bool doRestore = false; + if (d->cosmeticPen == QCoreGraphicsPaintEnginePrivate::CosmeticNone && !(state->renderHints() & QPainter::Antialiasing)) { + //we don't want adjusted pens for point rendering + doRestore = true; + d->saveGraphicsState(); + CGContextSetLineWidth(d->hd, d->current.pen.widthF()); + } + d->drawPath(QCoreGraphicsPaintEnginePrivate::CGStroke, path); + if (doRestore) + d->restoreGraphicsState(); + CGPathRelease(path); + if (d->current.pen.capStyle() == Qt::FlatCap) + CGContextSetLineCap(d->hd, kCGLineCapButt); +} + +void +QCoreGraphicsPaintEngine::drawEllipse(const QRectF &r) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + + if (state->compositionMode() == QPainter::CompositionMode_Destination) + return; + + CGMutablePathRef path = CGPathCreateMutable(); + CGAffineTransform transform = CGAffineTransformMakeScale(r.width() / r.height(), 1); + CGPathAddArc(path, &transform,(r.x() + (r.width() / 2)) / (r.width() / r.height()), + r.y() + (r.height() / 2), r.height() / 2, 0, (2 * M_PI), false); + d->drawPath(QCoreGraphicsPaintEnginePrivate::CGFill | QCoreGraphicsPaintEnginePrivate::CGStroke, + path); + CGPathRelease(path); +} + +void +QCoreGraphicsPaintEngine::drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + + if (state->compositionMode() == QPainter::CompositionMode_Destination) + return; + + CGMutablePathRef path = CGPathCreateMutable(); + CGPathMoveToPoint(path, 0, points[0].x(), points[0].y()); + for (int x = 1; x < pointCount; ++x) + CGPathAddLineToPoint(path, 0, points[x].x(), points[x].y()); + if (mode != PolylineMode && points[0] != points[pointCount-1]) + CGPathAddLineToPoint(path, 0, points[0].x(), points[0].y()); + uint op = QCoreGraphicsPaintEnginePrivate::CGStroke; + if (mode != PolylineMode) + op |= mode == OddEvenMode ? QCoreGraphicsPaintEnginePrivate::CGEOFill + : QCoreGraphicsPaintEnginePrivate::CGFill; + d->drawPath(op, path); + CGPathRelease(path); +} + +void +QCoreGraphicsPaintEngine::drawLines(const QLineF *lines, int lineCount) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + + if (state->compositionMode() == QPainter::CompositionMode_Destination) + return; + + CGMutablePathRef path = CGPathCreateMutable(); + for (int i = 0; i < lineCount; i++) { + const QPointF start = lines[i].p1(), end = lines[i].p2(); + CGPathMoveToPoint(path, 0, start.x(), start.y()); + CGPathAddLineToPoint(path, 0, end.x(), end.y()); + } + d->drawPath(QCoreGraphicsPaintEnginePrivate::CGStroke, path); + CGPathRelease(path); +} + +void QCoreGraphicsPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + + if (state->compositionMode() == QPainter::CompositionMode_Destination) + return; + + if (pm.isNull()) + return; + + bool differentSize = (QRectF(0, 0, pm.width(), pm.height()) != sr), doRestore = false; + CGRect rect = CGRectMake(r.x(), r.y(), r.width(), r.height()); + QCFType image; + bool isBitmap = (pm.depth() == 1); + if (isBitmap) { + doRestore = true; + d->saveGraphicsState(); + + const QColor &col = d->current.pen.color(); + CGContextSetFillColorWithColor(d->hd, cgColorForQColor(col, d->pdev)); + image = qt_mac_create_imagemask(pm, sr); + } else if (differentSize) { + QCFType img = qt_mac_image_to_cgimage(pm.toImage()); + image = CGImageCreateWithImageInRect(img, CGRectMake(qRound(sr.x()), qRound(sr.y()), qRound(sr.width()), qRound(sr.height()))); + } else { + image = qt_mac_image_to_cgimage(pm.toImage()); + } + qt_mac_drawCGImage(d->hd, &rect, image); + if (doRestore) + d->restoreGraphicsState(); +} + +static void drawImageReleaseData (void *info, const void *, size_t) +{ + delete static_cast(info); +} + +CGImageRef qt_mac_createCGImageFromQImage(const QImage &img, const QImage **imagePtr = 0) +{ + QImage *image; + if (img.depth() != 32) + image = new QImage(img.convertToFormat(QImage::Format_ARGB32_Premultiplied)); + else + image = new QImage(img); + + uint cgflags = kCGImageAlphaNone; + switch (image->format()) { + case QImage::Format_ARGB32_Premultiplied: + cgflags = kCGImageAlphaPremultipliedFirst; + break; + case QImage::Format_ARGB32: + cgflags = kCGImageAlphaFirst; + break; + case QImage::Format_RGB32: + cgflags = kCGImageAlphaNoneSkipFirst; + default: + break; + } +#if defined(kCGBitmapByteOrder32Host) //only needed because CGImage.h added symbols in the minor version + cgflags |= kCGBitmapByteOrder32Host; +#endif + QCFType dataProvider = CGDataProviderCreateWithData(image, + static_cast(image)->bits(), + image->byteCount(), + drawImageReleaseData); + if (imagePtr) + *imagePtr = image; + return CGImageCreate(image->width(), image->height(), 8, 32, + image->bytesPerLine(), + QCoreGraphicsPaintEngine::macGenericColorSpace(), + cgflags, dataProvider, 0, false, kCGRenderingIntentDefault); + +} + +void QCoreGraphicsPaintEngine::drawImage(const QRectF &r, const QImage &img, const QRectF &sr, + Qt::ImageConversionFlags flags) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_UNUSED(flags); + Q_ASSERT(isActive()); + + if (img.isNull() || state->compositionMode() == QPainter::CompositionMode_Destination) + return; + + const QImage *image; + QCFType cgimage = qt_mac_createCGImageFromQImage(img, &image); + CGRect rect = CGRectMake(r.x(), r.y(), r.width(), r.height()); + if (QRectF(0, 0, img.width(), img.height()) != sr) + cgimage = CGImageCreateWithImageInRect(cgimage, CGRectMake(sr.x(), sr.y(), + sr.width(), sr.height())); + qt_mac_drawCGImage(d->hd, &rect, cgimage); +} + +void QCoreGraphicsPaintEngine::initialize() +{ +} + +void QCoreGraphicsPaintEngine::cleanup() +{ +} + +CGContextRef +QCoreGraphicsPaintEngine::handle() const +{ + return d_func()->hd; +} + +void +QCoreGraphicsPaintEngine::drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, + const QPointF &p) +{ + Q_D(QCoreGraphicsPaintEngine); + Q_ASSERT(isActive()); + + if (state->compositionMode() == QPainter::CompositionMode_Destination) + return; + + //save the old state + d->saveGraphicsState(); + + //setup the pattern + QMacPattern *qpattern = new QMacPattern; + qpattern->data.pixmap = pixmap; + qpattern->foreground = d->current.pen.color(); + qpattern->pdev = d->pdev; + CGPatternCallbacks callbks; + callbks.version = 0; + callbks.drawPattern = qt_mac_draw_pattern; + callbks.releaseInfo = qt_mac_dispose_pattern; + const int width = qpattern->width(), height = qpattern->height(); + CGAffineTransform trans = CGContextGetCTM(d->hd); + CGPatternRef pat = CGPatternCreate(qpattern, CGRectMake(0, 0, width, height), + trans, width, height, + kCGPatternTilingNoDistortion, true, &callbks); + CGColorSpaceRef cs = CGColorSpaceCreatePattern(0); + CGContextSetFillColorSpace(d->hd, cs); + CGFloat component = 1.0; //just one + CGContextSetFillPattern(d->hd, pat, &component); + CGSize phase = CGSizeApplyAffineTransform(CGSizeMake(-(p.x()-r.x()), -(p.y()-r.y())), trans); + CGContextSetPatternPhase(d->hd, phase); + + //fill the rectangle + CGRect mac_rect = CGRectMake(r.x(), r.y(), r.width(), r.height()); + CGContextFillRect(d->hd, mac_rect); + + //restore the state + d->restoreGraphicsState(); + //cleanup + CGColorSpaceRelease(cs); + CGPatternRelease(pat); +} + +void QCoreGraphicsPaintEngine::drawTextItem(const QPointF &pos, const QTextItem &item) +{ + Q_D(QCoreGraphicsPaintEngine); + if (d->current.transform.type() == QTransform::TxProject +#ifndef QMAC_NATIVE_GRADIENTS + || painter()->pen().brush().gradient() //Just let the base engine "emulate" the gradient +#endif + ) { + QPaintEngine::drawTextItem(pos, item); + return; + } + + if (state->compositionMode() == QPainter::CompositionMode_Destination) + return; + + const QTextItemInt &ti = static_cast(item); + + QPen oldPen = painter()->pen(); + QBrush oldBrush = painter()->brush(); + QPointF oldBrushOrigin = painter()->brushOrigin(); + updatePen(Qt::NoPen); + updateBrush(oldPen.brush(), QPointF(0, 0)); + + Q_ASSERT(type() == QPaintEngine::CoreGraphics); + + QFontEngine *fe = ti.fontEngine; + + const bool textAA = state->renderHints() & QPainter::TextAntialiasing && fe->fontDef.pointSize > qt_antialiasing_threshold && !(fe->fontDef.styleStrategy & QFont::NoAntialias); + const bool lineAA = state->renderHints() & QPainter::Antialiasing; + if (textAA != lineAA) + CGContextSetShouldAntialias(d->hd, textAA); + + if (ti.glyphs.numGlyphs) { + switch (fe->type()) { + case QFontEngine::Mac: + static_cast(fe)->draw(d->hd, pos.x(), pos.y(), ti, paintDevice()->height()); + break; + case QFontEngine::Box: + d->drawBoxTextItem(pos, ti); + break; + default: + break; + } + } + + if (textAA != lineAA) + CGContextSetShouldAntialias(d->hd, !textAA); + + updatePen(oldPen); + updateBrush(oldBrush, oldBrushOrigin); +} + +QPainter::RenderHints +QCoreGraphicsPaintEngine::supportedRenderHints() const +{ + return QPainter::RenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing | QPainter::SmoothPixmapTransform); +} +enum CGCompositeMode { + kCGCompositeModeClear = 0, + kCGCompositeModeCopy = 1, + kCGCompositeModeSourceOver = 2, + kCGCompositeModeSourceIn = 3, + kCGCompositeModeSourceOut = 4, + kCGCompositeModeSourceAtop = 5, + kCGCompositeModeDestinationOver = 6, + kCGCompositeModeDestinationIn = 7, + kCGCompositeModeDestinationOut = 8, + kCGCompositeModeDestinationAtop = 9, + kCGCompositeModeXOR = 10, + kCGCompositeModePlusDarker = 11, // (max (0, (1-d) + (1-s))) + kCGCompositeModePlusLighter = 12, // (min (1, s + d)) + }; +extern "C" { + extern void CGContextSetCompositeOperation(CGContextRef, int); +} // private function, but is in all versions of OS X. +void +QCoreGraphicsPaintEngine::updateCompositionMode(QPainter::CompositionMode mode) +{ +#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) + if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5) { + int cg_mode = kCGBlendModeNormal; + switch (mode) { + case QPainter::CompositionMode_Multiply: + cg_mode = kCGBlendModeMultiply; + break; + case QPainter::CompositionMode_Screen: + cg_mode = kCGBlendModeScreen; + break; + case QPainter::CompositionMode_Overlay: + cg_mode = kCGBlendModeOverlay; + break; + case QPainter::CompositionMode_Darken: + cg_mode = kCGBlendModeDarken; + break; + case QPainter::CompositionMode_Lighten: + cg_mode = kCGBlendModeLighten; + break; + case QPainter::CompositionMode_ColorDodge: + cg_mode = kCGBlendModeColorDodge; + break; + case QPainter::CompositionMode_ColorBurn: + cg_mode = kCGBlendModeColorBurn; + break; + case QPainter::CompositionMode_HardLight: + cg_mode = kCGBlendModeHardLight; + break; + case QPainter::CompositionMode_SoftLight: + cg_mode = kCGBlendModeSoftLight; + break; + case QPainter::CompositionMode_Difference: + cg_mode = kCGBlendModeDifference; + break; + case QPainter::CompositionMode_Exclusion: + cg_mode = kCGBlendModeExclusion; + break; + case QPainter::CompositionMode_Plus: + cg_mode = kCGBlendModePlusLighter; + break; + case QPainter::CompositionMode_SourceOver: + cg_mode = kCGBlendModeNormal; + break; + case QPainter::CompositionMode_DestinationOver: + cg_mode = kCGBlendModeDestinationOver; + break; + case QPainter::CompositionMode_Clear: + cg_mode = kCGBlendModeClear; + break; + case QPainter::CompositionMode_Source: + cg_mode = kCGBlendModeCopy; + break; + case QPainter::CompositionMode_Destination: + cg_mode = -1; + break; + case QPainter::CompositionMode_SourceIn: + cg_mode = kCGBlendModeSourceIn; + break; + case QPainter::CompositionMode_DestinationIn: + cg_mode = kCGCompositeModeDestinationIn; + break; + case QPainter::CompositionMode_SourceOut: + cg_mode = kCGBlendModeSourceOut; + break; + case QPainter::CompositionMode_DestinationOut: + cg_mode = kCGBlendModeDestinationOver; + break; + case QPainter::CompositionMode_SourceAtop: + cg_mode = kCGBlendModeSourceAtop; + break; + case QPainter::CompositionMode_DestinationAtop: + cg_mode = kCGBlendModeDestinationAtop; + break; + case QPainter::CompositionMode_Xor: + cg_mode = kCGBlendModeXOR; + break; + default: + break; + } + if (cg_mode > -1) { + CGContextSetBlendMode(d_func()->hd, CGBlendMode(cg_mode)); + } + } else +#endif + // The standard porter duff ops. + if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_3 + && mode <= QPainter::CompositionMode_Xor) { + int cg_mode = kCGCompositeModeCopy; + switch (mode) { + case QPainter::CompositionMode_SourceOver: + cg_mode = kCGCompositeModeSourceOver; + break; + case QPainter::CompositionMode_DestinationOver: + cg_mode = kCGCompositeModeDestinationOver; + break; + case QPainter::CompositionMode_Clear: + cg_mode = kCGCompositeModeClear; + break; + default: + qWarning("QCoreGraphicsPaintEngine: Unhandled composition mode %d", (int)mode); + break; + case QPainter::CompositionMode_Source: + cg_mode = kCGCompositeModeCopy; + break; + case QPainter::CompositionMode_Destination: + cg_mode = CGCompositeMode(-1); + break; + case QPainter::CompositionMode_SourceIn: + cg_mode = kCGCompositeModeSourceIn; + break; + case QPainter::CompositionMode_DestinationIn: + cg_mode = kCGCompositeModeDestinationIn; + break; + case QPainter::CompositionMode_SourceOut: + cg_mode = kCGCompositeModeSourceOut; + break; + case QPainter::CompositionMode_DestinationOut: + cg_mode = kCGCompositeModeDestinationOut; + break; + case QPainter::CompositionMode_SourceAtop: + cg_mode = kCGCompositeModeSourceAtop; + break; + case QPainter::CompositionMode_DestinationAtop: + cg_mode = kCGCompositeModeDestinationAtop; + break; + case QPainter::CompositionMode_Xor: + cg_mode = kCGCompositeModeXOR; + break; + } + if (cg_mode > -1) + CGContextSetCompositeOperation(d_func()->hd, CGCompositeMode(cg_mode)); + } else { +#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4) + bool needPrivateAPI = false; + if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_4) { + int cg_mode = kCGBlendModeNormal; + switch (mode) { + case QPainter::CompositionMode_Multiply: + cg_mode = kCGBlendModeMultiply; + break; + case QPainter::CompositionMode_Screen: + cg_mode = kCGBlendModeScreen; + break; + case QPainter::CompositionMode_Overlay: + cg_mode = kCGBlendModeOverlay; + break; + case QPainter::CompositionMode_Darken: + cg_mode = kCGBlendModeDarken; + break; + case QPainter::CompositionMode_Lighten: + cg_mode = kCGBlendModeLighten; + break; + case QPainter::CompositionMode_ColorDodge: + cg_mode = kCGBlendModeColorDodge; + break; + case QPainter::CompositionMode_ColorBurn: + cg_mode = kCGBlendModeColorBurn; + break; + case QPainter::CompositionMode_HardLight: + cg_mode = kCGBlendModeHardLight; + break; + case QPainter::CompositionMode_SoftLight: + cg_mode = kCGBlendModeSoftLight; + break; + case QPainter::CompositionMode_Difference: + cg_mode = kCGBlendModeDifference; + break; + case QPainter::CompositionMode_Exclusion: + cg_mode = kCGBlendModeExclusion; + break; + case QPainter::CompositionMode_Plus: + needPrivateAPI = true; + cg_mode = kCGCompositeModePlusLighter; + break; + default: + break; + } + if (!needPrivateAPI) + CGContextSetBlendMode(d_func()->hd, CGBlendMode(cg_mode)); + else + CGContextSetCompositeOperation(d_func()->hd, CGCompositeMode(cg_mode)); + } +#endif + } +} + +void +QCoreGraphicsPaintEngine::updateRenderHints(QPainter::RenderHints hints) +{ + Q_D(QCoreGraphicsPaintEngine); + CGContextSetShouldAntialias(d->hd, hints & QPainter::Antialiasing); + static const CGFloat ScaleFactor = qt_mac_get_scalefactor(); + if (ScaleFactor > 1.) { + CGContextSetInterpolationQuality(d->hd, kCGInterpolationHigh); + } else { + CGContextSetInterpolationQuality(d->hd, (hints & QPainter::SmoothPixmapTransform) ? + kCGInterpolationHigh : kCGInterpolationNone); + } + bool textAntialiasing = (hints & QPainter::TextAntialiasing) == QPainter::TextAntialiasing; + if (!textAntialiasing || d->disabledSmoothFonts) { + d->disabledSmoothFonts = !textAntialiasing; + CGContextSetShouldSmoothFonts(d->hd, textAntialiasing); + } +} + +/* + Returns the size of one device pixel in user-space coordinates. +*/ +QPointF QCoreGraphicsPaintEnginePrivate::devicePixelSize(CGContextRef) +{ + QPointF p1 = current.transform.inverted().map(QPointF(0, 0)); + QPointF p2 = current.transform.inverted().map(QPointF(1, 1)); + return QPointF(qAbs(p2.x() - p1.x()), qAbs(p2.y() - p1.y())); +} + +/* + Adjusts the pen width so we get correct line widths in the + non-transformed, aliased case. +*/ +float QCoreGraphicsPaintEnginePrivate::adjustPenWidth(float penWidth) +{ + Q_Q(QCoreGraphicsPaintEngine); + float ret = penWidth; + if (!complexXForm && !(q->state->renderHints() & QPainter::Antialiasing)) { + if (penWidth < 2) + ret = 1; + else if (penWidth < 3) + ret = 1.5; + else + ret = penWidth -1; + } + return ret; +} + +void +QCoreGraphicsPaintEnginePrivate::setStrokePen(const QPen &pen) +{ + //pencap + CGLineCap cglinecap = kCGLineCapButt; + if (pen.capStyle() == Qt::SquareCap) + cglinecap = kCGLineCapSquare; + else if (pen.capStyle() == Qt::RoundCap) + cglinecap = kCGLineCapRound; + CGContextSetLineCap(hd, cglinecap); + CGContextSetLineWidth(hd, adjustPenWidth(pen.widthF())); + + //join + CGLineJoin cglinejoin = kCGLineJoinMiter; + if (pen.joinStyle() == Qt::BevelJoin) + cglinejoin = kCGLineJoinBevel; + else if (pen.joinStyle() == Qt::RoundJoin) + cglinejoin = kCGLineJoinRound; + CGContextSetLineJoin(hd, cglinejoin); +// CGContextSetMiterLimit(hd, pen.miterLimit()); + + //pen style + QVector linedashes; + if (pen.style() == Qt::CustomDashLine) { + QVector customs = pen.dashPattern(); + for (int i = 0; i < customs.size(); ++i) + linedashes.append(customs.at(i)); + } else if (pen.style() == Qt::DashLine) { + linedashes.append(4); + linedashes.append(2); + } else if (pen.style() == Qt::DotLine) { + linedashes.append(1); + linedashes.append(2); + } else if (pen.style() == Qt::DashDotLine) { + linedashes.append(4); + linedashes.append(2); + linedashes.append(1); + linedashes.append(2); + } else if (pen.style() == Qt::DashDotDotLine) { + linedashes.append(4); + linedashes.append(2); + linedashes.append(1); + linedashes.append(2); + linedashes.append(1); + linedashes.append(2); + } + const CGFloat cglinewidth = pen.widthF() <= 0.0f ? 1.0f : float(pen.widthF()); + for (int i = 0; i < linedashes.size(); ++i) { + linedashes[i] *= cglinewidth; + if (cglinewidth < 3 && (cglinecap == kCGLineCapSquare || cglinecap == kCGLineCapRound)) { + if ((i%2)) + linedashes[i] += cglinewidth/2; + else + linedashes[i] -= cglinewidth/2; + } + } + CGContextSetLineDash(hd, pen.dashOffset() * cglinewidth, linedashes.data(), linedashes.size()); + + // color + CGContextSetStrokeColorWithColor(hd, cgColorForQColor(pen.color(), pdev)); +} + +// Add our own patterns here to deal with the fact that the coordinate system +// is flipped vertically with Quartz2D. +static const uchar *qt_mac_patternForBrush(int brushStyle) +{ + Q_ASSERT(brushStyle > Qt::SolidPattern && brushStyle < Qt::LinearGradientPattern); + static const uchar dense1_pat[] = { 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x44, 0x00 }; + static const uchar dense2_pat[] = { 0x00, 0x22, 0x00, 0x88, 0x00, 0x22, 0x00, 0x88 }; + static const uchar dense3_pat[] = { 0x11, 0xaa, 0x44, 0xaa, 0x11, 0xaa, 0x44, 0xaa }; + static const uchar dense4_pat[] = { 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55 }; + static const uchar dense5_pat[] = { 0xee, 0x55, 0xbb, 0x55, 0xee, 0x55, 0xbb, 0x55 }; + static const uchar dense6_pat[] = { 0xff, 0xdd, 0xff, 0x77, 0xff, 0xdd, 0xff, 0x77 }; + static const uchar dense7_pat[] = { 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff, 0xbb, 0xff }; + static const uchar hor_pat[] = { 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff }; + static const uchar ver_pat[] = { 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef }; + static const uchar cross_pat[] = { 0xef, 0xef, 0xef, 0xef, 0x00, 0xef, 0xef, 0xef }; + static const uchar fdiag_pat[] = { 0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe }; + static const uchar bdiag_pat[] = { 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f }; + static const uchar dcross_pat[] = { 0x7e, 0xbd, 0xdb, 0xe7, 0xe7, 0xdb, 0xbd, 0x7e }; + static const uchar *const pat_tbl[] = { + dense1_pat, dense2_pat, dense3_pat, dense4_pat, dense5_pat, + dense6_pat, dense7_pat, + hor_pat, ver_pat, cross_pat, bdiag_pat, fdiag_pat, dcross_pat }; + return pat_tbl[brushStyle - Qt::Dense1Pattern]; +} + +void QCoreGraphicsPaintEnginePrivate::setFillBrush(const QPointF &offset) +{ + // pattern + Qt::BrushStyle bs = current.brush.style(); +#ifdef QT_MAC_USE_NATIVE_GRADIENTS + if (bs == Qt::LinearGradientPattern || bs == Qt::RadialGradientPattern) { + const QGradient *grad = static_cast(current.brush.gradient()); + if (drawGradientNatively(grad)) { + Q_ASSERT(grad->spread() == QGradient::PadSpread); + + static const CGFloat domain[] = { 0.0f, +1.0f }; + static const CGFunctionCallbacks callbacks = { 0, qt_mac_color_gradient_function, 0 }; + CGFunctionRef fill_func = CGFunctionCreate(reinterpret_cast(¤t.brush), + 1, domain, 4, 0, &callbacks); + + CGColorSpaceRef colorspace = qt_mac_colorSpaceForDeviceType(pdev); + if (bs == Qt::LinearGradientPattern) { + const QLinearGradient *linearGrad = static_cast(grad); + const QPointF start(linearGrad->start()); + const QPointF stop(linearGrad->finalStop()); + shading = CGShadingCreateAxial(colorspace, CGPointMake(start.x(), start.y()), + CGPointMake(stop.x(), stop.y()), fill_func, true, true); + } else { + Q_ASSERT(bs == Qt::RadialGradientPattern); + const QRadialGradient *radialGrad = static_cast(grad); + QPointF center(radialGrad->center()); + QPointF focal(radialGrad->focalPoint()); + qreal radius = radialGrad->radius(); + qreal focalRadius = radialGrad->focalRadius(); + shading = CGShadingCreateRadial(colorspace, CGPointMake(focal.x(), focal.y()), + focalRadius, CGPointMake(center.x(), center.y()), radius, fill_func, false, true); + } + + CGFunctionRelease(fill_func); + } + } else +#endif + if (bs != Qt::SolidPattern && bs != Qt::NoBrush +#ifndef QT_MAC_USE_NATIVE_GRADIENTS + && (bs < Qt::LinearGradientPattern || bs > Qt::ConicalGradientPattern) +#endif + ) + { + QMacPattern *qpattern = new QMacPattern; + qpattern->pdev = pdev; + CGFloat components[4] = { 1.0, 1.0, 1.0, 1.0 }; + CGColorSpaceRef base_colorspace = 0; + if (bs == Qt::TexturePattern) { + qpattern->data.pixmap = current.brush.texture(); + if (qpattern->data.pixmap.isQBitmap()) { + const QColor &col = current.brush.color(); + components[0] = qt_mac_convert_color_to_cg(col.red()); + components[1] = qt_mac_convert_color_to_cg(col.green()); + components[2] = qt_mac_convert_color_to_cg(col.blue()); + base_colorspace = QCoreGraphicsPaintEngine::macGenericColorSpace(); + } + } else { + qpattern->as_mask = true; + + qpattern->data.bytes = qt_mac_patternForBrush(bs); + const QColor &col = current.brush.color(); + components[0] = qt_mac_convert_color_to_cg(col.red()); + components[1] = qt_mac_convert_color_to_cg(col.green()); + components[2] = qt_mac_convert_color_to_cg(col.blue()); + base_colorspace = QCoreGraphicsPaintEngine::macGenericColorSpace(); + } + int width = qpattern->width(), height = qpattern->height(); + qpattern->foreground = current.brush.color(); + + CGColorSpaceRef fill_colorspace = CGColorSpaceCreatePattern(base_colorspace); + CGContextSetFillColorSpace(hd, fill_colorspace); + + CGAffineTransform xform = CGContextGetCTM(hd); + xform = CGAffineTransformConcat(qt_mac_convert_transform_to_cg(current.brush.transform()), xform); + xform = CGAffineTransformTranslate(xform, offset.x(), offset.y()); + + CGPatternCallbacks callbks; + callbks.version = 0; + callbks.drawPattern = qt_mac_draw_pattern; + callbks.releaseInfo = qt_mac_dispose_pattern; + CGPatternRef fill_pattern = CGPatternCreate(qpattern, CGRectMake(0, 0, width, height), + xform, width, height, kCGPatternTilingNoDistortion, + !base_colorspace, &callbks); + CGContextSetFillPattern(hd, fill_pattern, components); + + CGPatternRelease(fill_pattern); + CGColorSpaceRelease(fill_colorspace); + } else if (bs != Qt::NoBrush) { + CGContextSetFillColorWithColor(hd, cgColorForQColor(current.brush.color(), pdev)); + } +} + +void +QCoreGraphicsPaintEnginePrivate::setClip(const QRegion *rgn) +{ + Q_Q(QCoreGraphicsPaintEngine); + if (hd) { + resetClip(); + QRegion sysClip = q->systemClip(); + if (!sysClip.isEmpty()) + qt_mac_clip_cg(hd, sysClip, &orig_xform); + if (rgn) + qt_mac_clip_cg(hd, *rgn, 0); + } +} + +struct qt_mac_cg_transform_path { + CGMutablePathRef path; + CGAffineTransform transform; +}; + +void qt_mac_cg_transform_path_apply(void *info, const CGPathElement *element) +{ + Q_ASSERT(info && element); + qt_mac_cg_transform_path *t = (qt_mac_cg_transform_path*)info; + switch (element->type) { + case kCGPathElementMoveToPoint: + CGPathMoveToPoint(t->path, &t->transform, element->points[0].x, element->points[0].y); + break; + case kCGPathElementAddLineToPoint: + CGPathAddLineToPoint(t->path, &t->transform, element->points[0].x, element->points[0].y); + break; + case kCGPathElementAddQuadCurveToPoint: + CGPathAddQuadCurveToPoint(t->path, &t->transform, element->points[0].x, element->points[0].y, + element->points[1].x, element->points[1].y); + break; + case kCGPathElementAddCurveToPoint: + CGPathAddCurveToPoint(t->path, &t->transform, element->points[0].x, element->points[0].y, + element->points[1].x, element->points[1].y, + element->points[2].x, element->points[2].y); + break; + case kCGPathElementCloseSubpath: + CGPathCloseSubpath(t->path); + break; + default: + qDebug() << "Unhandled path transform type: " << element->type; + } +} + +void QCoreGraphicsPaintEnginePrivate::drawPath(uchar ops, CGMutablePathRef path) +{ + Q_Q(QCoreGraphicsPaintEngine); + Q_ASSERT((ops & (CGFill | CGEOFill)) != (CGFill | CGEOFill)); //can't really happen + if ((ops & (CGFill | CGEOFill))) { + if (shading) { + Q_ASSERT(path); + CGContextBeginPath(hd); + CGContextAddPath(hd, path); + saveGraphicsState(); + if (ops & CGFill) + CGContextClip(hd); + else if (ops & CGEOFill) + CGContextEOClip(hd); + if (current.brush.gradient()->coordinateMode() == QGradient::ObjectBoundingMode) { + CGRect boundingBox = CGPathGetBoundingBox(path); + CGContextConcatCTM(hd, + CGAffineTransformMake(boundingBox.size.width, 0, + 0, boundingBox.size.height, + boundingBox.origin.x, boundingBox.origin.y)); + } + CGContextDrawShading(hd, shading); + restoreGraphicsState(); + ops &= ~CGFill; + ops &= ~CGEOFill; + } else if (current.brush.style() == Qt::NoBrush) { + ops &= ~CGFill; + ops &= ~CGEOFill; + } + } + if ((ops & CGStroke) && current.pen.style() == Qt::NoPen) + ops &= ~CGStroke; + + if (ops & (CGEOFill | CGFill)) { + CGContextBeginPath(hd); + CGContextAddPath(hd, path); + if (ops & CGEOFill) { + CGContextEOFillPath(hd); + } else { + CGContextFillPath(hd); + } + } + + // Avoid saving and restoring the context if we can. + const bool needContextSave = (cosmeticPen != QCoreGraphicsPaintEnginePrivate::CosmeticNone || + !(q->state->renderHints() & QPainter::Antialiasing)); + if (ops & CGStroke) { + if (needContextSave) + saveGraphicsState(); + CGContextBeginPath(hd); + + // Translate a fraction of a pixel size in the y direction + // to make sure that primitives painted at pixel borders + // fills the right pixel. This is needed since the y xais + // in the Quartz coordinate system is inverted compared to Qt. + if (!(q->state->renderHints() & QPainter::Antialiasing)) { + if (current.pen.style() == Qt::SolidLine || current.pen.width() >= 3) + CGContextTranslateCTM(hd, double(pixelSize.x()) * 0.25, double(pixelSize.y()) * 0.25); + else if (current.pen.style() == Qt::DotLine && QSysInfo::MacintoshVersion == QSysInfo::MV_10_3) + ; // Do nothing. + else + CGContextTranslateCTM(hd, 0, double(pixelSize.y()) * 0.1); + } + + if (cosmeticPen != QCoreGraphicsPaintEnginePrivate::CosmeticNone) { + // If antialiazing is enabled, use the cosmetic pen size directly. + if (q->state->renderHints() & QPainter::Antialiasing) + CGContextSetLineWidth(hd, cosmeticPenSize); + else if (current.pen.widthF() <= 1) + CGContextSetLineWidth(hd, cosmeticPenSize * 0.9f); + else + CGContextSetLineWidth(hd, cosmeticPenSize); + } + if (cosmeticPen == QCoreGraphicsPaintEnginePrivate::CosmeticTransformPath) { + qt_mac_cg_transform_path t; + t.transform = qt_mac_convert_transform_to_cg(current.transform); + t.path = CGPathCreateMutable(); + CGPathApply(path, &t, qt_mac_cg_transform_path_apply); //transform the path + setTransform(0); //unset the context transform + CGContextSetLineWidth(hd, cosmeticPenSize); + CGContextAddPath(hd, t.path); + CGPathRelease(t.path); + } else { + CGContextAddPath(hd, path); + } + + CGContextStrokePath(hd); + if (needContextSave) + restoreGraphicsState(); + } +} + +QT_END_NAMESPACE diff --git a/src/plugins/platforms/cocoa/qpaintengine_mac_p.h b/src/plugins/platforms/cocoa/qpaintengine_mac_p.h new file mode 100644 index 0000000000..0987d921fc --- /dev/null +++ b/src/plugins/platforms/cocoa/qpaintengine_mac_p.h @@ -0,0 +1,254 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QPAINTENGINE_MAC_P_H +#define QPAINTENGINE_MAC_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 +// version without notice, or even be removed. +// +// We mean it. +// + +#include "QtGui/qpaintengine.h" +#include "private/qpaintengine_p.h" +#include "private/qpolygonclipper_p.h" +#include "private/qfont_p.h" +#include "QtCore/qhash.h" + +#include "qt_mac_p.h" + +typedef struct CGColorSpace *CGColorSpaceRef; +QT_BEGIN_NAMESPACE + +class QCoreGraphicsPaintEnginePrivate; +class QCoreGraphicsPaintEngine : public QPaintEngine +{ + Q_DECLARE_PRIVATE(QCoreGraphicsPaintEngine) + +public: + QCoreGraphicsPaintEngine(); + ~QCoreGraphicsPaintEngine(); + + bool begin(QPaintDevice *pdev); + bool end(); + static CGColorSpaceRef macGenericColorSpace(); + static CGColorSpaceRef macDisplayColorSpace(const QWidget *widget = 0); + + void updateState(const QPaintEngineState &state); + + void updatePen(const QPen &pen); + void updateBrush(const QBrush &brush, const QPointF &pt); + void updateFont(const QFont &font); + void updateOpacity(qreal opacity); + void updateMatrix(const QTransform &matrix); + void updateTransform(const QTransform &matrix); + void updateClipRegion(const QRegion ®ion, Qt::ClipOperation op); + void updateClipPath(const QPainterPath &path, Qt::ClipOperation op); + void updateCompositionMode(QPainter::CompositionMode mode); + void updateRenderHints(QPainter::RenderHints hints); + + void drawLines(const QLineF *lines, int lineCount); + void drawRects(const QRectF *rects, int rectCount); + void drawPoints(const QPointF *p, int pointCount); + void drawEllipse(const QRectF &r); + void drawPath(const QPainterPath &path); + + void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode); + void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr); + void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s); + + void drawTextItem(const QPointF &pos, const QTextItem &item); + void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, + Qt::ImageConversionFlags flags = Qt::AutoColor); + + Type type() const { return QPaintEngine::CoreGraphics; } + + CGContextRef handle() const; + + static void initialize(); + static void cleanup(); + + QPainter::RenderHints supportedRenderHints() const; + + //avoid partial shadowed overload warnings... + void drawLines(const QLine *lines, int lineCount) { QPaintEngine::drawLines(lines, lineCount); } + void drawRects(const QRect *rects, int rectCount) { QPaintEngine::drawRects(rects, rectCount); } + void drawPoints(const QPoint *p, int pointCount) { QPaintEngine::drawPoints(p, pointCount); } + void drawEllipse(const QRect &r) { QPaintEngine::drawEllipse(r); } + void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode) + { QPaintEngine::drawPolygon(points, pointCount, mode); } + + bool supportsTransformations(qreal, const QTransform &) const { return true; }; + +protected: + friend class QMacPrintEngine; + friend class QMacPrintEnginePrivate; + QCoreGraphicsPaintEngine(QPaintEnginePrivate &dptr); + +private: + static bool m_postRoutineRegistered; + static CGColorSpaceRef m_genericColorSpace; + static QHash m_displayColorSpaceHash; + static void cleanUpMacColorSpaces(); + Q_DISABLE_COPY(QCoreGraphicsPaintEngine) +}; + +/***************************************************************************** + Private data + *****************************************************************************/ +class QCoreGraphicsPaintEnginePrivate : public QPaintEnginePrivate +{ + Q_DECLARE_PUBLIC(QCoreGraphicsPaintEngine) +public: + QCoreGraphicsPaintEnginePrivate() + : hd(0), shading(0), stackCount(0), complexXForm(false), disabledSmoothFonts(false) + { + } + + struct { + QPen pen; + QBrush brush; + uint clipEnabled : 1; + QRegion clip; + QTransform transform; + } current; + + //state info (shared with QD) + CGAffineTransform orig_xform; + + //cg structures + CGContextRef hd; + CGShadingRef shading; + int stackCount; + bool complexXForm; + bool disabledSmoothFonts; + enum { CosmeticNone, CosmeticTransformPath, CosmeticSetPenWidth } cosmeticPen; + + // pixel and cosmetic pen size in user coordinates. + QPointF pixelSize; + float cosmeticPenSize; + + //internal functions + enum { CGStroke=0x01, CGEOFill=0x02, CGFill=0x04 }; + void drawPath(uchar ops, CGMutablePathRef path = 0); + void setClip(const QRegion *rgn=0); + void resetClip(); + void setFillBrush(const QPointF &origin=QPoint()); + void setStrokePen(const QPen &pen); + inline void saveGraphicsState(); + inline void restoreGraphicsState(); + float penOffset(); + QPointF devicePixelSize(CGContextRef context); + float adjustPenWidth(float penWidth); + inline void setTransform(const QTransform *matrix=0) + { + CGContextConcatCTM(hd, CGAffineTransformInvert(CGContextGetCTM(hd))); + CGAffineTransform xform = orig_xform; + if (matrix) { + extern CGAffineTransform qt_mac_convert_transform_to_cg(const QTransform &); + xform = CGAffineTransformConcat(qt_mac_convert_transform_to_cg(*matrix), xform); + } + CGContextConcatCTM(hd, xform); + CGContextSetTextMatrix(hd, xform); + } +}; + +inline void QCoreGraphicsPaintEnginePrivate::saveGraphicsState() +{ + ++stackCount; + CGContextSaveGState(hd); +} + +inline void QCoreGraphicsPaintEnginePrivate::restoreGraphicsState() +{ + --stackCount; + Q_ASSERT(stackCount >= 0); + CGContextRestoreGState(hd); +} + +class QMacQuartzPaintDevice : public QPaintDevice +{ +public: + QMacQuartzPaintDevice(CGContextRef cg, int width, int height, int bytesPerLine) + : mCG(cg), mWidth(width), mHeight(height), mBytesPerLine(bytesPerLine) + { } + int devType() const { return QInternal::MacQuartz; } + CGContextRef cgContext() const { return mCG; } + int metric(PaintDeviceMetric metric) const { + switch (metric) { + case PdmWidth: + return mWidth; + case PdmHeight: + return mHeight; + case PdmWidthMM: + return (qt_defaultDpiX() * mWidth) / 2.54; + case PdmHeightMM: + return (qt_defaultDpiY() * mHeight) / 2.54; + case PdmNumColors: + return 0; + case PdmDepth: + return 32; + case PdmDpiX: + case PdmPhysicalDpiX: + return qt_defaultDpiX(); + case PdmDpiY: + case PdmPhysicalDpiY: + return qt_defaultDpiY(); + } + return 0; + } + QPaintEngine *paintEngine() const { qWarning("This function should never be called."); return 0; } +private: + CGContextRef mCG; + int mWidth; + int mHeight; + int mBytesPerLine; +}; + +QT_END_NAMESPACE + +#endif // QPAINTENGINE_MAC_P_H diff --git a/src/plugins/platforms/cocoa/qprintengine_mac.mm b/src/plugins/platforms/cocoa/qprintengine_mac.mm new file mode 100644 index 0000000000..e432b12e67 --- /dev/null +++ b/src/plugins/platforms/cocoa/qprintengine_mac.mm @@ -0,0 +1,817 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qprintengine_mac_p.h" +#include +#include +#include +#include + +#include "qcocoaautoreleasepool.h" + +#ifndef QT_NO_PRINTER + +QT_BEGIN_NAMESPACE + +QMacPrintEngine::QMacPrintEngine(QPrinter::PrinterMode mode) : QPaintEngine(*(new QMacPrintEnginePrivate)) +{ + Q_D(QMacPrintEngine); + d->mode = mode; + d->initialize(); +} + +bool QMacPrintEngine::begin(QPaintDevice *dev) +{ + Q_D(QMacPrintEngine); + + Q_ASSERT(dev && dev->devType() == QInternal::Printer); + if (!static_cast(dev)->isValid()) + return false; + + if (d->state == QPrinter::Idle && !d->isPrintSessionInitialized()) // Need to reinitialize + d->initialize(); + + d->paintEngine->state = state; + d->paintEngine->begin(dev); + Q_ASSERT_X(d->state == QPrinter::Idle, "QMacPrintEngine", "printer already active"); + + if (PMSessionValidatePrintSettings(d->session(), d->settings(), kPMDontWantBoolean) != noErr + || PMSessionValidatePageFormat(d->session(), d->format(), kPMDontWantBoolean) != noErr) { + d->state = QPrinter::Error; + return false; + } + + if (!d->outputFilename.isEmpty()) { + QCFType outFile = CFURLCreateWithFileSystemPath(kCFAllocatorSystemDefault, + QCFString(d->outputFilename), + kCFURLPOSIXPathStyle, + false); + if (PMSessionSetDestination(d->session(), d->settings(), kPMDestinationFile, + kPMDocumentFormatPDF, outFile) != noErr) { + qWarning("QMacPrintEngine::begin: Problem setting file [%s]", d->outputFilename.toUtf8().constData()); + return false; + } + } + + OSStatus status = PMSessionBeginCGDocumentNoDialog(d->session(), d->settings(), d->format()); + if (status != noErr) { + d->state = QPrinter::Error; + return false; + } + + d->state = QPrinter::Active; + setActive(true); + d->newPage_helper(); + return true; +} + +bool QMacPrintEngine::end() +{ + Q_D(QMacPrintEngine); + if (d->state == QPrinter::Aborted) + return true; // I was just here a function call ago :) + if (d->paintEngine->type() == QPaintEngine::CoreGraphics) { + // We dont need the paint engine to call restoreGraphicsState() + static_cast(d->paintEngine)->d_func()->stackCount = 0; + static_cast(d->paintEngine)->d_func()->hd = 0; + } + d->paintEngine->end(); + if (d->state != QPrinter::Idle) + d->releaseSession(); + d->state = QPrinter::Idle; + return true; +} + +QPaintEngine * +QMacPrintEngine::paintEngine() const +{ + return d_func()->paintEngine; +} + +Qt::HANDLE QMacPrintEngine::handle() const +{ + QCoreGraphicsPaintEngine *cgEngine = static_cast(paintEngine()); + return cgEngine->d_func()->hd; +} + +QMacPrintEnginePrivate::~QMacPrintEnginePrivate() +{ + [printInfo release]; + delete paintEngine; +} + +void QMacPrintEnginePrivate::setPaperSize(QPrinter::PaperSize ps) +{ + Q_Q(QMacPrintEngine); + QSizeF newSize = QPlatformPrinterSupport::convertPaperSizeToQSizeF(ps); + QCFType formats; + PMPrinter printer; + + if (PMSessionGetCurrentPrinter(session(), &printer) == noErr + && PMSessionCreatePageFormatList(session(), printer, &formats) == noErr) { + CFIndex total = CFArrayGetCount(formats); + PMPageFormat tmp; + PMRect paper; + for (CFIndex idx = 0; idx < total; ++idx) { + tmp = static_cast( + const_cast(CFArrayGetValueAtIndex(formats, idx))); + PMGetUnadjustedPaperRect(tmp, &paper); + int wMM = int((paper.right - paper.left) / 72 * 25.4 + 0.5); + int hMM = int((paper.bottom - paper.top) / 72 * 25.4 + 0.5); + if (newSize.width() == wMM && newSize.height() == hMM) { + PMCopyPageFormat(tmp, format()); + // reset the orientation and resolution as they are lost in the copy. + q->setProperty(QPrintEngine::PPK_Orientation, orient); + if (PMSessionValidatePageFormat(session(), format(), kPMDontWantBoolean) != noErr) { + // Don't know, warn for the moment. + qWarning("QMacPrintEngine, problem setting format and resolution for this page size"); + } + break; + } + } + } +} + +QPrinter::PaperSize QMacPrintEnginePrivate::paperSize() const +{ + if (hasCustomPaperSize) + return QPrinter::Custom; + PMRect paper; + PMGetUnadjustedPaperRect(format(), &paper); + QSizeF sizef((paper.right - paper.left) / 72.0 * 25.4, (paper.bottom - paper.top) / 72.0 * 25.4); + return QPlatformPrinterSupport::convertQSizeFToPaperSize(sizef); +} + +QList QMacPrintEnginePrivate::supportedResolutions() const +{ + Q_ASSERT_X(printInfo, "QMacPrinterEngine::supportedResolutions", + "must have a valid printer session"); + UInt32 resCount; + QList resolutions; + PMPrinter printer; + if (PMSessionGetCurrentPrinter(session(), &printer) == noErr) { + PMResolution res; + OSStatus status = PMPrinterGetPrinterResolutionCount(printer, &resCount); + if (status == kPMNotImplemented) { +#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5) + // *Sigh* we have to use the non-indexed version. + if (PMPrinterGetPrinterResolution(printer, kPMMinSquareResolution, &res) == noErr) + resolutions.append(int(res.hRes)); + if (PMPrinterGetPrinterResolution(printer, kPMMaxSquareResolution, &res) == noErr) { + QVariant var(int(res.hRes)); + if (!resolutions.contains(var)) + resolutions.append(var); + } + if (PMPrinterGetPrinterResolution(printer, kPMDefaultResolution, &res) == noErr) { + QVariant var(int(res.hRes)); + if (!resolutions.contains(var)) + resolutions.append(var); + } +#endif + } else if (status == noErr) { + // According to the docs, index start at 1. + for (UInt32 i = 1; i <= resCount; ++i) { + if (PMPrinterGetIndexedPrinterResolution(printer, i, &res) == noErr) + resolutions.append(QVariant(int(res.hRes))); + } + } else { + qWarning("QMacPrintEngine::supportedResolutions: Unexpected error: %ld", long(status)); + } + } + return resolutions; +} + +QPrinter::PrinterState QMacPrintEngine::printerState() const +{ + return d_func()->state; +} + +bool QMacPrintEngine::newPage() +{ + Q_D(QMacPrintEngine); + Q_ASSERT(d->state == QPrinter::Active); + OSStatus err = PMSessionEndPageNoDialog(d->session()); + if (err != noErr) { + if (err == kPMCancel) { + // User canceled, we need to abort! + abort(); + } else { + // Not sure what the problem is... + qWarning("QMacPrintEngine::newPage: Cannot end current page. %ld", long(err)); + d->state = QPrinter::Error; + } + return false; + } + return d->newPage_helper(); +} + +bool QMacPrintEngine::abort() +{ + Q_D(QMacPrintEngine); + if (d->state != QPrinter::Active) + return false; + bool ret = end(); + d->state = QPrinter::Aborted; + return ret; +} + +static inline int qt_get_PDMWidth(PMPageFormat pformat, bool fullPage, + const PMResolution &resolution) +{ + int val = 0; + PMRect r; + qreal hRatio = resolution.hRes / 72; + if (fullPage) { + if (PMGetAdjustedPaperRect(pformat, &r) == noErr) + val = qRound((r.right - r.left) * hRatio); + } else { + if (PMGetAdjustedPageRect(pformat, &r) == noErr) + val = qRound((r.right - r.left) * hRatio); + } + return val; +} + +static inline int qt_get_PDMHeight(PMPageFormat pformat, bool fullPage, + const PMResolution &resolution) +{ + int val = 0; + PMRect r; + qreal vRatio = resolution.vRes / 72; + if (fullPage) { + if (PMGetAdjustedPaperRect(pformat, &r) == noErr) + val = qRound((r.bottom - r.top) * vRatio); + } else { + if (PMGetAdjustedPageRect(pformat, &r) == noErr) + val = qRound((r.bottom - r.top) * vRatio); + } + return val; +} + + +int QMacPrintEngine::metric(QPaintDevice::PaintDeviceMetric m) const +{ + Q_D(const QMacPrintEngine); + int val = 1; + switch (m) { + case QPaintDevice::PdmWidth: + if (d->hasCustomPaperSize) { + val = qRound(d->customSize.width()); + if (d->hasCustomPageMargins) { + val -= qRound(d->leftMargin + d->rightMargin); + } else { + QList margins = property(QPrintEngine::PPK_PageMargins).toList(); + val -= qRound(margins.at(0).toDouble() + margins.at(2).toDouble()); + } + } else { + val = qt_get_PDMWidth(d->format(), property(PPK_FullPage).toBool(), d->resolution); + } + break; + case QPaintDevice::PdmHeight: + if (d->hasCustomPaperSize) { + val = qRound(d->customSize.height()); + if (d->hasCustomPageMargins) { + val -= qRound(d->topMargin + d->bottomMargin); + } else { + QList margins = property(QPrintEngine::PPK_PageMargins).toList(); + val -= qRound(margins.at(1).toDouble() + margins.at(3).toDouble()); + } + } else { + val = qt_get_PDMHeight(d->format(), property(PPK_FullPage).toBool(), d->resolution); + } + break; + case QPaintDevice::PdmWidthMM: + val = metric(QPaintDevice::PdmWidth); + val = int((val * 254 + 5 * d->resolution.hRes) / (10 * d->resolution.hRes)); + break; + case QPaintDevice::PdmHeightMM: + val = metric(QPaintDevice::PdmHeight); + val = int((val * 254 + 5 * d->resolution.vRes) / (10 * d->resolution.vRes)); + break; + case QPaintDevice::PdmPhysicalDpiX: + case QPaintDevice::PdmPhysicalDpiY: { + PMPrinter printer; + if (PMSessionGetCurrentPrinter(d->session(), &printer) == noErr) { + PMResolution resolution; + PMPrinterGetOutputResolution(printer, d->settings(), &resolution); + val = (int)resolution.vRes; + break; + } + //otherwise fall through + } + case QPaintDevice::PdmDpiY: + val = (int)d->resolution.vRes; + break; + case QPaintDevice::PdmDpiX: + val = (int)d->resolution.hRes; + break; + case QPaintDevice::PdmNumColors: + val = (1 << metric(QPaintDevice::PdmDepth)); + break; + case QPaintDevice::PdmDepth: + val = 24; + break; + default: + val = 0; + qWarning("QPrinter::metric: Invalid metric command"); + } + return val; +} + +void QMacPrintEnginePrivate::initialize() +{ + Q_Q(QMacPrintEngine); + + Q_ASSERT(!printInfo); + + if (!paintEngine) + paintEngine = new QCoreGraphicsPaintEngine(); + + q->gccaps = paintEngine->gccaps; + + fullPage = false; + + QCocoaAutoReleasePool pool; + printInfo = [[NSPrintInfo alloc] initWithDictionary:[NSDictionary dictionary]]; + + PMPrinter printer; + if (printInfo && PMSessionGetCurrentPrinter(session(), &printer) == noErr) { + QList resolutions = supportedResolutions(); + if (!resolutions.isEmpty() && mode != QPrinter::ScreenResolution) { + if (resolutions.count() > 1 && mode == QPrinter::HighResolution) { + int max = 0; + for (int i = 0; i < resolutions.count(); ++i) { + int value = resolutions.at(i).toInt(); + if (value > max) + max = value; + } + resolution.hRes = resolution.vRes = max; + } else { + resolution.hRes = resolution.vRes = resolutions.at(0).toInt(); + } + if (resolution.hRes == 0) + resolution.hRes = resolution.vRes = 600; + } else { + resolution.hRes = resolution.vRes = qt_defaultDpi(); + } + } + + QHash::const_iterator propC; + for (propC = valueCache.constBegin(); propC != valueCache.constEnd(); propC++) { + q->setProperty(propC.key(), propC.value()); + } +} + +void QMacPrintEnginePrivate::releaseSession() +{ + PMSessionEndPageNoDialog(session()); + PMSessionEndDocumentNoDialog(session()); + [printInfo release]; + printInfo = 0; +} + +bool QMacPrintEnginePrivate::newPage_helper() +{ + Q_Q(QMacPrintEngine); + Q_ASSERT(state == QPrinter::Active); + + if (PMSessionError(session()) != noErr) { + q->abort(); + return false; + } + + // pop the stack of saved graphic states, in case we get the same + // context back - either way, the stack count should be 0 when we + // get the new one + QCoreGraphicsPaintEngine *cgEngine = static_cast(paintEngine); + while (cgEngine->d_func()->stackCount > 0) + cgEngine->d_func()->restoreGraphicsState(); + + OSStatus status = PMSessionBeginPageNoDialog(session(), format(), 0); + if (status != noErr) { + state = QPrinter::Error; + return false; + } + + QRect page = q->property(QPrintEngine::PPK_PageRect).toRect(); + QRect paper = q->property(QPrintEngine::PPK_PaperRect).toRect(); + + CGContextRef cgContext; + OSStatus err = noErr; + err = PMSessionGetCGGraphicsContext(session(), &cgContext); + if (err != noErr) { + qWarning("QMacPrintEngine::newPage: Cannot retrieve CoreGraphics context: %ld", long(err)); + state = QPrinter::Error; + return false; + } + cgEngine->d_func()->hd = cgContext; + + // Set the resolution as a scaling ration of 72 (the default). + CGContextScaleCTM(cgContext, 72 / resolution.hRes, 72 / resolution.vRes); + + CGContextScaleCTM(cgContext, 1, -1); + CGContextTranslateCTM(cgContext, 0, -paper.height()); + if (!fullPage) + CGContextTranslateCTM(cgContext, page.x() - paper.x(), page.y() - paper.y()); + cgEngine->d_func()->orig_xform = CGContextGetCTM(cgContext); + cgEngine->d_func()->setClip(0); + cgEngine->state->dirtyFlags = QPaintEngine::DirtyFlag(QPaintEngine::AllDirty + & ~(QPaintEngine::DirtyClipEnabled + | QPaintEngine::DirtyClipRegion + | QPaintEngine::DirtyClipPath)); + if (cgEngine->painter()->hasClipping()) + cgEngine->state->dirtyFlags |= QPaintEngine::DirtyClipEnabled; + cgEngine->syncState(); + return true; +} + + +void QMacPrintEngine::updateState(const QPaintEngineState &state) +{ + d_func()->paintEngine->updateState(state); +} + +void QMacPrintEngine::drawRects(const QRectF *r, int num) +{ + Q_D(QMacPrintEngine); + Q_ASSERT(d->state == QPrinter::Active); + d->paintEngine->drawRects(r, num); +} + +void QMacPrintEngine::drawPoints(const QPointF *points, int pointCount) +{ + Q_D(QMacPrintEngine); + Q_ASSERT(d->state == QPrinter::Active); + d->paintEngine->drawPoints(points, pointCount); +} + +void QMacPrintEngine::drawEllipse(const QRectF &r) +{ + Q_D(QMacPrintEngine); + Q_ASSERT(d->state == QPrinter::Active); + d->paintEngine->drawEllipse(r); +} + +void QMacPrintEngine::drawLines(const QLineF *lines, int lineCount) +{ + Q_D(QMacPrintEngine); + Q_ASSERT(d->state == QPrinter::Active); + d->paintEngine->drawLines(lines, lineCount); +} + +void QMacPrintEngine::drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode) +{ + Q_D(QMacPrintEngine); + Q_ASSERT(d->state == QPrinter::Active); + d->paintEngine->drawPolygon(points, pointCount, mode); +} + +void QMacPrintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr) +{ + Q_D(QMacPrintEngine); + Q_ASSERT(d->state == QPrinter::Active); + d->paintEngine->drawPixmap(r, pm, sr); +} + +void QMacPrintEngine::drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags) +{ + Q_D(QMacPrintEngine); + Q_ASSERT(d->state == QPrinter::Active); + d->paintEngine->drawImage(r, pm, sr, flags); +} + +void QMacPrintEngine::drawTextItem(const QPointF &p, const QTextItem &ti) +{ + Q_D(QMacPrintEngine); + Q_ASSERT(d->state == QPrinter::Active); + d->paintEngine->drawTextItem(p, ti); +} + +void QMacPrintEngine::drawTiledPixmap(const QRectF &dr, const QPixmap &pixmap, const QPointF &sr) +{ + Q_D(QMacPrintEngine); + Q_ASSERT(d->state == QPrinter::Active); + d->paintEngine->drawTiledPixmap(dr, pixmap, sr); +} + +void QMacPrintEngine::drawPath(const QPainterPath &path) +{ + Q_D(QMacPrintEngine); + Q_ASSERT(d->state == QPrinter::Active); + d->paintEngine->drawPath(path); +} + + +void QMacPrintEngine::setProperty(PrintEnginePropertyKey key, const QVariant &value) +{ + Q_D(QMacPrintEngine); + + d->valueCache.insert(key, value); + if (!d->printInfo) + return; + + switch (key) { + case PPK_CollateCopies: + break; + case PPK_ColorMode: + break; + case PPK_Creator: + break; + case PPK_DocumentName: + break; + case PPK_PageOrder: + break; + case PPK_PaperSource: + break; + case PPK_SelectionOption: + break; + case PPK_Resolution: { + PMPrinter printer; + UInt32 count; + if (PMSessionGetCurrentPrinter(d->session(), &printer) != noErr) + break; + if (PMPrinterGetPrinterResolutionCount(printer, &count) != noErr) + break; + PMResolution resolution = { 0.0, 0.0 }; + PMResolution bestResolution = { 0.0, 0.0 }; + int dpi = value.toInt(); + int bestDistance = INT_MAX; + for (UInt32 i = 1; i <= count; ++i) { // Yes, it starts at 1 + if (PMPrinterGetIndexedPrinterResolution(printer, i, &resolution) == noErr) { + if (dpi == int(resolution.hRes)) { + bestResolution = resolution; + break; + } else { + int distance = qAbs(dpi - int(resolution.hRes)); + if (distance < bestDistance) { + bestDistance = distance; + bestResolution = resolution; + } + } + } + } + PMSessionValidatePageFormat(d->session(), d->format(), kPMDontWantBoolean); + break; + } + + case PPK_FullPage: + d->fullPage = value.toBool(); + break; + case PPK_CopyCount: // fallthrough + case PPK_NumberOfCopies: + PMSetCopies(d->settings(), value.toInt(), false); + break; + case PPK_Orientation: { + if (d->state == QPrinter::Active) { + qWarning("QMacPrintEngine::setOrientation: Orientation cannot be changed during a print job, ignoring change"); + } else { + QPrinter::Orientation newOrientation = QPrinter::Orientation(value.toInt()); + if (d->hasCustomPaperSize && (d->orient != newOrientation)) + d->customSize = QSizeF(d->customSize.height(), d->customSize.width()); + d->orient = newOrientation; + PMOrientation o = d->orient == QPrinter::Portrait ? kPMPortrait : kPMLandscape; + PMSetOrientation(d->format(), o, false); + PMSessionValidatePageFormat(d->session(), d->format(), kPMDontWantBoolean); + } + break; } + case PPK_OutputFileName: + d->outputFilename = value.toString(); + break; + case PPK_PaperSize: + d->setPaperSize(QPrinter::PaperSize(value.toInt())); + break; + case PPK_PrinterName: { + bool printerNameSet = false; + OSStatus status = noErr; + QCFType printerList; + status = PMServerCreatePrinterList(kPMServerLocal, &printerList); + if (status == noErr) { + CFIndex count = CFArrayGetCount(printerList); + for (CFIndex i=0; i(const_cast(CFArrayGetValueAtIndex(printerList, i))); + QString name = QCFString::toQString(PMPrinterGetName(printer)); + if (name == value.toString()) { + status = PMSessionSetCurrentPMPrinter(d->session(), printer); + printerNameSet = true; + break; + } + } + } + if (status != noErr) + qWarning("QMacPrintEngine::setPrinterName: Error setting printer: %ld", long(status)); + if (!printerNameSet) { + qWarning("QMacPrintEngine::setPrinterName: Failed to set printer named '%s'.", qPrintable(value.toString())); + d->releaseSession(); + d->state = QPrinter::Idle; + } + break; } + case PPK_SuppressSystemPrintStatus: + break; + case PPK_CustomPaperSize: + { + PMOrientation orientation; + PMGetOrientation(d->format(), &orientation); + d->hasCustomPaperSize = true; + d->customSize = value.toSizeF(); + if (orientation != kPMPortrait) + d->customSize = QSizeF(d->customSize.height(), d->customSize.width()); + break; + } + case PPK_PageMargins: + { + QList margins(value.toList()); + Q_ASSERT(margins.size() == 4); + d->leftMargin = margins.at(0).toDouble(); + d->topMargin = margins.at(1).toDouble(); + d->rightMargin = margins.at(2).toDouble(); + d->bottomMargin = margins.at(3).toDouble(); + d->hasCustomPageMargins = true; + break; + } + + default: + break; + } +} + +QVariant QMacPrintEngine::property(PrintEnginePropertyKey key) const +{ + Q_D(const QMacPrintEngine); + QVariant ret; + + if (!d->printInfo && d->valueCache.contains(key)) + return *d->valueCache.find(key); + + switch (key) { + case PPK_CollateCopies: + ret = false; + break; + case PPK_ColorMode: + ret = QPrinter::Color; + break; + case PPK_Creator: + break; + case PPK_DocumentName: + break; + case PPK_FullPage: + ret = d->fullPage; + break; + case PPK_NumberOfCopies: + ret = 1; + break; + case PPK_CopyCount: { + UInt32 copies = 1; + PMGetCopies(d->settings(), &copies); + ret = (uint) copies; + break; + } + case PPK_SupportsMultipleCopies: + ret = true; + break; + case PPK_Orientation: + PMOrientation orientation; + PMGetOrientation(d->format(), &orientation); + ret = orientation == kPMPortrait ? QPrinter::Portrait : QPrinter::Landscape; + break; + case PPK_OutputFileName: + ret = d->outputFilename; + break; + case PPK_PageOrder: + break; + case PPK_PaperSource: + break; + case PPK_PageRect: { + // PageRect is returned in device pixels + QRect r; + PMRect macrect, macpaper; + qreal hRatio = d->resolution.hRes / 72; + qreal vRatio = d->resolution.vRes / 72; + if (d->hasCustomPaperSize) { + r = QRect(0, 0, qRound(d->customSize.width() * hRatio), qRound(d->customSize.height() * vRatio)); + if (d->hasCustomPageMargins) { + r.adjust(qRound(d->leftMargin * hRatio), qRound(d->topMargin * vRatio), + -qRound(d->rightMargin * hRatio), -qRound(d->bottomMargin * vRatio)); + } else { + QList margins = property(QPrintEngine::PPK_PageMargins).toList(); + r.adjust(qRound(margins.at(0).toDouble() * hRatio), + qRound(margins.at(1).toDouble() * vRatio), + -qRound(margins.at(2).toDouble() * hRatio), + -qRound(margins.at(3).toDouble()) * vRatio); + } + } else if (PMGetAdjustedPageRect(d->format(), ¯ect) == noErr + && PMGetAdjustedPaperRect(d->format(), &macpaper) == noErr) + { + if (d->fullPage || d->hasCustomPageMargins) { + r.setCoords(int(macpaper.left * hRatio), int(macpaper.top * vRatio), + int(macpaper.right * hRatio), int(macpaper.bottom * vRatio)); + r.translate(-r.x(), -r.y()); + if (d->hasCustomPageMargins) { + r.adjust(qRound(d->leftMargin * hRatio), qRound(d->topMargin * vRatio), + -qRound(d->rightMargin * hRatio), -qRound(d->bottomMargin * vRatio)); + } + } else { + r.setCoords(int(macrect.left * hRatio), int(macrect.top * vRatio), + int(macrect.right * hRatio), int(macrect.bottom * vRatio)); + r.translate(int(-macpaper.left * hRatio), int(-macpaper.top * vRatio)); + } + } + ret = r; + break; } + case PPK_PaperSize: + ret = d->paperSize(); + break; + case PPK_PaperRect: { + QRect r; + PMRect macrect; + qreal hRatio = d->resolution.hRes / 72; + qreal vRatio = d->resolution.vRes / 72; + if (d->hasCustomPaperSize) { + r = QRect(0, 0, qRound(d->customSize.width() * hRatio), qRound(d->customSize.height() * vRatio)); + } else if (PMGetAdjustedPaperRect(d->format(), ¯ect) == noErr) { + r.setCoords(int(macrect.left * hRatio), int(macrect.top * vRatio), + int(macrect.right * hRatio), int(macrect.bottom * vRatio)); + r.translate(-r.x(), -r.y()); + } + ret = r; + break; } + case PPK_PrinterName: { + PMPrinter printer; + OSStatus status = PMSessionGetCurrentPrinter(d->session(), &printer); + if (status != noErr) + qWarning("QMacPrintEngine::printerName: Failed getting current PMPrinter: %ld", long(status)); + if (printer) + ret = QCFString::toQString(PMPrinterGetName(printer)); + break; } + case PPK_Resolution: { + ret = d->resolution.hRes; + break; + } + case PPK_SupportedResolutions: + ret = d->supportedResolutions(); + break; + case PPK_CustomPaperSize: + ret = d->customSize; + break; + case PPK_PageMargins: + { + QList margins; + if (d->hasCustomPageMargins) { + margins << d->leftMargin << d->topMargin + << d->rightMargin << d->bottomMargin; + } else { + PMPaperMargins paperMargins; + PMPaper paper; + PMGetPageFormatPaper(d->format(), &paper); + PMPaperGetMargins(paper, &paperMargins); + margins << paperMargins.left << paperMargins.top + << paperMargins.right << paperMargins.bottom; + } + ret = margins; + break; + } + default: + break; + } + return ret; +} + +QT_END_NAMESPACE + +#endif // QT_NO_PRINTER diff --git a/src/plugins/platforms/cocoa/qprintengine_mac_p.h b/src/plugins/platforms/cocoa/qprintengine_mac_p.h new file mode 100644 index 0000000000..2d37b43dfa --- /dev/null +++ b/src/plugins/platforms/cocoa/qprintengine_mac_p.h @@ -0,0 +1,160 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QPRINTENGINE_MAC_P_H +#define QPRINTENGINE_MAC_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 +// version without notice, or even be removed. +// +// We mean it. +// + +#ifndef QT_NO_PRINTER + +#include +#include +#include + +#include "qpaintengine_mac_p.h" + +#ifdef __OBJC__ +@class NSPrintInfo; +#else +typedef void NSPrintInfo; +#endif + +QT_BEGIN_NAMESPACE + +class QPrinterPrivate; +class QMacPrintEnginePrivate; +class QMacPrintEngine : public QPaintEngine, public QPrintEngine +{ + Q_DECLARE_PRIVATE(QMacPrintEngine) +public: + QMacPrintEngine(QPrinter::PrinterMode mode); + + Qt::HANDLE handle() const; + + bool begin(QPaintDevice *dev); + bool end(); + virtual QPaintEngine::Type type() const { return QPaintEngine::MacPrinter; } + + QPaintEngine *paintEngine() const; + + void setProperty(PrintEnginePropertyKey key, const QVariant &value); + QVariant property(PrintEnginePropertyKey key) const; + + QPrinter::PrinterState printerState() const; + + bool newPage(); + bool abort(); + int metric(QPaintDevice::PaintDeviceMetric) const; + + //forwarded functions + + void updateState(const QPaintEngineState &state); + + virtual void drawLines(const QLineF *lines, int lineCount); + virtual void drawRects(const QRectF *r, int num); + virtual void drawPoints(const QPointF *p, int pointCount); + virtual void drawEllipse(const QRectF &r); + virtual void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode); + virtual void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr); + virtual void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags); + virtual void drawTextItem(const QPointF &p, const QTextItem &ti); + virtual void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s); + virtual void drawPath(const QPainterPath &); + +private: + friend class QCocoaNativeInterface; +}; + +class QMacPrintEnginePrivate : public QPaintEnginePrivate +{ + Q_DECLARE_PUBLIC(QMacPrintEngine) +public: + QPrinter::PrinterMode mode; + QPrinter::PrinterState state; + QPrinter::Orientation orient; + NSPrintInfo *printInfo; + PMResolution resolution; + QString outputFilename; + bool fullPage; + QPaintEngine *paintEngine; + bool hasCustomPaperSize; + QSizeF customSize; + bool hasCustomPageMargins; + qreal leftMargin; + qreal topMargin; + qreal rightMargin; + qreal bottomMargin; + QHash valueCache; + QMacPrintEnginePrivate() : mode(QPrinter::ScreenResolution), state(QPrinter::Idle), + orient(QPrinter::Portrait), printInfo(0), paintEngine(0), + hasCustomPaperSize(false), hasCustomPageMargins(false) {} + ~QMacPrintEnginePrivate(); + void initialize(); + void releaseSession(); + bool newPage_helper(); + void setPaperSize(QPrinter::PaperSize ps); + QPrinter::PaperSize paperSize() const; + QList supportedResolutions() const; + inline bool isPrintSessionInitialized() const + { + return printInfo != 0; + } + + PMPageFormat format() const { return static_cast([printInfo PMPageFormat]); } + PMPrintSession session() const { return static_cast([printInfo PMPrintSession]); } + PMPrintSettings settings() const { return static_cast([printInfo PMPrintSettings]); } +}; + +QT_END_NAMESPACE + +#endif // QT_NO_PRINTER + +#endif // QPRINTENGINE_WIN_P_H diff --git a/src/plugins/platforms/cocoa/qt_mac_p.h b/src/plugins/platforms/cocoa/qt_mac_p.h index b75e6e2bcb..f881965b32 100644 --- a/src/plugins/platforms/cocoa/qt_mac_p.h +++ b/src/plugins/platforms/cocoa/qt_mac_p.h @@ -159,7 +159,7 @@ class QMacCGContext { CGContextRef context; public: - QMacCGContext(QPainter *p); //qpaintengine_mac.cpp + QMacCGContext(QPainter *p); //qpaintengine_mac.mm inline QMacCGContext() { context = 0; } inline QMacCGContext(const QPaintDevice *pdev) { extern CGContextRef qt_mac_cg_context(const QPaintDevice *); diff --git a/src/plugins/platforms/eglfs/eglfs.json b/src/plugins/platforms/eglfs/eglfs.json new file mode 100644 index 0000000000..c1ad6ca028 --- /dev/null +++ b/src/plugins/platforms/eglfs/eglfs.json @@ -0,0 +1,3 @@ +{ + "Keys": [ "eglfs" ] +} diff --git a/src/plugins/platforms/eglfs/eglfs.pro b/src/plugins/platforms/eglfs/eglfs.pro index 291e09d6ed..ed8503b53c 100644 --- a/src/plugins/platforms/eglfs/eglfs.pro +++ b/src/plugins/platforms/eglfs/eglfs.pro @@ -1,6 +1,5 @@ TARGET = qeglfs -TEMPLATE = lib -CONFIG += plugin +load(qt_plugin) QT += core-private gui-private platformsupport-private @@ -29,3 +28,6 @@ CONFIG += qpa/genericunixfontdatabase target.path += $$[QT_INSTALL_PLUGINS]/platforms INSTALLS += target + +OTHER_FILES += \ + eglfs.json diff --git a/src/plugins/platforms/eglfs/main.cpp b/src/plugins/platforms/eglfs/main.cpp index e4167bf173..2ca2199619 100644 --- a/src/plugins/platforms/eglfs/main.cpp +++ b/src/plugins/platforms/eglfs/main.cpp @@ -46,6 +46,8 @@ QT_BEGIN_NAMESPACE class QEglIntegrationPlugin : public QPlatformIntegrationPlugin { + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QPlatformIntegrationFactoryInterface" FILE "eglfs.json") public: QStringList keys() const; QPlatformIntegration *create(const QString&, const QStringList&); @@ -67,6 +69,6 @@ QPlatformIntegration* QEglIntegrationPlugin::create(const QString& system, const return 0; } -Q_EXPORT_PLUGIN2(eglintegration, QEglIntegrationPlugin) - QT_END_NAMESPACE + +#include "main.moc" diff --git a/src/plugins/platforms/qnx/qqnxwindow.h b/src/plugins/platforms/qnx/qqnxwindow.h index 9507b08ade..9c03af7594 100644 --- a/src/plugins/platforms/qnx/qqnxwindow.h +++ b/src/plugins/platforms/qnx/qqnxwindow.h @@ -60,7 +60,6 @@ QT_BEGIN_NAMESPACE class QQnxGLContext; class QQnxScreen; -class QPlatformGLContext; class QSurfaceFormat; class QQnxWindow : public QPlatformWindow diff --git a/src/plugins/platforms/uikit/README b/src/plugins/platforms/uikit/README deleted file mode 100644 index f878cce50e..0000000000 --- a/src/plugins/platforms/uikit/README +++ /dev/null @@ -1,45 +0,0 @@ -This is a proof-of-concept implemenation of a UIKit based -QPA plugin. Note that this is completely unsupported, and it is probable -that many parts of QtCore and other Qt Modules don't work properly. - -1) Build Qt - -The example Xcode project in the examples subdirectory requires that you do shadow -builds of Qt in qt-lighthouse-ios-simulator and qt-lighthouse-ios-device directories -parallel to the sources. To build for simulator make sure that both the Simulator -configuration *and* the simulator specific target are active. To build for device -make sure that both the Device configuration *and* the device specific target are -active. - -The setup is configured to use the iOS 4.2 SDKs, you might want to edit the mkspecs -to fit your need. - -After configuring and building Qt you need to also build src/plugins/platforms/uikit. - -Simulator: ----------- -configure -qpa -xplatform qws/macx-iphonesimulator-g++ -arch i386 -developer-build -opengl es1 -no-accessibility -no-qt3support -no-multimedia -no-phonon -no-phonon-backend -no-svg -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake docs -nomake examples -nomake translations - -Device: -------- -configure -qpa -xplatform qws/macx-iphonedevice-g++ -arch armv7 -developer-build -release -opengl es1 -no-accessibility -no-qt3support -no-multimedia -no-phonon -no-phonon-backend -no-svg -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake docs -nomake examples -nomake translations - -2) XCode setup: -- there are examples in the examples subdirectory of the platform plugin -- to create something fresh do something like: - - Xcode: Create a "View-based Appplication" - - remove the nibs and view controller and app controller files - - remove the reference to "Main nib file" from plist file - - create a main.mm like in the examples - - add the qmlapplicationviewer sources to your project (including the moc_*.h) - (best to link, not copy), the code for this is from the Qt Creator - mobile Qt Quick application template - - Add the Qt .a libraries, uikit platform plugin and libz (v1.2.3) to Frameworks - - add "$(SRCROOT)/../../../../qt-lighthouse-ios-device/include" (or -simulator) - to the include search paths. - - add "$(SRCROOT)/../qmltest" to the include search path if you didn't copy but - linked to the qmlapplicationviewer - - for device set the architecture to armv7 only - -3) Done: Build and Run. - diff --git a/src/plugins/platforms/uikit/examples/qmltest/main.mm b/src/plugins/platforms/uikit/examples/qmltest/main.mm deleted file mode 100644 index 68eef2a353..0000000000 --- a/src/plugins/platforms/uikit/examples/qmltest/main.mm +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#import - -#include "qmlapplicationviewer/qmlapplicationviewer.h" - -#include -#include -#include - -Q_IMPORT_PLUGIN(UIKit) - -static QString qStringFromNSString(NSString *nsstring) -{ - return QString::fromUtf8([nsstring UTF8String]); -} - -static QString documentsDirectory() -{ - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); - NSString *documentsDirectory = [paths objectAtIndex:0]; - return qStringFromNSString(documentsDirectory); -} - -int main(int argc, char *argv[]) { - - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - - QApplication app(argc, argv); - QmlApplicationViewer viewer; - viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto); - viewer.engine()->setOfflineStoragePath(documentsDirectory()); - NSString *resourcePath = [[NSBundle mainBundle] resourcePath]; - viewer.setMainQmlFile(qStringFromNSString([resourcePath stringByAppendingPathComponent:@"qml/main.qml"])); - viewer.showMaximized(); - int retVal = app.exec(); - [pool release]; - return retVal; -} diff --git a/src/plugins/platforms/uikit/examples/qmltest/qml/main.qml b/src/plugins/platforms/uikit/examples/qmltest/qml/main.qml deleted file mode 100644 index 07e8eb08a6..0000000000 --- a/src/plugins/platforms/uikit/examples/qmltest/qml/main.qml +++ /dev/null @@ -1,112 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $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$ -** -****************************************************************************/ - -import QtQuick 1.0 - -Rectangle { - id: box - width: 350; height: 250 - - Rectangle { - id: redSquare - width: 80; height: 80 - anchors.top: parent.top; anchors.left: parent.left; anchors.margins: 10 - color: "red" - - Text { text: "Click"; font.pixelSize: 16; anchors.centerIn: parent } - - MouseArea { - anchors.fill: parent - hoverEnabled: true - acceptedButtons: Qt.LeftButton | Qt.RightButton - - onEntered: info.text = 'Entered' - onExited: info.text = 'Exited (pressed=' + pressed + ')' - - onPressed: { - info.text = 'Pressed (button=' + (mouse.button == Qt.RightButton ? 'right' : 'left') - + ' shift=' + (mouse.modifiers & Qt.ShiftModifier ? 'true' : 'false') + ')' - var posInBox = redSquare.mapToItem(box, mouse.x, mouse.y) - posInfo.text = + mouse.x + ',' + mouse.y + ' in square' - + ' (' + posInBox.x + ',' + posInBox.y + ' in window)' - } - - onReleased: { - info.text = 'Released (isClick=' + mouse.isClick + ' wasHeld=' + mouse.wasHeld + ')' - posInfo.text = '' - } - - onPressAndHold: info.text = 'Press and hold' - onClicked: info.text = 'Clicked (wasHeld=' + mouse.wasHeld + ')' - onDoubleClicked: info.text = 'Double clicked' - } - } - - Rectangle { - id: blueSquare - width: 80; height: 80 - x: box.width - width - 10; y: 10 // making this item draggable, so don't use anchors - color: "blue" - - Text { text: "Drag"; font.pixelSize: 16; color: "white"; anchors.centerIn: parent } - - MouseArea { - anchors.fill: parent - drag.target: blueSquare - drag.axis: Drag.XandYAxis - drag.minimumX: 0 - drag.maximumX: box.width - parent.width - drag.minimumY: 0 - drag.maximumY: box.height - parent.width - } - } - - Text { - id: info - anchors.bottom: posInfo.top; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30 - - onTextChanged: console.log(text) - } - - Text { - id: posInfo - anchors.bottom: parent.bottom; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30 - } -} diff --git a/src/plugins/platforms/uikit/examples/qmltest/qmlapplicationviewer/moc_qmlapplicationviewer.cpp b/src/plugins/platforms/uikit/examples/qmltest/qmlapplicationviewer/moc_qmlapplicationviewer.cpp deleted file mode 100644 index 2b36a87272..0000000000 --- a/src/plugins/platforms/uikit/examples/qmltest/qmlapplicationviewer/moc_qmlapplicationviewer.cpp +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/**************************************************************************** -** Meta object code from reading C++ file 'qmlapplicationviewer.h' -** -** Created: Fri Feb 18 17:53:42 2011 -** by: The Qt Meta Object Compiler version 62 (Qt 4.7.2) -** -** WARNING! All changes made in this file will be lost! -*****************************************************************************/ - -#include "qmlapplicationviewer.h" -#if !defined(Q_MOC_OUTPUT_REVISION) -#error "The header file 'qmlapplicationviewer.h' doesn't include ." -#elif Q_MOC_OUTPUT_REVISION != 62 -#error "This file was generated using the moc from 4.7.2. It" -#error "cannot be used with the include files from this version of Qt." -#error "(The moc has changed too much.)" -#endif - -QT_BEGIN_MOC_NAMESPACE -static const uint qt_meta_data_QmlApplicationViewer[] = { - - // content: - 5, // revision - 0, // classname - 0, 0, // classinfo - 0, 0, // methods - 0, 0, // properties - 0, 0, // enums/sets - 0, 0, // constructors - 0, // flags - 0, // signalCount - - 0 // eod -}; - -static const char qt_meta_stringdata_QmlApplicationViewer[] = { - "QmlApplicationViewer\0" -}; - -const QMetaObject QmlApplicationViewer::staticMetaObject = { - { &QDeclarativeView::staticMetaObject, qt_meta_stringdata_QmlApplicationViewer, - qt_meta_data_QmlApplicationViewer, 0 } -}; - -#ifdef Q_NO_DATA_RELOCATION -const QMetaObject &QmlApplicationViewer::getStaticMetaObject() { return staticMetaObject; } -#endif //Q_NO_DATA_RELOCATION - -const QMetaObject *QmlApplicationViewer::metaObject() const -{ - return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; -} - -void *QmlApplicationViewer::qt_metacast(const char *_clname) -{ - if (!_clname) return 0; - if (!strcmp(_clname, qt_meta_stringdata_QmlApplicationViewer)) - return static_cast(const_cast< QmlApplicationViewer*>(this)); - return QDeclarativeView::qt_metacast(_clname); -} - -int QmlApplicationViewer::qt_metacall(QMetaObject::Call _c, int _id, void **_a) -{ - _id = QDeclarativeView::qt_metacall(_c, _id, _a); - if (_id < 0) - return _id; - return _id; -} -QT_END_MOC_NAMESPACE diff --git a/src/plugins/platforms/uikit/examples/qmltest/qmlapplicationviewer/qmlapplicationviewer.cpp b/src/plugins/platforms/uikit/examples/qmltest/qmlapplicationviewer/qmlapplicationviewer.cpp deleted file mode 100644 index aba9366d47..0000000000 --- a/src/plugins/platforms/uikit/examples/qmltest/qmlapplicationviewer/qmlapplicationviewer.cpp +++ /dev/null @@ -1,179 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// checksum 0x17fa version 0x3000a -/* - This file was generated by the Qt Quick Application wizard of Qt Creator. - QmlApplicationViewer is a convenience class containing mobile device specific - code such as screen orientation handling. Also QML paths and debugging are - handled here. - It is recommended not to modify this file, since newer versions of Qt Creator - may offer an updated version of it. -*/ - -#include "qmlapplicationviewer.h" - -#include -#include -#include -#include -#include -#include - -#if defined(QMLJSDEBUGGER) -#include -#endif - -#if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER) -#include -#endif -#if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER) -#include -#endif - -#if defined(QMLJSDEBUGGER) - -// Enable debugging before any QDeclarativeEngine is created -struct QmlJsDebuggingEnabler -{ - QmlJsDebuggingEnabler() - { - QDeclarativeDebugHelper::enableDebugging(); - } -}; - -// Execute code in constructor before first QDeclarativeEngine is instantiated -static QmlJsDebuggingEnabler enableDebuggingHelper; - -#endif // QMLJSDEBUGGER - -class QmlApplicationViewerPrivate -{ - QString mainQmlFile; - friend class QmlApplicationViewer; - static QString adjustPath(const QString &path); -}; - -QString QmlApplicationViewerPrivate::adjustPath(const QString &path) -{ -#ifdef Q_OS_UNIX -#ifdef Q_OS_MAC - if (!QDir::isAbsolutePath(path)) - return QCoreApplication::applicationDirPath() - + QLatin1String("/../Resources/") + path; -#else - const QString pathInShareDir = QCoreApplication::applicationDirPath() - + QLatin1String("/../share/") - + QFileInfo(QCoreApplication::applicationFilePath()).fileName() - + QLatin1Char('/') + path; - if (QFileInfo(pathInShareDir).exists()) - return pathInShareDir; -#endif -#endif - return path; -} - -QmlApplicationViewer::QmlApplicationViewer(QWidget *parent) : - QDeclarativeView(parent), - m_d(new QmlApplicationViewerPrivate) -{ - connect(engine(), SIGNAL(quit()), SLOT(close())); - setResizeMode(QDeclarativeView::SizeRootObjectToView); -#if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER) - new QmlJSDebugger::JSDebuggerAgent(engine()); -#endif -#if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER) - new QmlJSDebugger::QDeclarativeViewObserver(this, parent); -#endif -} - -QmlApplicationViewer::~QmlApplicationViewer() -{ - delete m_d; -} - -void QmlApplicationViewer::setMainQmlFile(const QString &file) -{ - m_d->mainQmlFile = QmlApplicationViewerPrivate::adjustPath(file); - setSource(QUrl::fromLocalFile(m_d->mainQmlFile)); -} - -void QmlApplicationViewer::addImportPath(const QString &path) -{ - engine()->addImportPath(QmlApplicationViewerPrivate::adjustPath(path)); -} - -void QmlApplicationViewer::setOrientation(ScreenOrientation orientation) -{ -// Qt::WidgetAttribute attribute; -// switch (orientation) { -//#if QT_VERSION < 0x040702 -// // Qt < 4.7.2 does not yet have the Qt::WA_*Orientation attributes -// case ScreenOrientationLockPortrait: -// attribute = static_cast(128); -// break; -// case ScreenOrientationLockLandscape: -// attribute = static_cast(129); -// break; -// default: -// case ScreenOrientationAuto: -// attribute = static_cast(130); -// break; -//#else // QT_VERSION < 0x040702 -// case ScreenOrientationLockPortrait: -// attribute = Qt::WA_LockPortraitOrientation; -// break; -// case ScreenOrientationLockLandscape: -// attribute = Qt::WA_LockLandscapeOrientation; -// break; -// default: -// case ScreenOrientationAuto: -// attribute = Qt::WA_AutoOrientation; -// break; -//#endif // QT_VERSION < 0x040702 -// }; -// setAttribute(attribute, true); -} - -void QmlApplicationViewer::showExpanded() -{ - show(); -} diff --git a/src/plugins/platforms/uikit/examples/qmltest/qmlapplicationviewer/qmlapplicationviewer.h b/src/plugins/platforms/uikit/examples/qmltest/qmlapplicationviewer/qmlapplicationviewer.h deleted file mode 100644 index e2ee5b5069..0000000000 --- a/src/plugins/platforms/uikit/examples/qmltest/qmlapplicationviewer/qmlapplicationviewer.h +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// checksum 0x5a59 version 0x3000a -/* - This file was generated by the Qt Quick Application wizard of Qt Creator. - QmlApplicationViewer is a convenience class containing mobile device specific - code such as screen orientation handling. Also QML paths and debugging are - handled here. - It is recommended not to modify this file, since newer versions of Qt Creator - may offer an updated version of it. -*/ - -#ifndef QMLAPPLICATIONVIEWER_H -#define QMLAPPLICATIONVIEWER_H - -#include - -class QmlApplicationViewer : public QDeclarativeView -{ - Q_OBJECT - -public: - enum ScreenOrientation { - ScreenOrientationLockPortrait, - ScreenOrientationLockLandscape, - ScreenOrientationAuto - }; - - explicit QmlApplicationViewer(QWidget *parent = 0); - virtual ~QmlApplicationViewer(); - - void setMainQmlFile(const QString &file); - void addImportPath(const QString &path); - void setOrientation(ScreenOrientation orientation); - void showExpanded(); - -private: - class QmlApplicationViewerPrivate *m_d; -}; - -#endif // QMLAPPLICATIONVIEWER_H diff --git a/src/plugins/platforms/uikit/examples/qmltest/qmltest-Info.plist b/src/plugins/platforms/uikit/examples/qmltest/qmltest-Info.plist deleted file mode 100644 index 15665856b0..0000000000 --- a/src/plugins/platforms/uikit/examples/qmltest/qmltest-Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleDisplayName - ${PRODUCT_NAME} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - - diff --git a/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj b/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj deleted file mode 100755 index 10bb20fcb9..0000000000 --- a/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj +++ /dev/null @@ -1,491 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 45; - objects = { - -/* Begin PBXBuildFile section */ - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; - 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; }; - D316594E1338B29E00760B02 /* libQtXml_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D31659431338B21000760B02 /* libQtXml_debug.a */; }; - D316594F1338B29E00760B02 /* libQtXmlPatterns_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D31659441338B21000760B02 /* libQtXmlPatterns_debug.a */; }; - D35784241345D8C90046D202 /* libQtOpenGL_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D35784231345D8C90046D202 /* libQtOpenGL_debug.a */; }; - D35784261345D9940046D202 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D35784251345D9940046D202 /* OpenGLES.framework */; }; - D35784281345D9E00046D202 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D35784271345D9E00046D202 /* QuartzCore.framework */; }; - D3578436134A09990046D202 /* libQtOpenGL.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3578435134A09990046D202 /* libQtOpenGL.a */; }; - D3578439134A0AAE0046D202 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D35784251345D9940046D202 /* OpenGLES.framework */; }; - D357843A134A0AB10046D202 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D35784271345D9E00046D202 /* QuartzCore.framework */; }; - D3CAA7C813264AAD008BB877 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = D3CAA7C713264AAD008BB877 /* main.mm */; }; - D3CAA7E613264EA6008BB877 /* moc_qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3CAA7E313264EA6008BB877 /* moc_qmlapplicationviewer.cpp */; }; - D3CAA7E713264EA6008BB877 /* qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3CAA7E413264EA6008BB877 /* qmlapplicationviewer.cpp */; }; - D3CAA7EC13264F52008BB877 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = D3CAA7C713264AAD008BB877 /* main.mm */; }; - D3CAA7ED13264F52008BB877 /* moc_qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3CAA7E313264EA6008BB877 /* moc_qmlapplicationviewer.cpp */; }; - D3CAA7EE13264F52008BB877 /* qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3CAA7E413264EA6008BB877 /* qmlapplicationviewer.cpp */; }; - D3CAA7F013264F52008BB877 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; - D3CAA7F113264F52008BB877 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; - D3CAA7F213264F52008BB877 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; }; - D3CAA7FA13264F8A008BB877 /* libz.1.2.3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA7F913264F8A008BB877 /* libz.1.2.3.dylib */; }; - D3CAA81113264FF0008BB877 /* libz.1.2.3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA7F913264F8A008BB877 /* libz.1.2.3.dylib */; }; - D3CAA81B13265056008BB877 /* libQtCore_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81613265056008BB877 /* libQtCore_debug.a */; }; - D3CAA81C13265056008BB877 /* libQtDeclarative_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81713265056008BB877 /* libQtDeclarative_debug.a */; }; - D3CAA81D13265056008BB877 /* libQtGui_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81813265056008BB877 /* libQtGui_debug.a */; }; - D3CAA81E13265056008BB877 /* libQtScript_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81913265056008BB877 /* libQtScript_debug.a */; }; - D3CAA81F13265056008BB877 /* libQtSql_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81A13265056008BB877 /* libQtSql_debug.a */; }; - D3CAA8211326507D008BB877 /* libquikit_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA8201326507D008BB877 /* libquikit_debug.a */; }; - D3CAA82813265220008BB877 /* libQtNetwork_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA82713265220008BB877 /* libQtNetwork_debug.a */; }; - D3CAA88A132652E5008BB877 /* fonts in Resources */ = {isa = PBXBuildFile; fileRef = D3CAA836132652E5008BB877 /* fonts */; }; - D3CAA88B132652E5008BB877 /* fonts in Resources */ = {isa = PBXBuildFile; fileRef = D3CAA836132652E5008BB877 /* fonts */; }; - D3CAA89113265310008BB877 /* qml in Resources */ = {isa = PBXBuildFile; fileRef = D3CAA88E13265310008BB877 /* qml */; }; - D3CAA89213265310008BB877 /* qml in Resources */ = {isa = PBXBuildFile; fileRef = D3CAA88E13265310008BB877 /* qml */; }; - D3D817B2132A2CFD00CDE422 /* libQtCore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D817AA132A2CFD00CDE422 /* libQtCore.a */; }; - D3D817B3132A2CFD00CDE422 /* libQtDeclarative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D817AB132A2CFD00CDE422 /* libQtDeclarative.a */; }; - D3D817B4132A2CFD00CDE422 /* libQtGui.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D817AC132A2CFD00CDE422 /* libQtGui.a */; }; - D3D817B5132A2CFD00CDE422 /* libQtNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D817AD132A2CFD00CDE422 /* libQtNetwork.a */; }; - D3D817B6132A2CFD00CDE422 /* libQtScript.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D817AE132A2CFD00CDE422 /* libQtScript.a */; }; - D3D817B7132A2CFD00CDE422 /* libQtSql.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D817AF132A2CFD00CDE422 /* libQtSql.a */; }; - D3D817B8132A2CFD00CDE422 /* libQtXml.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D817B0132A2CFD00CDE422 /* libQtXml.a */; }; - D3D817B9132A2CFD00CDE422 /* libQtXmlPatterns.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D817B1132A2CFD00CDE422 /* libQtXmlPatterns.a */; }; - D3D817BB132A2D0E00CDE422 /* libquikit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D817BA132A2D0E00CDE422 /* libquikit.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 1D6058910D05DD3D006BFB54 /* qmltest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = qmltest.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 32CA4F630368D1EE00C91783 /* qmltest_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = qmltest_Prefix.pch; sourceTree = ""; }; - 8D1107310486CEB800E47090 /* qmltest-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "qmltest-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; - D31659431338B21000760B02 /* libQtXml_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXml_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtXml_debug.a"; sourceTree = SOURCE_ROOT; }; - D31659441338B21000760B02 /* libQtXmlPatterns_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXmlPatterns_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtXmlPatterns_debug.a"; sourceTree = SOURCE_ROOT; }; - D35784231345D8C90046D202 /* libQtOpenGL_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtOpenGL_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtOpenGL_debug.a"; sourceTree = ""; }; - D35784251345D9940046D202 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - D35784271345D9E00046D202 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - D3578435134A09990046D202 /* libQtOpenGL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtOpenGL.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtOpenGL.a"; sourceTree = ""; }; - D3CAA7C713264AAD008BB877 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = ""; }; - D3CAA7E313264EA6008BB877 /* moc_qmlapplicationviewer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_qmlapplicationviewer.cpp; path = qmlapplicationviewer/moc_qmlapplicationviewer.cpp; sourceTree = ""; }; - D3CAA7E413264EA6008BB877 /* qmlapplicationviewer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = qmlapplicationviewer.cpp; path = qmlapplicationviewer/qmlapplicationviewer.cpp; sourceTree = ""; }; - D3CAA7E513264EA6008BB877 /* qmlapplicationviewer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = qmlapplicationviewer.h; path = qmlapplicationviewer/qmlapplicationviewer.h; sourceTree = ""; }; - D3CAA7F613264F52008BB877 /* qmltest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = qmltest.app; sourceTree = BUILT_PRODUCTS_DIR; }; - D3CAA7F913264F8A008BB877 /* libz.1.2.3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.1.2.3.dylib; path = usr/lib/libz.1.2.3.dylib; sourceTree = SDKROOT; }; - D3CAA81613265056008BB877 /* libQtCore_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtCore_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtCore_debug.a"; sourceTree = SOURCE_ROOT; }; - D3CAA81713265056008BB877 /* libQtDeclarative_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtDeclarative_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtDeclarative_debug.a"; sourceTree = SOURCE_ROOT; }; - D3CAA81813265056008BB877 /* libQtGui_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtGui_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtGui_debug.a"; sourceTree = SOURCE_ROOT; }; - D3CAA81913265056008BB877 /* libQtScript_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtScript_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtScript_debug.a"; sourceTree = SOURCE_ROOT; }; - D3CAA81A13265056008BB877 /* libQtSql_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtSql_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtSql_debug.a"; sourceTree = SOURCE_ROOT; }; - D3CAA8201326507D008BB877 /* libquikit_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libquikit_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/plugins/platforms/libquikit_debug.a"; sourceTree = SOURCE_ROOT; }; - D3CAA82713265220008BB877 /* libQtNetwork_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtNetwork_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtNetwork_debug.a"; sourceTree = SOURCE_ROOT; }; - D3CAA836132652E5008BB877 /* fonts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = fonts; path = ../../../../../../lib/fonts; sourceTree = SOURCE_ROOT; }; - D3CAA88E13265310008BB877 /* qml */ = {isa = PBXFileReference; lastKnownFileType = folder; path = qml; sourceTree = SOURCE_ROOT; }; - D3D817AA132A2CFD00CDE422 /* libQtCore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtCore.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtCore.a"; sourceTree = SOURCE_ROOT; }; - D3D817AB132A2CFD00CDE422 /* libQtDeclarative.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtDeclarative.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtDeclarative.a"; sourceTree = SOURCE_ROOT; }; - D3D817AC132A2CFD00CDE422 /* libQtGui.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtGui.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtGui.a"; sourceTree = SOURCE_ROOT; }; - D3D817AD132A2CFD00CDE422 /* libQtNetwork.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtNetwork.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtNetwork.a"; sourceTree = SOURCE_ROOT; }; - D3D817AE132A2CFD00CDE422 /* libQtScript.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtScript.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtScript.a"; sourceTree = SOURCE_ROOT; }; - D3D817AF132A2CFD00CDE422 /* libQtSql.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtSql.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtSql.a"; sourceTree = SOURCE_ROOT; }; - D3D817B0132A2CFD00CDE422 /* libQtXml.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXml.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtXml.a"; sourceTree = SOURCE_ROOT; }; - D3D817B1132A2CFD00CDE422 /* libQtXmlPatterns.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXmlPatterns.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtXmlPatterns.a"; sourceTree = SOURCE_ROOT; }; - D3D817BA132A2D0E00CDE422 /* libquikit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libquikit.a; path = "../../../../../../../qt-lighthouse-ios-device/plugins/platforms/libquikit.a"; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D35784281345D9E00046D202 /* QuartzCore.framework in Frameworks */, - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, - 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */, - D35784261345D9940046D202 /* OpenGLES.framework in Frameworks */, - D3CAA7FA13264F8A008BB877 /* libz.1.2.3.dylib in Frameworks */, - D3CAA81B13265056008BB877 /* libQtCore_debug.a in Frameworks */, - D3CAA81C13265056008BB877 /* libQtDeclarative_debug.a in Frameworks */, - D3CAA81D13265056008BB877 /* libQtGui_debug.a in Frameworks */, - D3CAA81E13265056008BB877 /* libQtScript_debug.a in Frameworks */, - D3CAA81F13265056008BB877 /* libQtSql_debug.a in Frameworks */, - D3CAA8211326507D008BB877 /* libquikit_debug.a in Frameworks */, - D3CAA82813265220008BB877 /* libQtNetwork_debug.a in Frameworks */, - D316594E1338B29E00760B02 /* libQtXml_debug.a in Frameworks */, - D316594F1338B29E00760B02 /* libQtXmlPatterns_debug.a in Frameworks */, - D35784241345D8C90046D202 /* libQtOpenGL_debug.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D3CAA7EF13264F52008BB877 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D357843A134A0AB10046D202 /* QuartzCore.framework in Frameworks */, - D3578439134A0AAE0046D202 /* OpenGLES.framework in Frameworks */, - D3CAA7F013264F52008BB877 /* Foundation.framework in Frameworks */, - D3CAA7F113264F52008BB877 /* UIKit.framework in Frameworks */, - D3CAA7F213264F52008BB877 /* CoreGraphics.framework in Frameworks */, - D3CAA81113264FF0008BB877 /* libz.1.2.3.dylib in Frameworks */, - D3D817B2132A2CFD00CDE422 /* libQtCore.a in Frameworks */, - D3D817B3132A2CFD00CDE422 /* libQtDeclarative.a in Frameworks */, - D3D817B4132A2CFD00CDE422 /* libQtGui.a in Frameworks */, - D3D817B5132A2CFD00CDE422 /* libQtNetwork.a in Frameworks */, - D3D817B6132A2CFD00CDE422 /* libQtScript.a in Frameworks */, - D3D817B7132A2CFD00CDE422 /* libQtSql.a in Frameworks */, - D3D817B8132A2CFD00CDE422 /* libQtXml.a in Frameworks */, - D3D817B9132A2CFD00CDE422 /* libQtXmlPatterns.a in Frameworks */, - D3D817BB132A2D0E00CDE422 /* libquikit.a in Frameworks */, - D3578436134A09990046D202 /* libQtOpenGL.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 1D6058910D05DD3D006BFB54 /* qmltest.app */, - D3CAA7F613264F52008BB877 /* qmltest.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { - isa = PBXGroup; - children = ( - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - D3CAA7E213264E8C008BB877 /* QMLApplicationViewer */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = CustomTemplate; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32CA4F630368D1EE00C91783 /* qmltest_Prefix.pch */, - D3CAA7C713264AAD008BB877 /* main.mm */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - D3CAA88E13265310008BB877 /* qml */, - D3CAA836132652E5008BB877 /* fonts */, - 8D1107310486CEB800E47090 /* qmltest-Info.plist */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - D3CAA81513265035008BB877 /* Simulator */, - D3CAA8141326500A008BB877 /* Device */, - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, - 1D30AB110D05D00D00671497 /* Foundation.framework */, - 288765A40DF7441C002DB57D /* CoreGraphics.framework */, - D35784251345D9940046D202 /* OpenGLES.framework */, - D35784271345D9E00046D202 /* QuartzCore.framework */, - D3CAA7F913264F8A008BB877 /* libz.1.2.3.dylib */, - ); - name = Frameworks; - sourceTree = ""; - }; - D3CAA7E213264E8C008BB877 /* QMLApplicationViewer */ = { - isa = PBXGroup; - children = ( - D3CAA7E313264EA6008BB877 /* moc_qmlapplicationviewer.cpp */, - D3CAA7E413264EA6008BB877 /* qmlapplicationviewer.cpp */, - D3CAA7E513264EA6008BB877 /* qmlapplicationviewer.h */, - ); - name = QMLApplicationViewer; - sourceTree = ""; - }; - D3CAA8141326500A008BB877 /* Device */ = { - isa = PBXGroup; - children = ( - D3D817BA132A2D0E00CDE422 /* libquikit.a */, - D3D817AA132A2CFD00CDE422 /* libQtCore.a */, - D3D817AB132A2CFD00CDE422 /* libQtDeclarative.a */, - D3D817AC132A2CFD00CDE422 /* libQtGui.a */, - D3D817AD132A2CFD00CDE422 /* libQtNetwork.a */, - D3578435134A09990046D202 /* libQtOpenGL.a */, - D3D817AE132A2CFD00CDE422 /* libQtScript.a */, - D3D817AF132A2CFD00CDE422 /* libQtSql.a */, - D3D817B0132A2CFD00CDE422 /* libQtXml.a */, - D3D817B1132A2CFD00CDE422 /* libQtXmlPatterns.a */, - ); - name = Device; - sourceTree = ""; - }; - D3CAA81513265035008BB877 /* Simulator */ = { - isa = PBXGroup; - children = ( - D3CAA8201326507D008BB877 /* libquikit_debug.a */, - D3CAA81613265056008BB877 /* libQtCore_debug.a */, - D3CAA81713265056008BB877 /* libQtDeclarative_debug.a */, - D3CAA81813265056008BB877 /* libQtGui_debug.a */, - D3CAA82713265220008BB877 /* libQtNetwork_debug.a */, - D35784231345D8C90046D202 /* libQtOpenGL_debug.a */, - D3CAA81913265056008BB877 /* libQtScript_debug.a */, - D3CAA81A13265056008BB877 /* libQtSql_debug.a */, - D31659431338B21000760B02 /* libQtXml_debug.a */, - D31659441338B21000760B02 /* libQtXmlPatterns_debug.a */, - ); - name = Simulator; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 1D6058900D05DD3D006BFB54 /* qmltest simulator */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "qmltest simulator" */; - buildPhases = ( - 1D60588D0D05DD3D006BFB54 /* Resources */, - 1D60588E0D05DD3D006BFB54 /* Sources */, - 1D60588F0D05DD3D006BFB54 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "qmltest simulator"; - productName = qmltest; - productReference = 1D6058910D05DD3D006BFB54 /* qmltest.app */; - productType = "com.apple.product-type.application"; - }; - D3CAA7E813264F52008BB877 /* qmltest device */ = { - isa = PBXNativeTarget; - buildConfigurationList = D3CAA7F313264F52008BB877 /* Build configuration list for PBXNativeTarget "qmltest device" */; - buildPhases = ( - D3CAA7E913264F52008BB877 /* Resources */, - D3CAA7EB13264F52008BB877 /* Sources */, - D3CAA7EF13264F52008BB877 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "qmltest device"; - productName = qmltest; - productReference = D3CAA7F613264F52008BB877 /* qmltest.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 29B97313FDCFA39411CA2CEA /* Project object */ = { - isa = PBXProject; - buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "qmltest" */; - compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 1D6058900D05DD3D006BFB54 /* qmltest simulator */, - D3CAA7E813264F52008BB877 /* qmltest device */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 1D60588D0D05DD3D006BFB54 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D3CAA88A132652E5008BB877 /* fonts in Resources */, - D3CAA89113265310008BB877 /* qml in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D3CAA7E913264F52008BB877 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D3CAA88B132652E5008BB877 /* fonts in Resources */, - D3CAA89213265310008BB877 /* qml in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 1D60588E0D05DD3D006BFB54 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D3CAA7C813264AAD008BB877 /* main.mm in Sources */, - D3CAA7E613264EA6008BB877 /* moc_qmlapplicationviewer.cpp in Sources */, - D3CAA7E713264EA6008BB877 /* qmlapplicationviewer.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D3CAA7EB13264F52008BB877 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D3CAA7EC13264F52008BB877 /* main.mm in Sources */, - D3CAA7ED13264F52008BB877 /* moc_qmlapplicationviewer.cpp in Sources */, - D3CAA7EE13264F52008BB877 /* qmlapplicationviewer.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 1D6058940D05DD3E006BFB54 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = qmltest_Prefix.pch; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-simulator/include\"/**"; - INFOPLIST_FILE = "qmltest-Info.plist"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-simulator/lib\"", - "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-simulator/plugins/platforms\"", - ); - PRODUCT_NAME = qmltest; - }; - name = Debug; - }; - 1D6058950D05DD3E006BFB54 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; - COPY_PHASE_STRIP = YES; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = qmltest_Prefix.pch; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-simulator/include\"/**"; - INFOPLIST_FILE = "qmltest-Info.plist"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-simulator/lib\"", - "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-simulator/plugins/platforms\"", - ); - PRODUCT_NAME = qmltest; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - C01FCF4F08A954540054247B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = iphoneos; - }; - name = Debug; - }; - C01FCF5008A954540054247B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; - PREBINDING = NO; - SDKROOT = iphoneos; - }; - name = Release; - }; - D3CAA7F413264F52008BB877 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = qmltest_Prefix.pch; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-device/include\"/**"; - INFOPLIST_FILE = "qmltest-Info.plist"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-device/lib\"", - "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-device/plugins/platforms\"", - ); - PRODUCT_NAME = qmltest; - }; - name = Debug; - }; - D3CAA7F513264F52008BB877 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; - COPY_PHASE_STRIP = YES; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = qmltest_Prefix.pch; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-device/include\"/**"; - INFOPLIST_FILE = "qmltest-Info.plist"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-device/lib\"", - "\"$(SRCROOT)/../../../../../../../qt-lighthouse-ios-device/plugins/platforms\"", - ); - PRODUCT_NAME = qmltest; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "qmltest simulator" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1D6058940D05DD3E006BFB54 /* Debug */, - 1D6058950D05DD3E006BFB54 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - C01FCF4E08A954540054247B /* Build configuration list for PBXProject "qmltest" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C01FCF4F08A954540054247B /* Debug */, - C01FCF5008A954540054247B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - D3CAA7F313264F52008BB877 /* Build configuration list for PBXNativeTarget "qmltest device" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D3CAA7F413264F52008BB877 /* Debug */, - D3CAA7F513264F52008BB877 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; -} diff --git a/src/plugins/platforms/uikit/examples/qmltest/qmltest_Prefix.pch b/src/plugins/platforms/uikit/examples/qmltest/qmltest_Prefix.pch deleted file mode 100644 index c06715c661..0000000000 --- a/src/plugins/platforms/uikit/examples/qmltest/qmltest_Prefix.pch +++ /dev/null @@ -1,8 +0,0 @@ -// -// Prefix header for all source files of the 'qmltest' target in the 'qmltest' project -// - -#ifdef __OBJC__ - #import - #import -#endif diff --git a/src/plugins/platforms/uikit/quikiteventloop.mm b/src/plugins/platforms/uikit/quikiteventloop.mm deleted file mode 100644 index 43df46705d..0000000000 --- a/src/plugins/platforms/uikit/quikiteventloop.mm +++ /dev/null @@ -1,174 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "quikiteventloop.h" -#include "quikitwindow.h" -#include "quikitwindowsurface.h" - -#include - -#include -#include -#include - -@interface QUIKitAppDelegate : NSObject { -} -@end - -@interface EventLoopHelper : NSObject { - QUIKitEventLoop *mIntegration; -} - -- (id)initWithEventLoopIntegration:(QUIKitEventLoop *)integration; - -- (void)processEvents; -- (void)processEventsAndSchedule; - -@end - -@implementation QUIKitAppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ - Q_UNUSED(launchOptions) - Q_UNUSED(application) - foreach (QWidget *widget, qApp->topLevelWidgets()) { - QUIKitWindow *platformWindow = static_cast(widget->platformWindow()); - platformWindow->ensureNativeWindow(); - } - return YES; -} - -- (void)applicationWillTerminate:(UIApplication *)application -{ - Q_UNUSED(application) - // TODO this isn't called for some reason - qDebug() << "quit"; - qApp->quit(); -} - -@end - -@implementation EventLoopHelper - -- (id)initWithEventLoopIntegration:(QUIKitEventLoop *)integration -{ - if ((self = [self init])) { - mIntegration = integration; - } - return self; -} - -- (void)processEvents -{ - QPlatformEventLoopIntegration::processEvents(); -} - -- (void)processEventsAndSchedule -{ - QPlatformEventLoopIntegration::processEvents(); - qint64 nextTime = mIntegration->nextTimerEvent(); - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - NSDate *nextDate = [[NSDate date] dateByAddingTimeInterval:((double)nextTime/1000)]; - [mIntegration->mTimer setFireDate:nextDate]; - [pool release]; -} - -@end - -QT_BEGIN_NAMESPACE - -QUIKitEventLoop::QUIKitEventLoop() -{ - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - mInputHandler = new QUIKitSoftwareInputHandler; - mHelper = [[EventLoopHelper alloc] initWithEventLoopIntegration:this]; - mTimer = [[NSTimer timerWithTimeInterval:0.030 target:mHelper selector:@selector(processEventsAndSchedule) userInfo:nil repeats:YES] retain]; - [pool release]; -} - -QUIKitEventLoop::~QUIKitEventLoop() -{ - [mTimer release]; - [mHelper release]; - delete mInputHandler; -} - -void QUIKitEventLoop::startEventLoop() -{ - qApp->installEventFilter(mInputHandler); - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - [[NSRunLoop currentRunLoop] addTimer:[mTimer autorelease] forMode:NSDefaultRunLoopMode]; - UIApplicationMain(qApp->argc(), qApp->argv(), nil, @"QUIKitAppDelegate"); - [pool release]; -} - -void QUIKitEventLoop::quitEventLoop() -{ - -} - -void QUIKitEventLoop::qtNeedsToProcessEvents() -{ - [mHelper performSelectorOnMainThread:@selector(processEvents) withObject:nil waitUntilDone:NO]; -} - -bool QUIKitSoftwareInputHandler::eventFilter(QObject *obj, QEvent *event) -{ - if (event->type() == QEvent::RequestSoftwareInputPanel) { - QWidget *widget = qobject_cast(obj); - if (widget) { - QUIKitWindow *platformWindow = static_cast(widget->platformWindow()); - [platformWindow->nativeView() becomeFirstResponder]; - return true; - } - } else if (event->type() == QEvent::CloseSoftwareInputPanel) { - QWidget *widget = qobject_cast(obj); - if (widget) { - QUIKitWindow *platformWindow = static_cast(widget->platformWindow()); - [platformWindow->nativeView() resignFirstResponder]; - return true; - } - } - return false; -} - -QT_END_NAMESPACE diff --git a/src/plugins/platforms/uikit/quikitintegration.mm b/src/plugins/platforms/uikit/quikitintegration.mm deleted file mode 100644 index 0c8579fc0f..0000000000 --- a/src/plugins/platforms/uikit/quikitintegration.mm +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "quikitintegration.h" -#include "quikitwindow.h" -#include "quikitwindowsurface.h" -#include "quikitscreen.h" -#include "quikiteventloop.h" - -#include - -#include - -#include - -#include - -QT_BEGIN_NAMESPACE - -QUIKitIntegration::QUIKitIntegration() -{ - mScreens << new QUIKitScreen(0); -} - -QUIKitIntegration::~QUIKitIntegration() -{ -} - -QPlatformPixmap *QUIKitIntegration::createPlatformPixmap(QPlatformPixmap::PixelType type) const -{ - return new QRasterPlatformPixmap(type); -} - -QPlatformWindow *QUIKitIntegration::createPlatformWindow(QWidget *widget, WId winId) const -{ - Q_UNUSED(winId); - return new QUIKitWindow(widget); -} - -QList QUIKitIntegration::screens() const -{ - return mScreens; -} - -QWindowSurface *QUIKitIntegration::createWindowSurface(QWidget *widget, WId winId) const -{ - Q_UNUSED(winId); - return new QUIKitWindowSurface(widget); -} - -QPlatformEventLoopIntegration *QUIKitIntegration::createEventLoopIntegration() const -{ - return new QUIKitEventLoop(); -} - -QPlatformFontDatabase * QUIKitIntegration::fontDatabase() const -{ - static bool initialized = false; - if (!initialized) { - initialized = true; - setenv("QT_QPA_FONTDIR",[[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"fonts"] UTF8String],1); - } - return QPlatformIntegration::fontDatabase(); -} - -QT_END_NAMESPACE diff --git a/src/plugins/platforms/uikit/quikitscreen.mm b/src/plugins/platforms/uikit/quikitscreen.mm deleted file mode 100644 index 9569f95052..0000000000 --- a/src/plugins/platforms/uikit/quikitscreen.mm +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "quikitscreen.h" - -#include - -#include - -QT_BEGIN_NAMESPACE - -QUIKitScreen::QUIKitScreen(int screenIndex) - : QPlatformScreen(), - m_index(screenIndex) -{ - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - UIScreen *screen = [[UIScreen screens] objectAtIndex:screenIndex]; - CGRect bounds = [screen bounds]; - m_geometry = QRect(bounds.origin.x, bounds.origin.y, bounds.size.width, bounds.size.height); - - m_format = QImage::Format_ARGB32; - - m_depth = 24; - - const qreal inch = 25.4; - qreal dpi = 160.; - int dragDistance = 12; - if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { - dpi = 132.; - dragDistance = 10; - } - m_physicalSize = QSizeF(bounds.size.width, bounds.size.height) * inch / dpi; - qApp->setStartDragDistance(dragDistance); - [pool release]; -} - -QUIKitScreen::~QUIKitScreen() -{ -} - -UIScreen *QUIKitScreen::uiScreen() const -{ - return [[UIScreen screens] objectAtIndex:m_index]; -} - -QT_END_NAMESPACE diff --git a/src/plugins/platforms/uikit/quikitwindow.h b/src/plugins/platforms/uikit/quikitwindow.h deleted file mode 100644 index 7fe599f0cd..0000000000 --- a/src/plugins/platforms/uikit/quikitwindow.h +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QUIKITWINDOW_H -#define QUIKITWINDOW_H - -#include - -#import -#import -#import -#import -#import -#import - -@interface EAGLView : UIView -{ - QPlatformWindow *mWindow; - EAGLContext *mContext; - - GLint mFramebufferWidth; - GLint mFramebufferHeight; - - GLuint mFramebuffer, mColorRenderbuffer, mDepthRenderbuffer; - - id delegate; - // ------- Text Input ---------- - UITextAutocapitalizationType autocapitalizationType; - UITextAutocorrectionType autocorrectionType; - BOOL enablesReturnKeyAutomatically; - UIKeyboardAppearance keyboardAppearance; - UIKeyboardType keyboardType; - UIReturnKeyType returnKeyType; - BOOL secureTextEntry; -} - -- (void)setContext:(EAGLContext *)newContext; -- (void)presentFramebuffer; -- (void)deleteFramebuffer; -- (void)createFramebuffer; -- (void)makeCurrent; -- (void)setWindow:(QPlatformWindow *)window; -- (void)sendMouseEventForTouches:(NSSet *)touches withEvent:(UIEvent *)event fakeButtons:(Qt::MouseButtons)buttons; - -@property (readonly,getter=fbo) GLint fbo; -@property (nonatomic, assign) id delegate; - -// ------- Text Input ---------- - -@property(nonatomic) UITextAutocapitalizationType autocapitalizationType; -@property(nonatomic) UITextAutocorrectionType autocorrectionType; -@property(nonatomic) BOOL enablesReturnKeyAutomatically; -@property(nonatomic) UIKeyboardAppearance keyboardAppearance; -@property(nonatomic) UIKeyboardType keyboardType; -@property(nonatomic) UIReturnKeyType returnKeyType; -@property(nonatomic, getter=isSecureTextEntry) BOOL secureTextEntry; - -@end - -@protocol EAGLViewDelegate -- (void)eaglView:(EAGLView *)view usesFramebuffer:(GLuint)buffer; -@end - -class EAGLPlatformContext; - -QT_BEGIN_NAMESPACE - -class QUIKitScreen; - -class QUIKitWindow : public QPlatformWindow -{ -public: - explicit QUIKitWindow(QWidget *tlw); - ~QUIKitWindow(); - - UIWindow *nativeWindow() const { return mWindow; } - EAGLView *nativeView() const { return mView; } - void setGeometry(const QRect &rect); - - UIWindow *ensureNativeWindow(); - - QPlatformOpenGLContext *glContext() const; - -private: - QUIKitScreen *mScreen; - UIWindow *mWindow; - EAGLView *mView; - mutable EAGLPlatformContext *mContext; -}; - -QT_END_NAMESPACE - -#endif // QUIKITWINDOW_H diff --git a/src/plugins/platforms/uikit/quikitwindow.mm b/src/plugins/platforms/uikit/quikitwindow.mm deleted file mode 100644 index fb6711009a..0000000000 --- a/src/plugins/platforms/uikit/quikitwindow.mm +++ /dev/null @@ -1,392 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#import - -#include "quikitwindow.h" - -#include "quikitscreen.h" - -#include -#include -#include -#include -#include - -#include - -class EAGLPlatformContext : public QPlatformOpenGLContext -{ -public: - EAGLPlatformContext(EAGLView *view) - : mView(view) - { - mFormat.setWindowApi(QPlatformWindowFormat::OpenGL); - mFormat.setDepthBufferSize(24); - mFormat.setAccumBufferSize(0); - mFormat.setRedBufferSize(8); - mFormat.setGreenBufferSize(8); - mFormat.setBlueBufferSize(8); - mFormat.setAlphaBufferSize(8); - mFormat.setStencilBufferSize(8); - mFormat.setSampleBuffers(false); - mFormat.setSamples(1); -// mFormat.setSwapInterval(?) - mFormat.setDoubleBuffer(true); - mFormat.setDepth(true); - mFormat.setRgba(true); - mFormat.setAlpha(true); - mFormat.setAccum(false); - mFormat.setStencil(true); - mFormat.setStereo(false); - mFormat.setDirectRendering(false); - -#if defined(QT_OPENGL_ES_2) - EAGLContext *aContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2]; -#else - EAGLContext *aContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1]; -#endif - [mView setContext:aContext]; - } - - ~EAGLPlatformContext() { } - - void makeCurrent() - { - QPlatformOpenGLContext::makeCurrent(); - [mView makeCurrent]; - } - - void doneCurrent() - { - QPlatformOpenGLContext::doneCurrent(); - } - - void swapBuffers() - { - [mView presentFramebuffer]; - } - - void* getProcAddress(const QString& ) { return 0; } - - QPlatformWindowFormat platformWindowFormat() const - { - return mFormat; - } - -private: - EAGLView *mView; - - QPlatformWindowFormat mFormat; -}; - -@implementation EAGLView - -@synthesize delegate; - -+ (Class)layerClass -{ - return [CAEAGLLayer class]; -} - -- (id)initWithFrame:(CGRect)frame -{ - if ((self = [super initWithFrame:frame])) { - CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer; - eaglLayer.opaque = TRUE; - eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys: - [NSNumber numberWithBool:YES], kEAGLDrawablePropertyRetainedBacking, - kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, - nil]; - autocapitalizationType = UITextAutocapitalizationTypeNone; - autocorrectionType = UITextAutocorrectionTypeNo; - enablesReturnKeyAutomatically = NO; - keyboardAppearance = UIKeyboardAppearanceDefault; - keyboardType = UIKeyboardTypeDefault; - returnKeyType = UIReturnKeyDone; - secureTextEntry = NO; - } - return self; -} - -- (void)setContext:(EAGLContext *)newContext -{ - if (mContext != newContext) - { - [self deleteFramebuffer]; - [mContext release]; - mContext = [newContext retain]; - [EAGLContext setCurrentContext:nil]; - } -} - -- (void)presentFramebuffer -{ - if (mContext) { - [EAGLContext setCurrentContext:mContext]; - glBindRenderbuffer(GL_RENDERBUFFER, mColorRenderbuffer); - [mContext presentRenderbuffer:GL_RENDERBUFFER]; - } -} - -- (void)deleteFramebuffer -{ - if (mContext) - { - [EAGLContext setCurrentContext:mContext]; - if (mFramebuffer) { - glDeleteFramebuffers(1, &mFramebuffer); - mFramebuffer = 0; - } - if (mColorRenderbuffer) { - glDeleteRenderbuffers(1, &mColorRenderbuffer); - mColorRenderbuffer = 0; - } - if (mDepthRenderbuffer) { - glDeleteRenderbuffers(1, &mDepthRenderbuffer); - mDepthRenderbuffer = 0; - } - } -} - -- (void)createFramebuffer -{ - if (mContext && !mFramebuffer) - { - [EAGLContext setCurrentContext:mContext]; - glGenFramebuffers(1, &mFramebuffer); - glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer); - - glGenRenderbuffers(1, &mColorRenderbuffer); - glBindRenderbuffer(GL_RENDERBUFFER, mColorRenderbuffer); - [mContext renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer *)self.layer]; - glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &mFramebufferWidth); - glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &mFramebufferHeight); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, mColorRenderbuffer); - - glGenRenderbuffers(1, &mDepthRenderbuffer); - glBindRenderbuffer(GL_RENDERBUFFER, mDepthRenderbuffer); - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8_OES, mFramebufferWidth, mFramebufferHeight); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, mDepthRenderbuffer); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, mDepthRenderbuffer); - - if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) - NSLog(@"Failed to make complete framebuffer object %x", glCheckFramebufferStatus(GL_FRAMEBUFFER)); - if (delegate && [delegate respondsToSelector:@selector(eaglView:usesFramebuffer:)]) { - [delegate eaglView:self usesFramebuffer:mFramebuffer]; - } - } -} - -- (void)makeCurrent -{ - if (mContext) - { - [EAGLContext setCurrentContext:mContext]; - if (!mFramebuffer) - [self createFramebuffer]; - glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer); - glViewport(0, 0, mFramebufferWidth, mFramebufferHeight); - } -} - -- (GLint)fbo -{ - return mFramebuffer; -} - -- (void)setWindow:(QPlatformWindow *)window -{ - mWindow = window; -} - -- (void)sendMouseEventForTouches:(NSSet *)touches withEvent:(UIEvent *)event fakeButtons:(Qt::MouseButtons)buttons -{ - UITouch *touch = [touches anyObject]; - CGPoint locationInView = [touch locationInView:self]; - QPoint p(locationInView.x, locationInView.y); - // TODO handle global touch point? for status bar? - QWindowSystemInterface::handleMouseEvent(mWindow->widget(), (ulong)(event.timestamp*1000), - p, p, buttons); -} - -- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event -{ - [self sendMouseEventForTouches:touches withEvent:event fakeButtons:Qt::LeftButton]; -} - -- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event -{ - [self sendMouseEventForTouches:touches withEvent:event fakeButtons:Qt::LeftButton]; -} - -- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event -{ - [self sendMouseEventForTouches:touches withEvent:event fakeButtons:Qt::NoButton]; -} - -- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event -{ - [self sendMouseEventForTouches:touches withEvent:event fakeButtons:Qt::NoButton]; -} - -// ------- Text Input ---------- - -@synthesize autocapitalizationType; -@synthesize autocorrectionType; -@synthesize enablesReturnKeyAutomatically; -@synthesize keyboardAppearance; -@synthesize keyboardType; -@synthesize returnKeyType; -@synthesize secureTextEntry; - -- (BOOL)canBecomeFirstResponder -{ - return YES; -} - -- (BOOL)hasText -{ - return YES; -} - -- (void)insertText:(NSString *)text -{ - QKeyEvent *ev; - int key = 0; - if ([text isEqualToString:@"\n"]) - key = (int)Qt::Key_Return; - ev = new QKeyEvent(QEvent::KeyPress, - key, - Qt::NoModifier, - QString::fromUtf8([text UTF8String]) - ); - qApp->postEvent(qApp->focusWidget(), ev); - ev = new QKeyEvent(QEvent::KeyRelease, - key, - Qt::NoModifier, - QString::fromUtf8([text UTF8String]) - ); - qApp->postEvent(qApp->focusWidget(), ev); -} - -- (void)deleteBackward -{ - QKeyEvent *ev; - ev = new QKeyEvent(QEvent::KeyPress, - (int)Qt::Key_Backspace, - Qt::NoModifier - ); - qApp->postEvent(qApp->focusWidget(), ev); - ev = new QKeyEvent(QEvent::KeyRelease, - (int)Qt::Key_Backspace, - Qt::NoModifier - ); - qApp->postEvent(qApp->focusWidget(), ev); -} - -@end - -QT_BEGIN_NAMESPACE - -QUIKitWindow::QUIKitWindow(QWidget *tlw) : - QPlatformWindow(tlw), - mWindow(nil), - mContext(0) -{ - mScreen = static_cast(QPlatformScreen::platformScreenForWidget(tlw)); - CGRect screenBounds = [mScreen->uiScreen() bounds]; - QRect geom(screenBounds.origin.x, screenBounds.origin.y, screenBounds.size.width, screenBounds.size.height); - setGeometry(geom); - mView = [[EAGLView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; - // TODO ensure the native window if the application is already running -} - -QUIKitWindow::~QUIKitWindow() -{ - delete mContext; mContext = 0; - [mView release]; - [mWindow release]; -} - -void QUIKitWindow::setGeometry(const QRect &rect) -{ - if (mWindow && rect != geometry()) { - mWindow.frame = CGRectMake(rect.x(), rect.y(), rect.width(), rect.height()); - mView.frame = CGRectMake(0, 0, rect.width(), rect.height()); - [mView deleteFramebuffer]; - [mWindow setNeedsDisplay]; - } - QPlatformWindow::setGeometry(rect); -} - -UIWindow *QUIKitWindow::ensureNativeWindow() -{ - if (!mWindow) { - // window - CGRect frame = [mScreen->uiScreen() applicationFrame]; - QRect geom = QRect(frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); - widget()->setGeometry(geom); - mWindow = [[UIWindow alloc] init]; - mWindow.screen = mScreen->uiScreen(); - mWindow.frame = frame; // for some reason setting the screen resets frame.origin, so we need to set the frame afterwards - - // view - [mView deleteFramebuffer]; - mView.frame = CGRectMake(0, 0, frame.size.width, frame.size.height); // fill - [mView setMultipleTouchEnabled:YES]; - [mView setWindow:this]; - [mWindow addSubview:mView]; - [mWindow setNeedsDisplay]; - [mWindow makeKeyAndVisible]; - } - return mWindow; -} - -QPlatformOpenGLContext *QUIKitWindow::glContext() const -{ - if (!mContext) { - mContext = new EAGLPlatformContext(mView); - } - return mContext; -} - -QT_END_NAMESPACE diff --git a/src/plugins/platforms/uikit/quikitwindowsurface.mm b/src/plugins/platforms/uikit/quikitwindowsurface.mm deleted file mode 100644 index b7455b3bbe..0000000000 --- a/src/plugins/platforms/uikit/quikitwindowsurface.mm +++ /dev/null @@ -1,133 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "quikitwindowsurface.h" -#include "quikitwindow.h" - -#include -#include - -#include - -class EAGLPaintDevice; - -@interface PaintDeviceHelper : NSObject { - EAGLPaintDevice *device; -} - -@property (nonatomic, assign) EAGLPaintDevice *device; - -- (void)eaglView:(EAGLView *)view usesFramebuffer:(GLuint)buffer; - -@end - -class EAGLPaintDevice : public QGLPaintDevice -{ -public: - EAGLPaintDevice(QPlatformWindow *window) - :QGLPaintDevice(), mWindow(window) - { -#if defined(QT_OPENGL_ES_2) - helper = [[PaintDeviceHelper alloc] init]; - helper.device = this; - EAGLView *view = static_cast(window)->nativeView(); - view.delegate = helper; - m_thisFBO = view.fbo; -#endif - } - - ~EAGLPaintDevice() - { -#if defined(QT_OPENGL_ES_2) - [helper release]; -#endif - } - - void setFramebuffer(GLuint buffer) { m_thisFBO = buffer; } - int devType() const { return QInternal::OpenGL; } - QSize size() const { return mWindow->geometry().size(); } - QGLContext* context() const { return QGLContext::fromPlatformGLContext(mWindow->glContext()); } - - QPaintEngine *paintEngine() const { return qt_qgl_paint_engine(); } - -private: - QPlatformWindow *mWindow; - PaintDeviceHelper *helper; -}; - -@implementation PaintDeviceHelper -@synthesize device; - -- (void)eaglView:(EAGLView *)view usesFramebuffer:(GLuint)buffer -{ - Q_UNUSED(view) - if (device) - device->setFramebuffer(buffer); -} - -@end - -QT_BEGIN_NAMESPACE - -QUIKitWindowSurface::QUIKitWindowSurface(QWidget *window) - : QWindowSurface(window), mPaintDevice(new EAGLPaintDevice(window->platformWindow())) -{ -} - -QPaintDevice *QUIKitWindowSurface::paintDevice() -{ - return mPaintDevice; -} - -void QUIKitWindowSurface::flush(QWidget *widget, const QRegion ®ion, const QPoint &offset) -{ - Q_UNUSED(widget); - Q_UNUSED(region); - Q_UNUSED(offset); - widget->platformWindow()->glContext()->swapBuffers(); -} - -QWindowSurface::WindowSurfaceFeatures QUIKitWindowSurface::features() const -{ - return PartialUpdates; -} - -QT_END_NAMESPACE diff --git a/src/plugins/platforms/uikit/uikit.pro b/src/plugins/platforms/uikit/uikit.pro deleted file mode 100644 index 5e3a0e6b7c..0000000000 --- a/src/plugins/platforms/uikit/uikit.pro +++ /dev/null @@ -1,27 +0,0 @@ -TARGET = quikit -load(qpa/plugin) -QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/platforms - -QT += opengl - -OBJECTIVE_SOURCES = main.mm \ - quikitintegration.mm \ - quikitwindow.mm \ - quikitscreen.mm \ - quikiteventloop.mm \ - quikitwindowsurface.mm - -OBJECTIVE_HEADERS = quikitintegration.h \ - quikitwindow.h \ - quikitscreen.h \ - quikiteventloop.h \ - quikitwindowsurface.h - -HEADERS = quikitsoftwareinputhandler.h - -#add libz for freetype. -LIBS += -lz - -#load(qpa/fontdatabases/basicunix) -target.path += $$[QT_INSTALL_PLUGINS]/platforms -INSTALLS += target diff --git a/src/plugins/platforms/vnc/qvnccursor.cpp b/src/plugins/platforms/vnc/qvnccursor.cpp deleted file mode 100644 index 52591bdc05..0000000000 --- a/src/plugins/platforms/vnc/qvnccursor.cpp +++ /dev/null @@ -1,156 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include -#include -#include -#include - -#include - -#include "qvnccursor.h" -#include "qvncserver.h" -#include "qvncintegration.h" - -QT_BEGIN_NAMESPACE - -QVNCCursor::QVNCCursor(QVNCServer * srvr, QVNCScreen *scr ) - :QPlatformSoftwareCursor(scr), useVncCursor(false), server(srvr) -{ -} - -void QVNCCursor::changeCursor(QCursor * widgetCursor, QWidget * widget) -{ - QPlatformSoftwareCursor::changeCursor(widgetCursor, widget); - if (useVncCursor) { - server->setDirtyCursor(); - } else { - setDirty(); - } -} - -void QVNCCursor::setCursorMode(bool vnc) -{ - if (vnc) { - setDirty(); - server->setDirtyCursor(); - } else { - server->setDirtyCursor(); - } - useVncCursor = vnc; -} - -QRect QVNCCursor::drawCursor(QPainter & painter) -{ - if (useVncCursor) - return QRect(); - - return QPlatformSoftwareCursor::drawCursor(painter); -} - -void QVNCCursor::clearClientCursor() -{ - QTcpSocket *socket = server->clientSocket(); - if (!socket) { - return; - } - // FramebufferUpdate header - { - const quint16 tmp[6] = { htons(0), - htons(1), - htons(0), htons(0), - htons(0), - htons(0) }; - socket->write((char*)tmp, sizeof(tmp)); - - const quint32 encoding = htonl(-239); - socket->write((char*)(&encoding), sizeof(encoding)); - } -} - -void QVNCCursor::sendClientCursor() -{ - if (useVncCursor == false) { - clearClientCursor(); - return; - } - QImage *image = graphic->image(); - if (image->isNull()) - return; - QTcpSocket *socket = server->clientSocket(); - if (!socket) { - return; - } - // FramebufferUpdate header - { - const quint16 tmp[6] = { htons(0), - htons(1), - htons(graphic->hotspot().x()), htons(graphic->hotspot().y()), - htons(image->width()), - htons(image->height()) }; - socket->write((char*)tmp, sizeof(tmp)); - - const quint32 encoding = htonl(-239); - socket->write((char*)(&encoding), sizeof(encoding)); - } - - // write pixels - //Q_ASSERT(cursor->hasAlphaChannel()); - const QImage img = image->convertToFormat(QImage::Format_RGB32); - const int n = server->clientBytesPerPixel() * img.width(); - char *buffer = new char[n]; - for (int i = 0; i < img.height(); ++i) { - server->convertPixels(buffer, (const char*)img.scanLine(i), img.width()); - socket->write(buffer, n); - } - delete[] buffer; - - // write mask - const QImage bitmap = image->createAlphaMask().convertToFormat(QImage::Format_Mono); - Q_ASSERT(bitmap.depth() == 1); - Q_ASSERT(bitmap.size() == img.size()); - const int width = (bitmap.width() + 7) / 8; - for (int i = 0; i < bitmap.height(); ++i) - socket->write((const char*)bitmap.scanLine(i), width); -} - -QT_END_NAMESPACE diff --git a/src/plugins/platforms/vnc/qvnccursor.h b/src/plugins/platforms/vnc/qvnccursor.h deleted file mode 100644 index 3428d71ac7..0000000000 --- a/src/plugins/platforms/vnc/qvnccursor.h +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#ifndef QVNCCURSOR_H -#define QVNCCURSOR_H - -#include "../fb_base/fb_base.h" -#include -#include -#include - -QT_BEGIN_NAMESPACE - -class QVNCScreen; -class QVNCServer; - -class QVNCCursor : public QPlatformSoftwareCursor { -public: - QVNCCursor(QVNCServer *, QVNCScreen *); - - // input methods - void setCursorMode(bool vnc); - void changeCursor(QCursor * widgetCursor, QWidget * widget); - - // output methods - QRect drawCursor(QPainter &); - - // VNC client communication - void sendClientCursor(); - void clearClientCursor(); -private: - bool useVncCursor; // VNC or local - - QVNCServer * server; // VNC server to get events from -}; - -QT_END_NAMESPACE - -#endif // QVNCCURSOR_H diff --git a/src/plugins/platforms/vnc/qvncintegration.cpp b/src/plugins/platforms/vnc/qvncintegration.cpp deleted file mode 100644 index 8b653f7208..0000000000 --- a/src/plugins/platforms/vnc/qvncintegration.cpp +++ /dev/null @@ -1,255 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qvncintegration.h" -#include "../fb_base/fb_base.h" -#include -#include -#include - -#include -#include - -#include -#include "qgenericunixfontdatabase.h" - -QVNCScreen::QVNCScreen(QRect screenSize, int screenId) - : QFbScreen::QFbScreen() -{ - setGeometry(screenSize); - setDepth(32); - setFormat(QImage::Format_RGB32); - setPhysicalSize((geometry().size()*254)/720); - - - d_ptr = new QVNCScreenPrivate(this, screenId); - - cursor = new QVNCCursor(d_ptr->vncServer, this); - d_ptr->vncServer->setCursor(static_cast(cursor)); -} - -QVNCDirtyMap *QVNCScreen::dirtyMap() -{ - return d_ptr->dirty; -} - -QRegion QVNCScreen::doRedraw() -{ - QRegion touched; - touched = QFbScreen::doRedraw(); - - QVector rects = touched.rects(); - for (int i = 0; i < rects.size(); i++) - d_ptr->setDirty(rects[i]); - return touched; -} - -static inline int defaultWidth() { return 800; } -static inline int defaultHeight() { return 600; } -static inline int defaultDisplay() { return 0; } - -static void usage() -{ - qWarning() << "VNC Platform Integration options:"; - qWarning() << " size=x - set the display width and height"; - qWarning() << " defaults to" << defaultWidth() << "x" << defaultHeight(); - qWarning() << " display= - set the VNC display port to ID + 5900"; - qWarning() << " defaults to" << defaultDisplay(); - qWarning() << " offset=x - set the current screens offset"; - qWarning() << " vnc - start configuration of a new screen"; - qWarning() << " size and offset are inherited from the previous screen if not set"; - qWarning() << " display id is incremented from the previous screen if not set"; - qWarning() << " virtual - manage the set of screens as a virtual desktop"; -} - -QVNCIntegration::QVNCIntegration(const QStringList& paramList) - : virtualDesktop(false), fontDb(new QGenericUnixFontDatabase()) -{ - int sizeX = defaultWidth(); - int sizeY = defaultHeight(); - int offsetX = 0; - int offsetY = 0; - int display = defaultDisplay(); - bool showUsage = false; - - foreach(QString confString, paramList) { - if (confString.startsWith(QLatin1String("size="))) { - QString val = confString.section(QLatin1Char('='), 1, 1); - sizeX = val.section(QLatin1Char('x'), 0, 0).toInt(); - sizeY = val.section(QLatin1Char('x'), 1, 1).toInt(); - } - else if (confString.startsWith(QLatin1String("display="))) { - display = confString.section(QLatin1Char('='), 1, 1).toInt(); - } - else if (confString.startsWith(QLatin1String("offset="))) { - QString val = confString.section(QLatin1Char('='), 1, 1); - offsetX = val.section(QLatin1Char('x'), 0, 0).toInt(); - offsetY = val.section(QLatin1Char('x'), 1, 1).toInt(); - } - else if (confString == QLatin1String("vnc")) { - QRect screenRect(offsetX, offsetY, sizeX, sizeY); - QVNCScreen *screen = new QVNCScreen(screenRect, display); - mScreens.append(screen); - screen->setObjectName(QString("screen %1").arg(display)); - screen->setDirty(screenRect); - ++display; - } - else if (confString == QLatin1String("virtual")) { - virtualDesktop = true; - } - else { - qWarning() << "Unknown VNC option:" << confString; - showUsage = true; - } - } - - if (showUsage) - usage(); - - QRect screenRect(offsetX, offsetY, sizeX, sizeY); - QVNCScreen *screen = new QVNCScreen(screenRect, display); - mScreens.append(screen); - mPrimaryScreen = qobject_cast(mScreens.first()); - screen->setObjectName(QString("screen %1").arg(display)); - screen->setDirty(screenRect); -} - -bool QVNCIntegration::hasCapability(QPlatformIntegration::Capability cap) const -{ - switch (cap) { - case ThreadedPixmaps: return true; - default: return QPlatformIntegration::hasCapability(cap); - } -} - - -QPlatformPixmap *QVNCIntegration::createPlatformPixmap(QPlatformPixmap::PixelType type) const -{ - return new QRasterPlatformPixmap(type); -} - -QWindowSurface *QVNCIntegration::createWindowSurface(QWidget *widget, WId) const -{ - QFbWindowSurface * surface; - surface = new QFbWindowSurface(mPrimaryScreen, widget); - return surface; -} - -QAbstractEventDispatcher *QVFbIntegration::createEventDispatcher() const -{ - return createUnixEventDispatcher(); -} - -QPlatformWindow *QVNCIntegration::createPlatformWindow(QWidget *widget, WId /*winId*/) const -{ - QFbWindow *w = new QFbWindow(widget); - if (virtualDesktop) { - QList::const_iterator i = mScreens.constBegin(); - QList::const_iterator end = mScreens.constEnd(); - QFbScreen *screen; - while (i != end) { - screen = static_cast(*i); - screen->addWindow(w); - ++i; - } - } - else - mPrimaryScreen->addWindow(w); - return w; -} - -QPixmap QVNCIntegration::grabWindow(WId window, int x, int y, int width, int height) const -{ -// qDebug() << "QVNCIntegration::grabWindow" << window << x << y << width << height; - - if (window == 0) { //desktop - QImage *desktopImage = mPrimaryScreen->image(); - if (x==0 && y == 0 && width < 0 && height < 0) { - return QPixmap::fromImage(*desktopImage); - } - if (width < 0) - width = desktopImage->width() - x; - if (height < 0) - height = desktopImage->height() - y; - int bytesPerPixel = desktopImage->depth()/8; //We don't support 1, 2, or 4 bpp - QImage img(desktopImage->scanLine(y) + bytesPerPixel*x, width, height, desktopImage->bytesPerLine(), desktopImage->format()); - return QPixmap::fromImage(img); - } - QWidget *win = QWidget::find(window); - if (win) { - QRect r = win->geometry(); - if (width < 0) - width = r.width() - x; - if (height < 0) - height = r.height() - y; - QImage *desktopImage = mPrimaryScreen->image(); - int bytesPerPixel = desktopImage->depth()/8; //We don't support 1, 2, or 4 bpp - - QImage img(desktopImage->scanLine(r.top() + y) + bytesPerPixel*(r.left()+x), width, height, desktopImage->bytesPerLine(), desktopImage->format()); - return QPixmap::fromImage(img); - } - return QPixmap(); -} - - -void QVNCIntegration::moveToScreen(QWidget *window, int screen) -{ - if (virtualDesktop) { // all windows exist on all screens in virtual desktop mode - return; - } - if (screen < 0 || screen > mScreens.size()) - return; - QVNCScreen * newScreen = qobject_cast(mScreens.at(screen)); - for(int i = 0; i < mScreens.size(); i++) { - QVNCScreen *oldScreen = qobject_cast(mScreens.at(i)); - if (oldScreen->windowStack.contains(static_cast(window->platformWindow()))) { - oldScreen->removeWindow(static_cast(window->platformWindow())); - break; - } - } - window->platformWindow()->setGeometry(window->geometry()); // this should be unified elsewhere - newScreen->addWindow(static_cast(window->platformWindow())); -} - -QPlatformFontDatabase *QVNCIntegration::fontDatabase() const -{ - return fontDb; -} diff --git a/src/plugins/platforms/vnc/qvncintegration.h b/src/plugins/platforms/vnc/qvncintegration.h deleted file mode 100644 index a6baf0340e..0000000000 --- a/src/plugins/platforms/vnc/qvncintegration.h +++ /dev/null @@ -1,111 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QGRAPHICSSYSTEM_VNC_H -#define QGRAPHICSSYSTEM_VNC_H - -#include "qvnccursor.h" -#include "../fb_base/fb_base.h" -#include -#include "qgenericunixfontdatabase.h" - -QT_BEGIN_NAMESPACE - -class QVNCServer; -class QVNCDirtyMap; - -class QVNCScreenPrivate; - -class QVNCScreen : public QFbScreen -{ - Q_OBJECT -public: - QVNCScreen(QRect screenSize, int screenId); - - int linestep() const { return image() ? image()->bytesPerLine() : 0; } - uchar *base() const { return image() ? image()->bits() : 0; } - QVNCDirtyMap *dirtyMap(); - -public: - QVNCScreenPrivate *d_ptr; - -private: - QVNCServer *server; - QRegion doRedraw(); - friend class QVNCIntegration; -}; - -class QVNCIntegrationPrivate; -class QAbstractEventDispatcher; - -class QVNCIntegration : public QPlatformIntegration -{ -public: - QVNCIntegration(const QStringList& paramList); - - bool hasCapability(QPlatformIntegration::Capability cap) const; - QPlatformPixmap *createPlatformPixmap(QPlatformPixmap::PixelType type) const; - QPlatformWindow *createPlatformWindow(QWidget *widget, WId winId) const; - QWindowSurface *createWindowSurface(QWidget *widget, WId winId) const; - QAbstractEventDispatcher createEventDispatcher() const; - - QPixmap grabWindow(WId window, int x, int y, int width, int height) const; - - QList screens() const { return mScreens; } - - bool isVirtualDesktop() { return virtualDesktop; } - void moveToScreen(QWidget *window, int screen); - - QPlatformFontDatabase *fontDatabase() const; - -private: - QVNCScreen *mPrimaryScreen; - QList mScreens; - bool virtualDesktop; - QPlatformFontDatabase *fontDb; -}; - - - -QT_END_NAMESPACE - -#endif //QGRAPHICSSYSTEM_VNC_H - diff --git a/src/plugins/platforms/vnc/qvncserver.cpp b/src/plugins/platforms/vnc/qvncserver.cpp deleted file mode 100644 index db49025c41..0000000000 --- a/src/plugins/platforms/vnc/qvncserver.cpp +++ /dev/null @@ -1,1935 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qvncserver.h" - -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include - -#include - - -#define QT_QWS_VNC_DEBUG -#define QT_NO_QWS_CURSOR //### - - -QT_BEGIN_NAMESPACE - - - -//copied from qscreen_qws.h -#ifndef QT_QWS_DEPTH16_RGB -#define QT_QWS_DEPTH16_RGB 565 -#endif -static const int qt_rbits = (QT_QWS_DEPTH16_RGB/100); -static const int qt_gbits = (QT_QWS_DEPTH16_RGB/10%10); -static const int qt_bbits = (QT_QWS_DEPTH16_RGB%10); -static const int qt_red_shift = qt_bbits+qt_gbits-(8-qt_rbits); -static const int qt_green_shift = qt_bbits-(8-qt_gbits); -static const int qt_neg_blue_shift = 8-qt_bbits; -static const int qt_blue_mask = (1<> qt_red_shift | r >> qt_red_rounding_shift; - const int tg = g >> qt_green_shift | g >> qt_green_rounding_shift; - const int tb = b << qt_neg_blue_shift | b >> qt_blue_rounding_shift; - - return qRgb(tr,tg,tb); -} - - - -//=========================================================================== - -static const struct { - int keysym; - int keycode; -} keyMap[] = { - { 0xff08, Qt::Key_Backspace }, - { 0xff09, Qt::Key_Tab }, - { 0xff0d, Qt::Key_Return }, - { 0xff1b, Qt::Key_Escape }, - { 0xff63, Qt::Key_Insert }, - { 0xffff, Qt::Key_Delete }, - { 0xff50, Qt::Key_Home }, - { 0xff57, Qt::Key_End }, - { 0xff55, Qt::Key_PageUp }, - { 0xff56, Qt::Key_PageDown }, - { 0xff51, Qt::Key_Left }, - { 0xff52, Qt::Key_Up }, - { 0xff53, Qt::Key_Right }, - { 0xff54, Qt::Key_Down }, - { 0xffbe, Qt::Key_F1 }, - { 0xffbf, Qt::Key_F2 }, - { 0xffc0, Qt::Key_F3 }, - { 0xffc1, Qt::Key_F4 }, - { 0xffc2, Qt::Key_F5 }, - { 0xffc3, Qt::Key_F6 }, - { 0xffc4, Qt::Key_F7 }, - { 0xffc5, Qt::Key_F8 }, - { 0xffc6, Qt::Key_F9 }, - { 0xffc7, Qt::Key_F10 }, - { 0xffc8, Qt::Key_F11 }, - { 0xffc9, Qt::Key_F12 }, - { 0xffe1, Qt::Key_Shift }, - { 0xffe2, Qt::Key_Shift }, - { 0xffe3, Qt::Key_Control }, - { 0xffe4, Qt::Key_Control }, - { 0xffe7, Qt::Key_Meta }, - { 0xffe8, Qt::Key_Meta }, - { 0xffe9, Qt::Key_Alt }, - { 0xffea, Qt::Key_Alt }, - { 0, 0 } -}; - -void QRfbRect::read(QTcpSocket *s) -{ - quint16 buf[4]; - s->read((char*)buf, 8); - x = ntohs(buf[0]); - y = ntohs(buf[1]); - w = ntohs(buf[2]); - h = ntohs(buf[3]); -} - -void QRfbRect::write(QTcpSocket *s) const -{ - quint16 buf[4]; - buf[0] = htons(x); - buf[1] = htons(y); - buf[2] = htons(w); - buf[3] = htons(h); - s->write((char*)buf, 8); -} - -void QRfbPixelFormat::read(QTcpSocket *s) -{ - char buf[16]; - s->read(buf, 16); - bitsPerPixel = buf[0]; - depth = buf[1]; - bigEndian = buf[2]; - trueColor = buf[3]; - - quint16 a = ntohs(*(quint16 *)(buf + 4)); - redBits = 0; - while (a) { a >>= 1; redBits++; } - - a = ntohs(*(quint16 *)(buf + 6)); - greenBits = 0; - while (a) { a >>= 1; greenBits++; } - - a = ntohs(*(quint16 *)(buf + 8)); - blueBits = 0; - while (a) { a >>= 1; blueBits++; } - - redShift = buf[10]; - greenShift = buf[11]; - blueShift = buf[12]; -} - -void QRfbPixelFormat::write(QTcpSocket *s) -{ - char buf[16]; - buf[0] = bitsPerPixel; - buf[1] = depth; - buf[2] = bigEndian; - buf[3] = trueColor; - - quint16 a = 0; - for (int i = 0; i < redBits; i++) a = (a << 1) | 1; - *(quint16 *)(buf + 4) = htons(a); - - a = 0; - for (int i = 0; i < greenBits; i++) a = (a << 1) | 1; - *(quint16 *)(buf + 6) = htons(a); - - a = 0; - for (int i = 0; i < blueBits; i++) a = (a << 1) | 1; - *(quint16 *)(buf + 8) = htons(a); - - buf[10] = redShift; - buf[11] = greenShift; - buf[12] = blueShift; - s->write(buf, 16); -} - - -void QRfbServerInit::setName(const char *n) -{ - delete[] name; - name = new char [strlen(n) + 1]; - strcpy(name, n); -} - -void QRfbServerInit::read(QTcpSocket *s) -{ - s->read((char *)&width, 2); - width = ntohs(width); - s->read((char *)&height, 2); - height = ntohs(height); - format.read(s); - - quint32 len; - s->read((char *)&len, 4); - len = ntohl(len); - - name = new char [len + 1]; - s->read(name, len); - name[len] = '\0'; -} - -void QRfbServerInit::write(QTcpSocket *s) -{ - quint16 t = htons(width); - s->write((char *)&t, 2); - t = htons(height); - s->write((char *)&t, 2); - format.write(s); - quint32 len = strlen(name); - len = htonl(len); - s->write((char *)&len, 4); - s->write(name, strlen(name)); -} - -bool QRfbSetEncodings::read(QTcpSocket *s) -{ - if (s->bytesAvailable() < 3) - return false; - - char tmp; - s->read(&tmp, 1); // padding - s->read((char *)&count, 2); - count = ntohs(count); - - return true; -} - -bool QRfbFrameBufferUpdateRequest::read(QTcpSocket *s) -{ - if (s->bytesAvailable() < 9) - return false; - - s->read(&incremental, 1); - rect.read(s); - - return true; -} - -bool QRfbKeyEvent::read(QTcpSocket *s) -{ - if (s->bytesAvailable() < 7) - return false; - - s->read(&down, 1); - quint16 tmp; - s->read((char *)&tmp, 2); // padding - - quint32 key; - s->read((char *)&key, 4); - key = ntohl(key); - - unicode = 0; - keycode = 0; - int i = 0; - while (keyMap[i].keysym && !keycode) { - if (keyMap[i].keysym == (int)key) - keycode = keyMap[i].keycode; - i++; - } - if (!keycode) { - if (key <= 0xff) { - unicode = key; - if (key >= 'a' && key <= 'z') - keycode = Qt::Key_A + key - 'a'; - else if (key >= ' ' && key <= '~') - keycode = Qt::Key_Space + key - ' '; - } - } - - return true; -} - -bool QRfbPointerEvent::read(QTcpSocket *s) -{ - if (s->bytesAvailable() < 5) - return false; - - char buttonMask; - s->read(&buttonMask, 1); - - buttons = Qt::NoButton; - wheelDirection = WheelNone; - if (buttonMask & 1) - buttons |= Qt::LeftButton; - if (buttonMask & 2) - buttons |= Qt::MidButton; - if (buttonMask & 4) - buttons |= Qt::RightButton; - if (buttonMask & 8) - wheelDirection = WheelUp; - if (buttonMask & 16) - wheelDirection = WheelDown; - if (buttonMask & 32) - wheelDirection = WheelLeft; - if (buttonMask & 64) - wheelDirection = WheelRight; - - quint16 tmp; - s->read((char *)&tmp, 2); - x = ntohs(tmp); - s->read((char *)&tmp, 2); - y = ntohs(tmp); - - return true; -} - -bool QRfbClientCutText::read(QTcpSocket *s) -{ - if (s->bytesAvailable() < 7) - return false; - - char tmp[3]; - s->read(tmp, 3); // padding - s->read((char *)&length, 4); - length = ntohl(length); - - return true; -} - -//=========================================================================== - -QVNCServer::QVNCServer(QVNCScreen *screen) - : qvnc_screen(screen), cursor(0) -{ - init(5900); -} - -QVNCServer::QVNCServer(QVNCScreen *screen, int id) - : qvnc_screen(screen), cursor(0) -{ - init(5900 + id); -} - -void QVNCServer::init(uint port) -{ - qDebug() << "QVNCServer::init" << port; - - handleMsg = false; - client = 0; - encodingsPending = 0; - cutTextPending = 0; - keymod = 0; - state = Unconnected; - dirtyCursor = false; - - refreshRate = 25; - timer = new QTimer(this); - timer->setSingleShot(true); - connect(timer, SIGNAL(timeout()), this, SLOT(checkUpdate())); - - serverSocket = new QTcpServer(this); - if (!serverSocket->listen(QHostAddress::Any, port)) - qDebug() << "QVNCServer could not connect:" << serverSocket->errorString(); - else - qDebug("QVNCServer created on port %d", port); - - connect(serverSocket, SIGNAL(newConnection()), this, SLOT(newConnection())); - -#ifndef QT_NO_QWS_CURSOR - qvnc_cursor = 0; -#endif - encoder = 0; -} - -QVNCServer::~QVNCServer() -{ - delete encoder; - encoder = 0; - delete client; - client = 0; -#ifndef QT_NO_QWS_CURSOR - delete qvnc_cursor; - qvnc_cursor = 0; -#endif -} - -void QVNCServer::setDirty() -{ - if (state == Connected && !timer->isActive() && - ((dirtyMap()->numDirty > 0) || dirtyCursor)) { - timer->start(); - } -} - -void QVNCServer::newConnection() -{ - if (client) - delete client; - - client = serverSocket->nextPendingConnection(); - connect(client,SIGNAL(readyRead()),this,SLOT(readClient())); - connect(client,SIGNAL(disconnected()),this,SLOT(discardClient())); - handleMsg = false; - encodingsPending = 0; - cutTextPending = 0; - supportHextile = false; - wantUpdate = false; - - timer->start(1000 / refreshRate); - dirtyMap()->reset(); - - // send protocol version - const char *proto = "RFB 003.003\n"; - client->write(proto, 12); - state = Protocol; - -// if (!qvnc_screen->screen()) -// QWSServer::instance()->enablePainting(true); -} - -void QVNCServer::readClient() -{ - switch (state) { - case Protocol: - if (client->bytesAvailable() >= 12) { - char proto[13]; - client->read(proto, 12); - proto[12] = '\0'; - qDebug("Client protocol version %s", proto); - // No authentication - quint32 auth = htonl(1); - client->write((char *) &auth, sizeof(auth)); - state = Init; - } - break; - - case Init: - if (client->bytesAvailable() >= 1) { - quint8 shared; - client->read((char *) &shared, 1); - - // Server Init msg - QRfbServerInit sim; - QRfbPixelFormat &format = sim.format; - switch (qvnc_screen->depth()) { - case 32: - format.bitsPerPixel = 32; - format.depth = 32; - format.bigEndian = 0; - format.trueColor = true; - format.redBits = 8; - format.greenBits = 8; - format.blueBits = 8; - format.redShift = 16; - format.greenShift = 8; - format.blueShift = 0; - break; - - case 24: - format.bitsPerPixel = 24; - format.depth = 24; - format.bigEndian = 0; - format.trueColor = true; - format.redBits = 8; - format.greenBits = 8; - format.blueBits = 8; - format.redShift = 16; - format.greenShift = 8; - format.blueShift = 0; - break; - - case 18: - format.bitsPerPixel = 24; - format.depth = 18; - format.bigEndian = 0; - format.trueColor = true; - format.redBits = 6; - format.greenBits = 6; - format.blueBits = 6; - format.redShift = 12; - format.greenShift = 6; - format.blueShift = 0; - break; - - case 16: - format.bitsPerPixel = 16; - format.depth = 16; - format.bigEndian = 0; - format.trueColor = true; - format.redBits = 5; - format.greenBits = 6; - format.blueBits = 5; - format.redShift = 11; - format.greenShift = 5; - format.blueShift = 0; - break; - - case 15: - format.bitsPerPixel = 16; - format.depth = 15; - format.bigEndian = 0; - format.trueColor = true; - format.redBits = 5; - format.greenBits = 5; - format.blueBits = 5; - format.redShift = 10; - format.greenShift = 5; - format.blueShift = 0; - break; - - case 12: - format.bitsPerPixel = 16; - format.depth = 12; - format.bigEndian = 0; - format.trueColor = true; - format.redBits = 4; - format.greenBits = 4; - format.blueBits = 4; - format.redShift = 8; - format.greenShift = 4; - format.blueShift = 0; - break; - - case 8: - case 4: - format.bitsPerPixel = 8; - format.depth = 8; - format.bigEndian = 0; - format.trueColor = false; - format.redBits = 0; - format.greenBits = 0; - format.blueBits = 0; - format.redShift = 0; - format.greenShift = 0; - format.blueShift = 0; - break; - - default: - qDebug("QVNC cannot drive depth %d", qvnc_screen->depth()); - discardClient(); - return; - } - sim.width = qvnc_screen->geometry().width(); - sim.height = qvnc_screen->geometry().height(); - sim.setName("Qt for Embedded Linux VNC Server"); - sim.write(client); - state = Connected; - } - break; - - case Connected: - do { - if (!handleMsg) { - client->read((char *)&msgType, 1); - handleMsg = true; - } - if (handleMsg) { - switch (msgType ) { - case SetPixelFormat: - setPixelFormat(); - break; - case FixColourMapEntries: - qDebug("Not supported: FixColourMapEntries"); - handleMsg = false; - break; - case SetEncodings: - setEncodings(); - break; - case FramebufferUpdateRequest: - frameBufferUpdateRequest(); - break; - case KeyEvent: - keyEvent(); - break; - case PointerEvent: - pointerEvent(); - break; - case ClientCutText: - clientCutText(); - break; - default: - qDebug("Unknown message type: %d", (int)msgType); - handleMsg = false; - } - } - } while (!handleMsg && client->bytesAvailable()); - break; - default: - break; - } -} - -#if 0//Q_BYTE_ORDER == Q_BIG_ENDIAN -bool QVNCScreen::swapBytes() const -{ - if (depth() != 16) - return false; - - if (screen()) - return screen()->frameBufferLittleEndian(); - return frameBufferLittleEndian(); -} -#endif - -void QVNCServer::setPixelFormat() -{ - if (client->bytesAvailable() >= 19) { - char buf[3]; - client->read(buf, 3); // just padding - pixelFormat.read(client); -#ifdef QT_QWS_VNC_DEBUG - qDebug("Want format: %d %d %d %d %d %d %d %d %d %d", - int(pixelFormat.bitsPerPixel), - int(pixelFormat.depth), - int(pixelFormat.bigEndian), - int(pixelFormat.trueColor), - int(pixelFormat.redBits), - int(pixelFormat.greenBits), - int(pixelFormat.blueBits), - int(pixelFormat.redShift), - int(pixelFormat.greenShift), - int(pixelFormat.blueShift)); -#endif - if (!pixelFormat.trueColor) { - qDebug("Can only handle true color clients"); - discardClient(); - } - handleMsg = false; - sameEndian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) == !!pixelFormat.bigEndian; - needConversion = pixelConversionNeeded(); -#if Q_BYTE_ORDER == Q_BIG_ENDIAN - swapBytes = qvnc_screen->swapBytes(); -#endif - } -} - -void QVNCServer::setEncodings() -{ - QRfbSetEncodings enc; - - if (!encodingsPending && enc.read(client)) { - encodingsPending = enc.count; - if (!encodingsPending) - handleMsg = false; - } - - if (encoder) { - delete encoder; - encoder = 0; - } - - enum Encodings { - Raw = 0, - CopyRect = 1, - RRE = 2, - CoRRE = 4, - Hextile = 5, - ZRLE = 16, - Cursor = -239, - DesktopSize = -223 - }; - - supportCursor = false; - - if (encodingsPending && (unsigned)client->bytesAvailable() >= - encodingsPending * sizeof(quint32)) { - for (int i = 0; i < encodingsPending; ++i) { - qint32 enc; - client->read((char *)&enc, sizeof(qint32)); - enc = ntohl(enc); -#ifdef QT_QWS_VNC_DEBUG - qDebug("QVNCServer::setEncodings: %d", enc); -#endif - switch (enc) { - case Raw: - if (!encoder) { - encoder = new QRfbRawEncoder(this); -#ifdef QT_QWS_VNC_DEBUG - qDebug("QVNCServer::setEncodings: using raw"); -#endif - } - break; - case CopyRect: - supportCopyRect = true; - break; - case RRE: - supportRRE = true; - break; - case CoRRE: - supportCoRRE = true; - break; - case Hextile: - supportHextile = true; - if (encoder) - break; - switch (qvnc_screen->depth()) { -#ifdef QT_QWS_DEPTH_8 - case 8: - encoder = new QRfbHextileEncoder(this); - break; -#endif -#ifdef QT_QWS_DEPTH_12 - case 12: - encoder = new QRfbHextileEncoder(this); - break; -#endif -#ifdef QT_QWS_DEPTH_15 - case 15: - encoder = new QRfbHextileEncoder(this); - break; -#endif -#ifdef QT_QWS_DEPTH_16 - case 16: - encoder = new QRfbHextileEncoder(this); - break; -#endif -#ifdef QT_QWS_DEPTH_18 - case 18: - encoder = new QRfbHextileEncoder(this); - break; -#endif -#ifdef QT_QWS_DEPTH_24 - case 24: - encoder = new QRfbHextileEncoder(this); - break; -#endif -#ifdef QT_QWS_DEPTH_32 - case 32: - encoder = new QRfbHextileEncoder(this); - break; -#endif - default: - break; - } -#ifdef QT_QWS_VNC_DEBUG - qDebug("QVNCServer::setEncodings: using hextile"); -#endif - break; - case ZRLE: - supportZRLE = true; - break; - case Cursor: - supportCursor = true; -#ifndef QT_NO_QWS_CURSOR - if (!qvnc_screen->screen() || qt_screencursor->isAccelerated()) { - delete qvnc_cursor; - qvnc_cursor = new QVNCClientCursor(this); - } -#endif - break; - case DesktopSize: - supportDesktopSize = true; - break; - default: - break; - } - } - handleMsg = false; - encodingsPending = 0; - } - - if (!encoder) { - encoder = new QRfbRawEncoder(this); -#ifdef QT_QWS_VNC_DEBUG - qDebug("QVNCServer::setEncodings: fallback using raw"); -#endif - } - - if (cursor) - cursor->setCursorMode(supportCursor); -} - -void QVNCServer::frameBufferUpdateRequest() -{ - QRfbFrameBufferUpdateRequest ev; - - if (ev.read(client)) { - if (!ev.incremental) { - QRect r(ev.rect.x, ev.rect.y, ev.rect.w, ev.rect.h); -////### r.translate(qvnc_screen->offset()); - qvnc_screen->d_ptr->setDirty(r, true); - } - wantUpdate = true; - checkUpdate(); - handleMsg = false; - } -} - -static bool buttonChange(Qt::MouseButtons before, Qt::MouseButtons after, Qt::MouseButton *button, bool *isPress) -{ - if (before == after) - return false; - for (int b = Qt::LeftButton; b <= Qt::MidButton; b<<=1) { - if ((before & b) != (after & b)) { - *button = static_cast(b); - *isPress = (after & b); - return true; - } - } - return false; -} - -void QVNCServer::pointerEvent() -{ - QPoint screenOffset = this->screen()->geometry().topLeft(); - - QRfbPointerEvent ev; - if (ev.read(client)) { - QPoint eventPoint(ev.x, ev.y); - eventPoint += screenOffset; // local to global translation - - if (ev.wheelDirection == ev.WheelNone) { - QEvent::Type type = QEvent::MouseMove; - Qt::MouseButton button = Qt::NoButton; - bool isPress; - if (buttonChange(buttons, ev.buttons, &button, &isPress)) - type = isPress ? QEvent::MouseButtonPress : QEvent::MouseButtonRelease; - QWindowSystemInterface::handleMouseEvent(0, eventPoint, eventPoint, ev.buttons); - } else { - // No buttons or motion reported at the same time as wheel events - Qt::Orientation orientation; - if (ev.wheelDirection == ev.WheelLeft || ev.wheelDirection == ev.WheelRight) - orientation = Qt::Horizontal; - else - orientation = Qt::Vertical; - int delta = 120 * ((ev.wheelDirection == ev.WheelLeft || ev.wheelDirection == ev.WheelUp) ? 1 : -1); - QWindowSystemInterface::handleWheelEvent(0, eventPoint, eventPoint, delta, orientation); - } - handleMsg = false; - } -} - -void QVNCServer::keyEvent() -{ - QRfbKeyEvent ev; - - if (ev.read(client)) { - if (ev.keycode == Qt::Key_Shift) - keymod = ev.down ? keymod | Qt::ShiftModifier : - keymod & ~Qt::ShiftModifier; - else if (ev.keycode == Qt::Key_Control) - keymod = ev.down ? keymod | Qt::ControlModifier : - keymod & ~Qt::ControlModifier; - else if (ev.keycode == Qt::Key_Alt) - keymod = ev.down ? keymod | Qt::AltModifier : - keymod & ~Qt::AltModifier; - if (ev.unicode || ev.keycode) { -// qDebug() << "keyEvent" << hex << ev.unicode << ev.keycode << keymod << ev.down; - QEvent::Type type = ev.down ? QEvent::KeyPress : QEvent::KeyRelease; - QString str; - if (ev.unicode && ev.unicode != 0xffff) - str = QString(ev.unicode); - QWindowSystemInterface::handleKeyEvent(0, type, ev.keycode, keymod, str); - } - handleMsg = false; - } -} - -void QVNCServer::clientCutText() -{ - QRfbClientCutText ev; - - if (cutTextPending == 0 && ev.read(client)) { - cutTextPending = ev.length; - if (!cutTextPending) - handleMsg = false; - } - - if (cutTextPending && client->bytesAvailable() >= cutTextPending) { - char *text = new char [cutTextPending+1]; - client->read(text, cutTextPending); - delete [] text; - cutTextPending = 0; - handleMsg = false; - } -} - -// stride in bytes -template -bool QRfbSingleColorHextile::read(const uchar *data, - int width, int height, int stride) -{ - const int depth = encoder->server->screen()->depth(); - if (width % (depth / 8)) // hw: should rather fallback to simple loop - return false; - - static int alwaysFalse = qgetenv("QT_VNC_NOCHECKFILL").toInt(); - if (alwaysFalse) - return false; - - switch (depth) { - case 4: { - const quint8 *data8 = reinterpret_cast(data); - if ((data8[0] & 0xf) != (data8[0] >> 4)) - return false; - width /= 2; - } // fallthrough - case 8: { - const quint8 *data8 = reinterpret_cast(data); - if (data8[0] != data8[1]) - return false; - width /= 2; - } // fallthrough - case 12: - case 15: - case 16: { - const quint16 *data16 = reinterpret_cast(data); - if (data16[0] != data16[1]) - return false; - width /= 2; - } // fallthrough - case 18: - case 24: - case 32: { - const quint32 *data32 = reinterpret_cast(data); - const quint32 first = data32[0]; - const int linestep = (stride / sizeof(quint32)) - width; - for (int y = 0; y < height; ++y) { - for (int x = 0; x < width; ++x) { - if (*(data32++) != first) - return false; - } - data32 += linestep; - } - break; - } - default: - return false; - } - - SRC color = reinterpret_cast(data)[0]; - encoder->newBg |= (color != encoder->bg); - encoder->bg = color; - return true; -} - -template -void QRfbSingleColorHextile::write(QTcpSocket *socket) const -{ - if (true || encoder->newBg) { - const int bpp = encoder->server->clientBytesPerPixel(); - const int padding = 3; - QVarLengthArray buffer(padding + 1 + bpp); - buffer[padding] = 2; // BackgroundSpecified - encoder->server->convertPixels(buffer.data() + padding + 1, - reinterpret_cast(&encoder->bg), - 1); - socket->write(buffer.data() + padding, bpp + 1); -// encoder->newBg = false; - } else { - char subenc = 0; - socket->write(&subenc, 1); - } -} - -template -bool QRfbDualColorHextile::read(const uchar *data, - int width, int height, int stride) -{ - const SRC *ptr = reinterpret_cast(data); - const int linestep = (stride / sizeof(SRC)) - width; - - SRC c1; - SRC c2 = 0; - int n1 = 0; - int n2 = 0; - int x = 0; - int y = 0; - - c1 = *ptr; - - // find second color - while (y < height) { - while (x < width) { - if (*ptr == c1) { - ++n1; - } else { - c2 = *ptr; - goto found_second_color; - } - ++ptr; - ++x; - } - x = 0; - ptr += linestep; - ++y; - } - -found_second_color: - // finish counting - while (y < height) { - while (x < width) { - if (*ptr == c1) { - ++n1; - } else if (*ptr == c2) { - ++n2; - } else { - return false; - } - ++ptr; - ++x; - } - x = 0; - ptr += linestep; - ++y; - } - - if (n2 > n1) { - const quint32 tmpC = c1; - c1 = c2; - c2 = tmpC; - } - - encoder->newBg |= (c1 != encoder->bg); - encoder->newFg |= (c2 != encoder->fg); - - encoder->bg = c1; - encoder->fg = c2; - - // create map - bool inRect = false; - numRects = 0; - ptr = reinterpret_cast(data); - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - if (inRect && *ptr == encoder->bg) { - // rect finished - setWidth(x - lastx()); - next(); - inRect = false; - } else if (!inRect && *ptr == encoder->fg) { - // rect start - setX(x); - setY(y); - setHeight(1); - inRect = true; - } - ++ptr; - } - if (inRect) { - // finish rect - setWidth(width - lastx()); - next(); - inRect = false; - } - ptr += linestep; - } - - return true; -} - -template -void QRfbDualColorHextile::write(QTcpSocket *socket) const -{ - const int bpp = encoder->server->clientBytesPerPixel(); - const int padding = 3; - QVarLengthArray buffer(padding + 2 * bpp + sizeof(char) + sizeof(numRects)); - char &subenc = buffer[padding]; - int n = padding + sizeof(subenc); - - subenc = 0x8; // AnySubrects - - if (encoder->newBg) { - subenc |= 0x2; // Background - encoder->server->convertPixels(buffer.data() + n, (char*)&encoder->bg, 1); - n += bpp; -// encoder->newBg = false; - } - - if (encoder->newFg) { - subenc |= 0x4; // Foreground - encoder->server->convertPixels(buffer.data() + n, (char*)&encoder->fg, 1); - n += bpp; -// encoder->newFg = false; - } - buffer[n] = numRects; - n += sizeof(numRects); - - socket->write(buffer.data() + padding, n - padding); - socket->write((char*)rects, numRects * sizeof(Rect)); -} - -template -void QRfbDualColorHextile::next() -{ - for (int r = numRects - 1; r >= 0; --r) { - if (recty(r) == lasty()) - continue; - if (recty(r) < lasty() - 1) // only search previous scanline - break; - if (rectx(r) == lastx() && width(r) == width(numRects)) { - ++rects[r].wh; - return; - } - } - ++numRects; -} - -template -inline void QRfbMultiColorHextile::setColor(SRC color) -{ - encoder->server->convertPixels(reinterpret_cast(rect(numRects)), - (const char*)&color, 1); -} - -template -inline bool QRfbMultiColorHextile::beginRect() -{ - if ((rects.size() + bpp + 2) > maxRectsSize) - return false; - rects.resize(rects.size() + bpp + 2); - return true; -} - -template -inline void QRfbMultiColorHextile::endRect() -{ - setHeight(numRects, 1); - ++numRects; -} - -template -bool QRfbMultiColorHextile::read(const uchar *data, - int width, int height, int stride) -{ - const SRC *ptr = reinterpret_cast(data); - const int linestep = (stride / sizeof(SRC)) - width; - - bpp = encoder->server->clientBytesPerPixel(); - - if (encoder->newBg) - encoder->bg = ptr[0]; - - const SRC bg = encoder->bg; - SRC color = bg; - bool inRect = false; - - numRects = 0; - rects.clear(); - - for (int y = 0; y < height; ++y) { - for (int x = 0; x < width; ++x) { - if (inRect && *ptr != color) { // end rect - setWidth(numRects, x - rectx(numRects)); - endRect(); - inRect = false; - } - - if (!inRect && *ptr != bg) { // begin rect - if (!beginRect()) - return false; - inRect = true; - color = *ptr; - setColor(color); - setX(numRects, x); - setY(numRects, y); - } - ++ptr; - } - if (inRect) { // end rect - setWidth(numRects, width - rectx(numRects)); - endRect(); - inRect = false; - } - ptr += linestep; - } - - return true; -} - -template -void QRfbMultiColorHextile::write(QTcpSocket *socket) const -{ - const int padding = 3; - QVarLengthArray buffer(bpp + padding + sizeof(quint8) + sizeof(numRects)); - - quint8 &subenc = buffer[padding]; - int n = padding + sizeof(quint8); - - subenc = 8 | 16; // AnySubrects | SubrectsColoured - - if (encoder->newBg) { - subenc |= 0x2; // Background - encoder->server->convertPixels(reinterpret_cast(buffer.data() + n), - reinterpret_cast(&encoder->bg), - 1); - n += bpp; -// encoder->newBg = false; - } - - buffer[n] = numRects; - n += sizeof(numRects); - - socket->write(reinterpret_cast(buffer.data() + padding), - n - padding); - socket->write(reinterpret_cast(rects.constData()), - rects.size()); -} - -bool QVNCServer::pixelConversionNeeded() const -{ - if (!sameEndian) - return true; - -#if Q_BYTE_ORDER == Q_BIG_ENDIAN - if (qvnc_screen->swapBytes()) - return true; -#endif - - const int screendepth = qvnc_screen->depth(); - if (screendepth != pixelFormat.bitsPerPixel) - return true; - - switch (screendepth) { - case 32: - case 24: - return false; - case 18: - return (pixelFormat.redBits == 6 - && pixelFormat.greenBits == 6 - && pixelFormat.blueBits == 6); - case 16: - return (pixelFormat.redBits == 5 - && pixelFormat.greenBits == 6 - && pixelFormat.blueBits == 5); - case 15: - return (pixelFormat.redBits == 5 - && pixelFormat.greenBits == 5 - && pixelFormat.blueBits == 5); - case 12: - return (pixelFormat.redBits == 4 - && pixelFormat.greenBits == 4 - && pixelFormat.blueBits == 4); - } - return true; -} - -// count: number of pixels -void QVNCServer::convertPixels(char *dst, const char *src, int count) const -{ - const int screendepth = qvnc_screen->depth(); - const bool isBgr = false; //### qvnc_screen->pixelType() == QScreen::BGRPixel; - - // cutoffs -#if Q_BYTE_ORDER == Q_BIG_ENDIAN - if (!swapBytes) -#endif - if (sameEndian) { - if (screendepth == pixelFormat.bitsPerPixel) { // memcpy cutoffs - - switch (screendepth) { - case 32: - memcpy(dst, src, count * sizeof(quint32)); - return; - case 16: - if (pixelFormat.redBits == 5 - && pixelFormat.greenBits == 6 - && pixelFormat.blueBits == 5) - { - memcpy(dst, src, count * sizeof(quint16)); - return; - } - } - } else if (screendepth == 16 && pixelFormat.bitsPerPixel == 32) { -#if defined(__i386__) // Currently fails on ARM if dst is not 4 byte aligned - const quint32 *src32 = reinterpret_cast(src); - quint32 *dst32 = reinterpret_cast(dst); - int count32 = count * sizeof(quint16) / sizeof(quint32); - while (count32--) { - const quint32 s = *src32++; - quint32 result1; - quint32 result2; - - // red - result1 = ((s & 0xf8000000) | ((s & 0xe0000000) >> 5)) >> 8; - result2 = ((s & 0x0000f800) | ((s & 0x0000e000) >> 5)) << 8; - - // green - result1 |= ((s & 0x07e00000) | ((s & 0x06000000) >> 6)) >> 11; - result2 |= ((s & 0x000007e0) | ((s & 0x00000600) >> 6)) << 5; - - // blue - result1 |= ((s & 0x001f0000) | ((s & 0x001c0000) >> 5)) >> 13; - result2 |= ((s & 0x0000001f) | ((s & 0x0000001c) >> 5)) << 3; - - *dst32++ = result2; - *dst32++ = result1; - } - if (count & 0x1) { - const quint16 *src16 = reinterpret_cast(src); - *dst32 = qt_conv16ToRgb(src16[count - 1]); - } - return; -#endif - } - } - - const int bytesPerPixel = (pixelFormat.bitsPerPixel + 7) / 8; - -// nibble = 0; - - for (int i = 0; i < count; ++i) { - int r, g, b; - - switch (screendepth) { -#if 0 - case 4: { - if (!nibble) { - r = ((*src) & 0x0f) << 4; - } else { - r = (*src) & 0xf0; - src++; - } - nibble = !nibble; - g = b = r; - break; - } -#endif -#if 0 - case 8: { - QRgb rgb = qvnc_screen->clut()[int(*src)]; - r = qRed(rgb); - g = qGreen(rgb); - b = qBlue(rgb); - src++; - break; - } -#endif -#ifdef QT_QWS_DEPTH_12 - case 12: { - quint32 p = quint32(*reinterpret_cast(src)); - r = qRed(p); - g = qGreen(p); - b = qBlue(p); - src += sizeof(qrgb444); - break; - } -#endif -#ifdef QT_QWS_DEPTH_15 - case 15: { - quint32 p = quint32(*reinterpret_cast(src)); - r = qRed(p); - g = qGreen(p); - b = qBlue(p); - src += sizeof(qrgb555); - break; - } -#endif - case 16: { - quint16 p = *reinterpret_cast(src); -#if Q_BYTE_ORDER == Q_BIG_ENDIAN - if (swapBytes) - p = ((p & 0xff) << 8) | ((p & 0xff00) >> 8); -#endif - r = (p >> 11) & 0x1f; - g = (p >> 5) & 0x3f; - b = p & 0x1f; - r <<= 3; - g <<= 2; - b <<= 3; - src += sizeof(quint16); - break; - } -#ifdef QT_QWS_DEPTH_18 - case 18: { - quint32 p = quint32(*reinterpret_cast(src)); - r = qRed(p); - g = qGreen(p); - b = qBlue(p); - src += sizeof(qrgb666); - break; - } -#endif -#ifdef QT_QWS_DEPTH_24 - case 24: { - quint32 p = quint32(*reinterpret_cast(src)); - r = qRed(p); - g = qGreen(p); - b = qBlue(p); - src += sizeof(qrgb888); - break; - } -#endif - case 32: { - quint32 p = *reinterpret_cast(src); - r = (p >> 16) & 0xff; - g = (p >> 8) & 0xff; - b = p & 0xff; - src += sizeof(quint32); - break; - } - default: { - r = g = b = 0; - qDebug("QVNCServer: don't support %dbpp display", screendepth); - return; - } - } - -#if Q_BYTE_ORDER == Q_BIG_ENDIAN - if (swapBytes ^ isBgr) -#else - if (isBgr) -#endif - qSwap(r, b); - - r >>= (8 - pixelFormat.redBits); - g >>= (8 - pixelFormat.greenBits); - b >>= (8 - pixelFormat.blueBits); - - int pixel = (r << pixelFormat.redShift) | - (g << pixelFormat.greenShift) | - (b << pixelFormat.blueShift); - - if (sameEndian || pixelFormat.bitsPerPixel == 8) { - memcpy(dst, &pixel, bytesPerPixel); // XXX: do a simple for-loop instead? - dst += bytesPerPixel; - continue; - } - - - if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { - switch (pixelFormat.bitsPerPixel) { - case 16: - pixel = (((pixel & 0x0000ff00) << 8) | - ((pixel & 0x000000ff) << 24)); - break; - case 32: - pixel = (((pixel & 0xff000000) >> 24) | - ((pixel & 0x00ff0000) >> 8) | - ((pixel & 0x0000ff00) << 8) | - ((pixel & 0x000000ff) << 24)); - break; - default: - qDebug("Cannot handle %d bpp client", pixelFormat.bitsPerPixel); - } - } else { // QSysInfo::ByteOrder == QSysInfo::LittleEndian - switch (pixelFormat.bitsPerPixel) { - case 16: - pixel = (((pixel & 0xff000000) >> 8) | - ((pixel & 0x00ff0000) << 8)); - break; - case 32: - pixel = (((pixel & 0xff000000) >> 24) | - ((pixel & 0x00ff0000) >> 8) | - ((pixel & 0x0000ff00) << 8) | - ((pixel & 0x000000ff) << 24)); - break; - default: - qDebug("Cannot handle %d bpp client", - pixelFormat.bitsPerPixel); - break; - } - } - memcpy(dst, &pixel, bytesPerPixel); // XXX: simple for-loop instead? - dst += bytesPerPixel; - } -} - -#ifndef QT_NO_QWS_CURSOR -static void blendCursor(QImage &image, const QRect &imageRect) -{ - const QRect cursorRect = qt_screencursor->boundingRect(); - const QRect intersection = (cursorRect & imageRect); - const QRect destRect = intersection.translated(-imageRect.topLeft()); - const QRect srcRect = intersection.translated(-cursorRect.topLeft()); - - QPainter painter(&image); - painter.drawImage(destRect, qt_screencursor->image(), srcRect); - painter.end(); -} -#endif // QT_NO_QWS_CURSOR - -QVNCDirtyMap::QVNCDirtyMap(QVNCScreen *s) - : bytesPerPixel(0), numDirty(0), screen(s) -{ - bytesPerPixel = (screen->depth() + 7) / 8; - QSize screenSize = screen->geometry().size(); - bufferWidth = screenSize.width(); - bufferHeight = screenSize.height(); - bufferStride = bufferWidth * bytesPerPixel; - buffer = new uchar[bufferHeight * bufferStride]; - - mapWidth = (bufferWidth + MAP_TILE_SIZE - 1) / MAP_TILE_SIZE; - mapHeight = (bufferHeight + MAP_TILE_SIZE - 1) / MAP_TILE_SIZE; - numTiles = mapWidth * mapHeight; - map = new uchar[numTiles]; -} - -QVNCDirtyMap::~QVNCDirtyMap() -{ - delete[] map; - delete[] buffer; -} - -void QVNCDirtyMap::reset() -{ - memset(map, 1, numTiles); - memset(buffer, 0, bufferHeight * bufferStride); - numDirty = numTiles; -} - -inline bool QVNCDirtyMap::dirty(int x, int y) const -{ - return map[y * mapWidth + x]; -} - -inline void QVNCDirtyMap::setClean(int x, int y) -{ - map[y * mapWidth + x] = 0; - --numDirty; -} - -template -void QVNCDirtyMapOptimized::setDirty(int tileX, int tileY, bool force) -{ - static bool alwaysForce = qgetenv("QT_VNC_NO_COMPAREBUFFER").toInt(); - if (alwaysForce) - force = true; - - bool changed = false; - - if (!force) { - const int lstep = screen->linestep(); - const int startX = tileX * MAP_TILE_SIZE; - const int startY = tileY * MAP_TILE_SIZE; - const uchar *scrn = screen->base() - + startY * lstep + startX * bytesPerPixel; - uchar *old = buffer + startY * bufferStride + startX * sizeof(T); - - const int tileHeight = (startY + MAP_TILE_SIZE > bufferHeight ? - bufferHeight - startY : MAP_TILE_SIZE); - const int tileWidth = (startX + MAP_TILE_SIZE > bufferWidth ? - bufferWidth - startX : MAP_TILE_SIZE); - const bool doInlines = (tileWidth == MAP_TILE_SIZE); - - int y = tileHeight; - - if (doInlines) { // hw: memcmp/memcpy is inlined when using constants - while (y) { - if (memcmp(old, scrn, sizeof(T) * MAP_TILE_SIZE)) { - changed = true; - break; - } - scrn += lstep; - old += bufferStride; - --y; - } - - while (y) { - memcpy(old, scrn, sizeof(T) * MAP_TILE_SIZE); - scrn += lstep; - old += bufferStride; - --y; - } - } else { - while (y) { - if (memcmp(old, scrn, sizeof(T) * tileWidth)) { - changed = true; - break; - } - scrn += lstep; - old += bufferStride; - --y; - } - - while (y) { - memcpy(old, scrn, sizeof(T) * tileWidth); - scrn += lstep; - old += bufferStride; - --y; - } - } - } - - const int mapIndex = tileY * mapWidth + tileX; - if ((force || changed) && !map[mapIndex]) { - map[mapIndex] = 1; - ++numDirty; - } -} - -template -QRfbHextileEncoder::QRfbHextileEncoder(QVNCServer *s) - : QRfbEncoder(s), - singleColorHextile(this), dualColorHextile(this), multiColorHextile(this) -{ -} - -/* - \internal - Send dirty rects using hextile encoding. -*/ -template -void QRfbHextileEncoder::write() -{ -// QWSDisplay::grab(true); - - QVNCDirtyMap *map = server->dirtyMap(); - QTcpSocket *socket = server->clientSocket(); - - const quint32 encoding = htonl(5); // hextile encoding - const int bytesPerPixel = server->clientBytesPerPixel(); - - { - const char tmp[2] = { 0, 0 }; // msg type, padding - socket->write(tmp, sizeof(tmp)); - } - { - const quint16 count = htons(map->numDirty); - socket->write((char *)&count, sizeof(count)); - } - - if (map->numDirty <= 0) { -// QWSDisplay::ungrab(); - return; - } - - newBg = true; - newFg = true; - - const QImage screenImage = server->screenImage(); - QRfbRect rect(0, 0, MAP_TILE_SIZE, MAP_TILE_SIZE); - - QSize screenSize = server->screen()->geometry().size(); - - for (int y = 0; y < map->mapHeight; ++y) { - if (rect.y + MAP_TILE_SIZE > screenSize.height()) - rect.h = screenSize.height() - rect.y; - rect.w = MAP_TILE_SIZE; - for (int x = 0; x < map->mapWidth; ++x) { - if (!map->dirty(x, y)) - continue; - map->setClean(x, y); - - rect.x = x * MAP_TILE_SIZE; - if (rect.x + MAP_TILE_SIZE > screenSize.width()) //###deviceWidth ??? - rect.w = screenSize.width() - rect.x; - rect.write(socket); - - socket->write((char *)&encoding, sizeof(encoding)); - - const uchar *screendata = screenImage.scanLine(rect.y) - + rect.x * screenImage.depth() / 8; - int linestep = screenImage.bytesPerLine(); - -#ifndef QT_NO_QWS_CURSOR - // hardware cursors must be blended with the screen memory - const bool doBlendCursor = qt_screencursor - && !server->hasClientCursor() - && qt_screencursor->isAccelerated(); - QImage tileImage; - if (doBlendCursor) { - const QRect tileRect(rect.x, rect.y, rect.w, rect.h); - const QRect cursorRect = qt_screencursor->boundingRect() - .translated(-server->screen()->offset()); - if (tileRect.intersects(cursorRect)) { - tileImage = screenImage.copy(tileRect); - blendCursor(tileImage, - tileRect.translated(server->screen()->offset())); - screendata = tileImage.bits(); - linestep = tileImage.bytesPerLine(); - } - } -#endif // QT_NO_QWS_CURSOR - - if (singleColorHextile.read(screendata, rect.w, rect.h, linestep)) { - singleColorHextile.write(socket); - } else if (dualColorHextile.read(screendata, rect.w, rect.h, linestep)) { - dualColorHextile.write(socket); - } else if (multiColorHextile.read(screendata, rect.w, rect.h, linestep)) { - multiColorHextile.write(socket); - } else if (server->doPixelConversion()) { - const int bufferSize = rect.w * rect.h * bytesPerPixel + 1; - const int padding = sizeof(quint32) - sizeof(char); - buffer.resize(bufferSize + padding); - - buffer[padding] = 1; // Raw subencoding - - // convert pixels - char *b = buffer.data() + padding + 1; - const int bstep = rect.w * bytesPerPixel; - for (int i = 0; i < rect.h; ++i) { - server->convertPixels(b, (const char*)screendata, rect.w); - screendata += linestep; - b += bstep; - } - socket->write(buffer.constData() + padding, bufferSize); - } else { - quint8 subenc = 1; // Raw subencoding - socket->write((char *)&subenc, 1); - - // send pixels - for (int i = 0; i < rect.h; ++i) { - socket->write((const char*)screendata, - rect.w * bytesPerPixel); - screendata += linestep; - } - } - } - if (socket->state() == QAbstractSocket::UnconnectedState) - break; - rect.y += MAP_TILE_SIZE; - } - socket->flush(); - Q_ASSERT(map->numDirty == 0); - -// QWSDisplay::ungrab(); -} - -void QRfbRawEncoder::write() -{ -// QWSDisplay::grab(false); - - QVNCDirtyMap *map = server->dirtyMap(); - QTcpSocket *socket = server->clientSocket(); - - const int bytesPerPixel = server->clientBytesPerPixel(); - QSize screenSize = server->screen()->geometry().size(); - - // create a region from the dirty rects and send the region's merged rects. - QRegion rgn; - if (map) { - for (int y = 0; y < map->mapHeight; ++y) { - for (int x = 0; x < map->mapWidth; ++x) { - if (!map->dirty(x, y)) - continue; - rgn += QRect(x * MAP_TILE_SIZE, y * MAP_TILE_SIZE, - MAP_TILE_SIZE, MAP_TILE_SIZE); - map->setClean(x, y); - } - } - - rgn &= QRect(0, 0, screenSize.width(), - screenSize.height()); - } - const QVector rects = rgn.rects(); - - { - const char tmp[2] = { 0, 0 }; // msg type, padding - socket->write(tmp, sizeof(tmp)); - } - - { - const quint16 count = htons(rects.size()); - socket->write((char *)&count, sizeof(count)); - } - - if (rects.size() <= 0) { -// QWSDisplay::ungrab(); - return; - } - - const QImage *screenImage = server->screenImage(); - - for (int i = 0; i < rects.size(); ++i) { - const QRect tileRect = rects.at(i); - const QRfbRect rect(tileRect.x(), tileRect.y(), - tileRect.width(), tileRect.height()); - rect.write(socket); - - const quint32 encoding = htonl(0); // raw encoding - socket->write((char *)&encoding, sizeof(encoding)); - - int linestep = screenImage->bytesPerLine(); - const uchar *screendata = screenImage->scanLine(rect.y) - + rect.x * screenImage->depth() / 8; - -#ifndef QT_NO_QWS_CURSOR - // hardware cursors must be blended with the screen memory - const bool doBlendCursor = qt_screencursor - && !server->hasClientCursor() - && qt_screencursor->isAccelerated(); - QImage tileImage; - if (doBlendCursor) { - const QRect cursorRect = qt_screencursor->boundingRect() - .translated(-server->screen()->offset()); - if (tileRect.intersects(cursorRect)) { - tileImage = screenImage->copy(tileRect); - blendCursor(tileImage, - tileRect.translated(server->screen()->offset())); - screendata = tileImage.bits(); - linestep = tileImage.bytesPerLine(); - } - } -#endif // QT_NO_QWS_CURSOR - - if (server->doPixelConversion()) { - const int bufferSize = rect.w * rect.h * bytesPerPixel; - if (bufferSize > buffer.size()) - buffer.resize(bufferSize); - - // convert pixels - char *b = buffer.data(); - const int bstep = rect.w * bytesPerPixel; - for (int i = 0; i < rect.h; ++i) { - server->convertPixels(b, (const char*)screendata, rect.w); - screendata += linestep; - b += bstep; - } - socket->write(buffer.constData(), bufferSize); - } else { - for (int i = 0; i < rect.h; ++i) { - socket->write((const char*)screendata, rect.w * bytesPerPixel); - screendata += linestep; - } - } - if (socket->state() == QAbstractSocket::UnconnectedState) - break; - } - socket->flush(); - -// QWSDisplay::ungrab(); -} - -inline QImage *QVNCServer::screenImage() const -{ - return qvnc_screen->image(); -} - -void QVNCServer::checkUpdate() -{ - if (!wantUpdate) - return; - - if (dirtyCursor) { -#ifndef QT_NO_QWS_CURSOR - Q_ASSERT(qvnc_cursor); - qvnc_cursor->write(); -#endif - cursor->sendClientCursor(); - dirtyCursor = false; - wantUpdate = false; - return; - } - - if (dirtyMap()->numDirty > 0) { - if (encoder) - encoder->write(); - wantUpdate = false; - } -} - -void QVNCServer::discardClient() -{ - timer->stop(); - state = Unconnected; - delete encoder; - encoder = 0; -#ifndef QT_NO_QWS_CURSOR - delete qvnc_cursor; - qvnc_cursor = 0; -#endif -// if (!qvnc_screen->screen()) -// QWSServer::instance()->enablePainting(false); -} - - - -QVNCScreenPrivate::QVNCScreenPrivate(QVNCScreen *parent, int screenId) - : dpiX(72), dpiY(72), doOnScreenSurface(false), refreshRate(25), - vncServer(0), q_ptr(parent) -{ -#if 0//ndef QT_NO_QWS_SIGNALHANDLER - QWSSignalHandler::instance()->addObject(this); -#endif - - vncServer = new QVNCServer(q_ptr, screenId); - vncServer->setRefreshRate(refreshRate); - - - Q_ASSERT(q_ptr->depth() == 32); - - dirty = new QVNCDirtyMapOptimized(q_ptr); -} - -QVNCScreenPrivate::~QVNCScreenPrivate() -{ -} - - -void QVNCScreenPrivate::setDirty(const QRect& rect, bool force) -{ - if (rect.isEmpty()) - return; - -// if (q_ptr->screen()) -// q_ptr->screen()->setDirty(rect); - - if (!vncServer || !vncServer->isConnected()) { -// qDebug() << "QVNCScreenPrivate::setDirty() - Not connected"; - return; - } - const QRect r = rect; // .translated(-q_ptr->offset()); - const int x1 = r.x() / MAP_TILE_SIZE; - int y = r.y() / MAP_TILE_SIZE; - for (; (y <= r.bottom() / MAP_TILE_SIZE) && y < dirty->mapHeight; y++) - for (int x = x1; (x <= r.right() / MAP_TILE_SIZE) && x < dirty->mapWidth; x++) - dirty->setDirty(x, y, force); - - vncServer->setDirty(); -} - - - - -QT_END_NAMESPACE diff --git a/src/plugins/platforms/vnc/qvncserver.h b/src/plugins/platforms/vnc/qvncserver.h deleted file mode 100644 index e8b093764f..0000000000 --- a/src/plugins/platforms/vnc/qvncserver.h +++ /dev/null @@ -1,533 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia 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. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QSCREENVNC_P_H -#define QSCREENVNC_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of the QLibrary class. This header file may change from version to version -// without notice, or even be removed. -// -// We mean it. -// - -#include "qvncintegration.h" -#include "qvnccursor.h" -#define QT_NO_QWS_CURSOR - -#ifndef QT_NO_QWS_VNC - -#include -#include -#include -#include - -QT_BEGIN_NAMESPACE - -class QVNCServer; - -#ifndef QT_NO_QWS_CURSOR -class QVNCCursor : public QProxyScreenCursor -{ -public: - QVNCCursor(QVNCScreen *s); - ~QVNCCursor(); - - void hide(); - void show(); - void set(const QImage &image, int hotx, int hoty); - void move(int x, int y); - -private: - void setDirty(const QRect &r) const; - QVNCScreen *screen; -}; - -class QVNCClientCursor : public QProxyScreenCursor -{ -public: - QVNCClientCursor(QVNCServer *s); - ~QVNCClientCursor(); - - void set(const QImage &image, int hotx, int hoty); - void write() const; - -private: - QVNCServer *server; -}; -#endif // QT_NO_QWS_CURSOR - -#define MAP_TILE_SIZE 16 -#define MAP_WIDTH 1280 / MAP_TILE_SIZE -#define MAP_HEIGHT 1024 / MAP_TILE_SIZE - -class QVNCDirtyMap -{ -public: - QVNCDirtyMap(QVNCScreen *screen); - virtual ~QVNCDirtyMap(); - - void reset(); - bool dirty(int x, int y) const; - virtual void setDirty(int x, int y, bool force = false) = 0; - void setClean(int x, int y); - - int bytesPerPixel; - - int numDirty; - int mapWidth; - int mapHeight; - -protected: - uchar *map; - QVNCScreen *screen; - uchar *buffer; - int bufferWidth; - int bufferHeight; - int bufferStride; - int numTiles; -}; - -template -class QVNCDirtyMapOptimized : public QVNCDirtyMap -{ -public: - QVNCDirtyMapOptimized(QVNCScreen *screen) : QVNCDirtyMap(screen) {} - ~QVNCDirtyMapOptimized() {} - - void setDirty(int x, int y, bool force = false); -}; - -class QRfbRect -{ -public: - QRfbRect() {} - QRfbRect(quint16 _x, quint16 _y, quint16 _w, quint16 _h) { - x = _x; y = _y; w = _w; h = _h; - } - - void read(QTcpSocket *s); - void write(QTcpSocket *s) const; - - quint16 x; - quint16 y; - quint16 w; - quint16 h; -}; - -class QRfbPixelFormat -{ -public: - static int size() { return 16; } - - void read(QTcpSocket *s); - void write(QTcpSocket *s); - - int bitsPerPixel; - int depth; - bool bigEndian; - bool trueColor; - int redBits; - int greenBits; - int blueBits; - int redShift; - int greenShift; - int blueShift; -}; - -class QRfbServerInit -{ -public: - QRfbServerInit() { name = 0; } - ~QRfbServerInit() { delete[] name; } - - int size() const { return QRfbPixelFormat::size() + 8 + strlen(name); } - void setName(const char *n); - - void read(QTcpSocket *s); - void write(QTcpSocket *s); - - quint16 width; - quint16 height; - QRfbPixelFormat format; - char *name; -}; - -class QRfbSetEncodings -{ -public: - bool read(QTcpSocket *s); - - quint16 count; -}; - -class QRfbFrameBufferUpdateRequest -{ -public: - bool read(QTcpSocket *s); - - char incremental; - QRfbRect rect; -}; - -class QRfbKeyEvent -{ -public: - bool read(QTcpSocket *s); - - char down; - int keycode; - int unicode; -}; - -class QRfbPointerEvent -{ -public: - bool read(QTcpSocket *s); - - Qt::MouseButtons buttons; - enum { WheelNone, - WheelUp, - WheelDown, - WheelLeft, - WheelRight - } wheelDirection; - quint16 x; - quint16 y; -}; - -class QRfbClientCutText -{ -public: - bool read(QTcpSocket *s); - - quint32 length; -}; - -class QVNCScreenPrivate : public QObject -{ -public: - QVNCScreenPrivate(QVNCScreen *parent, int screenId); - ~QVNCScreenPrivate(); - - void setDirty(const QRect &rect, bool force = false); - void configure(); - - qreal dpiX; - qreal dpiY; - bool doOnScreenSurface; - QVNCDirtyMap *dirty; - int refreshRate; - QVNCServer *vncServer; - -#if !defined(QT_NO_SHAREDMEMORY) - QSharedMemory shm; -#endif - - QVNCScreen *q_ptr; -}; - -class QRfbEncoder -{ -public: - QRfbEncoder(QVNCServer *s) : server(s) {} - virtual ~QRfbEncoder() {} - - virtual void write() = 0; - -protected: - QVNCServer *server; -}; - -class QRfbRawEncoder : public QRfbEncoder -{ -public: - QRfbRawEncoder(QVNCServer *s) : QRfbEncoder(s) {} - - void write(); - -private: - QByteArray buffer; -}; - -template class QRfbHextileEncoder; - -template -class QRfbSingleColorHextile -{ -public: - QRfbSingleColorHextile(QRfbHextileEncoder *e) : encoder(e) {} - bool read(const uchar *data, int width, int height, int stride); - void write(QTcpSocket *socket) const; - -private: - QRfbHextileEncoder *encoder; -}; - -template -class QRfbDualColorHextile -{ -public: - QRfbDualColorHextile(QRfbHextileEncoder *e) : encoder(e) {} - bool read(const uchar *data, int width, int height, int stride); - void write(QTcpSocket *socket) const; - -private: - struct Rect { - quint8 xy; - quint8 wh; - } Q_PACKED rects[8 * 16]; - - quint8 numRects; - QRfbHextileEncoder *encoder; - -private: - inline int lastx() const { return rectx(numRects); } - inline int lasty() const { return recty(numRects); } - inline int rectx(int r) const { return rects[r].xy >> 4; } - inline int recty(int r) const { return rects[r].xy & 0x0f; } - inline int width(int r) const { return (rects[r].wh >> 4) + 1; } - inline int height(int r) const { return (rects[r].wh & 0x0f) + 1; } - - inline void setX(int r, int x) { - rects[r].xy = (x << 4) | (rects[r].xy & 0x0f); - } - inline void setY(int r, int y) { - rects[r].xy = (rects[r].xy & 0xf0) | y; - } - inline void setWidth(int r, int width) { - rects[r].wh = ((width - 1) << 4) | (rects[r].wh & 0x0f); - } - inline void setHeight(int r, int height) { - rects[r].wh = (rects[r].wh & 0xf0) | (height - 1); - } - - inline void setWidth(int width) { setWidth(numRects, width); } - inline void setHeight(int height) { setHeight(numRects, height); } - inline void setX(int x) { setX(numRects, x); } - inline void setY(int y) { setY(numRects, y); } - void next(); -}; - -template -class QRfbMultiColorHextile -{ -public: - QRfbMultiColorHextile(QRfbHextileEncoder *e) : encoder(e) {} - bool read(const uchar *data, int width, int height, int stride); - void write(QTcpSocket *socket) const; - -private: - inline quint8* rect(int r) { - return rects.data() + r * (bpp + 2); - } - inline const quint8* rect(int r) const { - return rects.constData() + r * (bpp + 2); - } - inline void setX(int r, int x) { - quint8 *ptr = rect(r) + bpp; - *ptr = (x << 4) | (*ptr & 0x0f); - } - inline void setY(int r, int y) { - quint8 *ptr = rect(r) + bpp; - *ptr = (*ptr & 0xf0) | y; - } - void setColor(SRC color); - inline int rectx(int r) const { - const quint8 *ptr = rect(r) + bpp; - return *ptr >> 4; - } - inline int recty(int r) const { - const quint8 *ptr = rect(r) + bpp; - return *ptr & 0x0f; - } - inline void setWidth(int r, int width) { - quint8 *ptr = rect(r) + bpp + 1; - *ptr = ((width - 1) << 4) | (*ptr & 0x0f); - } - inline void setHeight(int r, int height) { - quint8 *ptr = rect(r) + bpp + 1; - *ptr = (*ptr & 0xf0) | (height - 1); - } - - bool beginRect(); - void endRect(); - - static const int maxRectsSize = 16 * 16; - QVarLengthArray rects; - - quint8 bpp; - quint8 numRects; - QRfbHextileEncoder *encoder; -}; - -template -class QRfbHextileEncoder : public QRfbEncoder -{ -public: - QRfbHextileEncoder(QVNCServer *s); - void write(); - -private: - enum SubEncoding { - Raw = 1, - BackgroundSpecified = 2, - ForegroundSpecified = 4, - AnySubrects = 8, - SubrectsColoured = 16 - }; - - QByteArray buffer; - QRfbSingleColorHextile singleColorHextile; - QRfbDualColorHextile dualColorHextile; - QRfbMultiColorHextile multiColorHextile; - - SRC bg; - SRC fg; - bool newBg; - bool newFg; - - friend class QRfbSingleColorHextile; - friend class QRfbDualColorHextile; - friend class QRfbMultiColorHextile; -}; - -class QVNCServer : public QObject -{ - Q_OBJECT -public: - QVNCServer(QVNCScreen *screen); - QVNCServer(QVNCScreen *screen, int id); - ~QVNCServer(); - - void setDirty(); - void setDirtyCursor() { dirtyCursor = true; setDirty(); } - inline bool isConnected() const { return state == Connected; } - inline void setRefreshRate(int rate) { refreshRate = rate; } - - enum ClientMsg { SetPixelFormat = 0, - FixColourMapEntries = 1, - SetEncodings = 2, - FramebufferUpdateRequest = 3, - KeyEvent = 4, - PointerEvent = 5, - ClientCutText = 6 }; - - enum ServerMsg { FramebufferUpdate = 0, - SetColourMapEntries = 1 }; - - void convertPixels(char *dst, const char *src, int count) const; - - inline int clientBytesPerPixel() const { - return pixelFormat.bitsPerPixel / 8; - } - - inline QVNCScreen* screen() const { return qvnc_screen; } - inline QVNCDirtyMap* dirtyMap() const { return qvnc_screen->dirtyMap(); } - inline QTcpSocket* clientSocket() const { return client; } - QImage *screenImage() const; - inline bool doPixelConversion() const { return needConversion; } -#ifndef QT_NO_QWS_CURSOR - inline bool hasClientCursor() const { return qvnc_cursor != 0; } -#endif - - void setCursor(QVNCCursor * c) { cursor = c; } -private: - void setPixelFormat(); - void setEncodings(); - void frameBufferUpdateRequest(); - void pointerEvent(); - void keyEvent(); - void clientCutText(); - bool pixelConversionNeeded() const; - -private slots: - void newConnection(); - void readClient(); - void checkUpdate(); - void discardClient(); - -private: - void init(uint port); - enum ClientState { Unconnected, Protocol, Init, Connected }; - QTimer *timer; - QTcpServer *serverSocket; - QTcpSocket *client; - ClientState state; - quint8 msgType; - bool handleMsg; - QRfbPixelFormat pixelFormat; - Qt::KeyboardModifiers keymod; - Qt::MouseButtons buttons; - int encodingsPending; - int cutTextPending; - uint supportCopyRect : 1; - uint supportRRE : 1; - uint supportCoRRE : 1; - uint supportHextile : 1; - uint supportZRLE : 1; - uint supportCursor : 1; - uint supportDesktopSize : 1; - bool wantUpdate; - bool sameEndian; - bool needConversion; -#if Q_BYTE_ORDER == Q_BIG_ENDIAN - bool swapBytes; -#endif - bool dirtyCursor; - int refreshRate; - QVNCScreen *qvnc_screen; -#ifndef QT_NO_QWS_CURSOR - QVNCClientCursor *qvnc_cursor; -#endif - - QRfbEncoder *encoder; - QVNCCursor *cursor; -}; - - -QT_END_NAMESPACE -#endif // QT_NO_QWS_VNC -#endif // QSCREENVNC_P_H diff --git a/src/plugins/platforms/vnc/vnc.pro b/src/plugins/platforms/vnc/vnc.pro deleted file mode 100644 index 637ed82385..0000000000 --- a/src/plugins/platforms/vnc/vnc.pro +++ /dev/null @@ -1,22 +0,0 @@ -TARGET = qvncgraphicssystem -load(qt_plugin) - -QT += network core-private gui-private platformsupport-private - -DESTDIR = $$QT.gui.plugins/platforms - -SOURCES = main.cpp qvncintegration.cpp -HEADERS = qvncintegration.h - -HEADERS += qvncserver.h -SOURCES += qvncserver.cpp - -HEADERS += qvnccursor.h -SOURCES += qvnccursor.cpp - -include(../fb_base/fb_base.pri) -CONFIG += qpa/genericunixfontdatabase - -target.path += $$[QT_INSTALL_PLUGINS]/platforms - -INSTALLS += target diff --git a/src/plugins/platforms/windows/accessible/accessible.pri b/src/plugins/platforms/windows/accessible/accessible.pri new file mode 100644 index 0000000000..1671c67d17 --- /dev/null +++ b/src/plugins/platforms/windows/accessible/accessible.pri @@ -0,0 +1,19 @@ +SOURCES += \ + $$PWD/qwindowsaccessibility.cpp + +HEADERS += \ + $$PWD/qwindowsaccessibility.h + +!*g++* { + SOURCES += \ + $$PWD/qwindowsmsaaaccessible.cpp \ + $$PWD/iaccessible2.cpp \ + $$PWD/comutils.cpp + + HEADERS += \ + $$PWD/qwindowsmsaaaccessible.h \ + $$PWD/iaccessible2.h \ + $$PWD/comutils.h + + include(../../../../3rdparty/iaccessible2/iaccessible2.pri) +} # !g++ diff --git a/src/plugins/platforms/windows/accessible/comutils.cpp b/src/plugins/platforms/windows/accessible/comutils.cpp new file mode 100644 index 0000000000..9a0fce20b8 --- /dev/null +++ b/src/plugins/platforms/windows/accessible/comutils.cpp @@ -0,0 +1,641 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include +#include + +#include "comutils.h" +#include +#include +#include + + +#include +#include +#include + +static DATE QDateTimeToDATE(const QDateTime &dt) +{ + if (!dt.isValid() || dt.isNull()) + return 949998; // Special value for no date (01/01/4501) + + SYSTEMTIME stime; + memset(&stime, 0, sizeof(stime)); + QDate date = dt.date(); + QTime time = dt.time(); + if (date.isValid() && !date.isNull()) { + stime.wDay = date.day(); + stime.wMonth = date.month(); + stime.wYear = date.year(); + } + if (time.isValid() && !time.isNull()) { + stime.wMilliseconds = time.msec(); + stime.wSecond = time.second(); + stime.wMinute = time.minute(); + stime.wHour = time.hour(); + } + + double vtime; + SystemTimeToVariantTime(&stime, &vtime); + + return vtime; +} + +inline uint QColorToOLEColor(const QColor &col) +{ + return qRgba(col.blue(), col.green(), col.red(), 0x00); +} + +bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &typeName, bool out) +{ + QVariant qvar = var; + // "type" is the expected type, so coerce if necessary + QVariant::Type proptype = typeName.isEmpty() ? QVariant::Invalid : QVariant::nameToType(typeName); + if (proptype == QVariant::UserType && !typeName.isEmpty()) { + if (typeName == "short" || typeName == "char") + proptype = QVariant::Int; + else if (typeName == "float") + proptype = QVariant::Double; + } + if (proptype != QVariant::Invalid && proptype != QVariant::UserType && proptype != qvar.type()) { + if (qvar.canConvert(proptype)) + qvar.convert(proptype); + else + qvar = QVariant(proptype); + } + + if (out && arg.vt == (VT_VARIANT|VT_BYREF) && arg.pvarVal) { + return QVariantToVARIANT(var, *arg.pvarVal, typeName, false); + } + + if (out && proptype == QVariant::UserType && typeName == "QVariant") { + VARIANT *pVariant = new VARIANT; + QVariantToVARIANT(var, *pVariant, QByteArray(), false); + arg.vt = VT_VARIANT|VT_BYREF; + arg.pvarVal = pVariant; + return true; + } + + switch ((int)qvar.type()) { + case QVariant::String: + if (out && arg.vt == (VT_BSTR|VT_BYREF)) { + if (*arg.pbstrVal) + SysFreeString(*arg.pbstrVal); + *arg.pbstrVal = QStringToBSTR(qvar.toString()); + arg.vt = VT_BSTR|VT_BYREF; + } else { + arg.vt = VT_BSTR; + arg.bstrVal = QStringToBSTR(qvar.toString()); + if (out) { + arg.pbstrVal = new BSTR(arg.bstrVal); + arg.vt |= VT_BYREF; + } + } + break; + + case QVariant::Int: + if (out && arg.vt == (VT_I4|VT_BYREF)) { + *arg.plVal = qvar.toInt(); + } else { + arg.vt = VT_I4; + arg.lVal = qvar.toInt(); + if (out) { + if (typeName == "short") { + arg.vt = VT_I2; + arg.piVal = new short(arg.lVal); + } else if (typeName == "char") { + arg.vt = VT_I1; + arg.pcVal= new char(arg.lVal); + } else { + arg.plVal = new long(arg.lVal); + } + arg.vt |= VT_BYREF; + } + } + break; + + case QVariant::UInt: + if (out && (arg.vt == (VT_UINT|VT_BYREF) || arg.vt == (VT_I4|VT_BYREF))) { + *arg.puintVal = qvar.toUInt(); + } else { + arg.vt = VT_UINT; + arg.uintVal = qvar.toUInt(); + if (out) { + arg.puintVal = new uint(arg.uintVal); + arg.vt |= VT_BYREF; + } + } + break; + + case QVariant::LongLong: + if (out && arg.vt == (VT_CY|VT_BYREF)) { + arg.pcyVal->int64 = qvar.toLongLong(); +#if !defined(Q_OS_WINCE) && defined(_MSC_VER) && _MSC_VER >= 1400 + } else if (out && arg.vt == (VT_I8|VT_BYREF)) { + *arg.pllVal = qvar.toLongLong(); + } else { + arg.vt = VT_I8; + arg.llVal = qvar.toLongLong(); + if (out) { + arg.pllVal = new LONGLONG(arg.llVal); + arg.vt |= VT_BYREF; + } + } +#else + } else { + arg.vt = VT_CY; + arg.cyVal.int64 = qvar.toLongLong(); + if (out) { + arg.pcyVal = new CY(arg.cyVal); + arg.vt |= VT_BYREF; + } + } +#endif + break; + + case QVariant::ULongLong: + if (out && arg.vt == (VT_CY|VT_BYREF)) { + arg.pcyVal->int64 = qvar.toULongLong(); +#if !defined(Q_OS_WINCE) && defined(_MSC_VER) && _MSC_VER >= 1400 + } else if (out && arg.vt == (VT_UI8|VT_BYREF)) { + *arg.pullVal = qvar.toULongLong(); + } else { + arg.vt = VT_UI8; + arg.ullVal = qvar.toULongLong(); + if (out) { + arg.pullVal = new ULONGLONG(arg.ullVal); + arg.vt |= VT_BYREF; + } + } +#else + } else { + arg.vt = VT_CY; + arg.cyVal.int64 = qvar.toULongLong(); + if (out) { + arg.pcyVal = new CY(arg.cyVal); + arg.vt |= VT_BYREF; + } + } + +#endif + + break; + + case QVariant::Bool: + if (out && arg.vt == (VT_BOOL|VT_BYREF)) { + *arg.pboolVal = qvar.toBool() ? VARIANT_TRUE : VARIANT_FALSE; + } else { + arg.vt = VT_BOOL; + arg.boolVal = qvar.toBool() ? VARIANT_TRUE : VARIANT_FALSE; + if (out) { + arg.pboolVal = new short(arg.boolVal); + arg.vt |= VT_BYREF; + } + } + break; + case QVariant::Double: + if (out && arg.vt == (VT_R8|VT_BYREF)) { + *arg.pdblVal = qvar.toDouble(); + } else { + arg.vt = VT_R8; + arg.dblVal = qvar.toDouble(); + if (out) { + if (typeName == "float") { + arg.vt = VT_R4; + arg.pfltVal = new float(arg.dblVal); + } else { + arg.pdblVal = new double(arg.dblVal); + } + arg.vt |= VT_BYREF; + } + } + break; + case QVariant::Color: + if (out && arg.vt == (VT_COLOR|VT_BYREF)) { + + *arg.plVal = QColorToOLEColor(qvariant_cast(qvar)); + } else { + arg.vt = VT_COLOR; + arg.lVal = QColorToOLEColor(qvariant_cast(qvar)); + if (out) { + arg.plVal = new long(arg.lVal); + arg.vt |= VT_BYREF; + } + } + break; + + case QVariant::Date: + case QVariant::Time: + case QVariant::DateTime: + if (out && arg.vt == (VT_DATE|VT_BYREF)) { + *arg.pdate = QDateTimeToDATE(qvar.toDateTime()); + } else { + arg.vt = VT_DATE; + arg.date = QDateTimeToDATE(qvar.toDateTime()); + if (out) { + arg.pdate = new DATE(arg.date); + arg.vt |= VT_BYREF; + } + } + break; +#if 0 // not a value with min/max semantics + case QVariant::Font: + if (out && arg.vt == (VT_DISPATCH|VT_BYREF)) { + if (*arg.ppdispVal) + (*arg.ppdispVal)->Release(); + *arg.ppdispVal = QFontToIFont(qvariant_cast(qvar)); + } else { + arg.vt = VT_DISPATCH; + arg.pdispVal = QFontToIFont(qvariant_cast(qvar)); + if (out) { + arg.ppdispVal = new IDispatch*(arg.pdispVal); + arg.vt |= VT_BYREF; + } + } + break; + case QVariant::Pixmap: + if (out && arg.vt == (VT_DISPATCH|VT_BYREF)) { + if (*arg.ppdispVal) + (*arg.ppdispVal)->Release(); + *arg.ppdispVal = QPixmapToIPicture(qvariant_cast(qvar)); + } else { + arg.vt = VT_DISPATCH; + arg.pdispVal = QPixmapToIPicture(qvariant_cast(qvar)); + if (out) { + arg.ppdispVal = new IDispatch*(arg.pdispVal); + arg.vt |= VT_BYREF; + } + } + break; + case QVariant::Cursor: + { +#ifndef QT_NO_CURSOR + int shape = qvariant_cast(qvar).shape(); + if (out && (arg.vt & VT_BYREF)) { + switch (arg.vt & ~VT_BYREF) { + case VT_I4: + *arg.plVal = shape; + break; + case VT_I2: + *arg.piVal = shape; + break; + case VT_UI4: + *arg.pulVal = shape; + break; + case VT_UI2: + *arg.puiVal = shape; + break; + case VT_INT: + *arg.pintVal = shape; + break; + case VT_UINT: + *arg.puintVal = shape; + break; + } + } else { + arg.vt = VT_I4; + arg.lVal = shape; + if (out) { + arg.plVal = new long(arg.lVal); + arg.vt |= VT_BYREF; + } + } +#endif + } + break; + + case QVariant::List: + { + const QList list = qvar.toList(); + const int count = list.count(); + VARTYPE vt = VT_VARIANT; + QVariant::Type listType = QVariant::LastType; // == QVariant + if (!typeName.isEmpty() && typeName.startsWith("QList<")) { + const QByteArray listTypeName = typeName.mid(6, typeName.length() - 7); // QList -> int + listType = QVariant::nameToType(listTypeName); + } + + VARIANT variant; + void *pElement = &variant; + switch (listType) { + case QVariant::Int: + vt = VT_I4; + pElement = &variant.lVal; + break; + case QVariant::Double: + vt = VT_R8; + pElement = &variant.dblVal; + break; + case QVariant::DateTime: + vt = VT_DATE; + pElement = &variant.date; + break; + case QVariant::Bool: + vt = VT_BOOL; + pElement = &variant.boolVal; + break; + case QVariant::LongLong: +#if !defined(Q_OS_WINCE) && defined(_MSC_VER) && _MSC_VER >= 1400 + vt = VT_I8; + pElement = &variant.llVal; +#else + vt = VT_CY; + pElement = &variant.cyVal; +#endif + break; + default: + break; + } + SAFEARRAY *array = 0; + bool is2D = false; + // If the first element in the array is a list the whole list is + // treated as a 2D array. The column count is taken from the 1st element. + if (count) { + QVariantList col = list.at(0).toList(); + int maxColumns = col.count(); + if (maxColumns) { + is2D = true; + SAFEARRAYBOUND rgsabound[2] = { {0} }; + rgsabound[0].cElements = count; + rgsabound[1].cElements = maxColumns; + array = SafeArrayCreate(VT_VARIANT, 2, rgsabound); + LONG rgIndices[2]; + for (LONG i = 0; i < count; ++i) { + rgIndices[0] = i; + QVariantList columns = list.at(i).toList(); + int columnCount = qMin(maxColumns, columns.count()); + for (LONG j = 0; j < columnCount; ++j) { + QVariant elem = columns.at(j); + VariantInit(&variant); + QVariantToVARIANT(elem, variant, elem.typeName()); + rgIndices[1] = j; + SafeArrayPutElement(array, rgIndices, pElement); + clearVARIANT(&variant); + } + } + + } + } + if (!is2D) { + array = SafeArrayCreateVector(vt, 0, count); + for (LONG index = 0; index < count; ++index) { + QVariant elem = list.at(index); + if (listType != QVariant::LastType) + elem.convert(listType); + VariantInit(&variant); + QVariantToVARIANT(elem, variant, elem.typeName()); + SafeArrayPutElement(array, &index, pElement); + clearVARIANT(&variant); + } + } + if (out && arg.vt == (VT_ARRAY|vt|VT_BYREF)) { + if (*arg.pparray) + SafeArrayDestroy(*arg.pparray); + *arg.pparray = array; + } else { + arg.vt = VT_ARRAY|vt; + arg.parray = array; + if (out) { + arg.pparray = new SAFEARRAY*(arg.parray); + arg.vt |= VT_BYREF; + } + } + } + break; + + case QVariant::StringList: + { + const QStringList list = qvar.toStringList(); + const int count = list.count(); + SAFEARRAY *array = SafeArrayCreateVector(VT_BSTR, 0, count); + for (LONG index = 0; index < count; ++index) { + QString elem = list.at(index); + BSTR bstr = QStringToBSTR(elem); + SafeArrayPutElement(array, &index, bstr); + SysFreeString(bstr); + } + + if (out && arg.vt == (VT_ARRAY|VT_BSTR|VT_BYREF)) { + if (*arg.pparray) + SafeArrayDestroy(*arg.pparray); + *arg.pparray = array; + } else { + arg.vt = VT_ARRAY|VT_BSTR; + arg.parray = array; + if (out) { + arg.pparray = new SAFEARRAY*(arg.parray); + arg.vt |= VT_BYREF; + } + } + } + break; + + case QVariant::ByteArray: + { + const QByteArray bytes = qvar.toByteArray(); + const uint count = bytes.count(); + SAFEARRAY *array = SafeArrayCreateVector(VT_UI1, 0, count); + if (count) { + const char *data = bytes.constData(); + char *dest; + SafeArrayAccessData(array, (void **)&dest); + memcpy(dest, data, count); + SafeArrayUnaccessData(array); + } + + if (out && arg.vt == (VT_ARRAY|VT_UI1|VT_BYREF)) { + if (*arg.pparray) + SafeArrayDestroy(*arg.pparray); + *arg.pparray = array; + } else { + arg.vt = VT_ARRAY|VT_UI1; + arg.parray = array; + if (out) { + arg.pparray = new SAFEARRAY*(arg.parray); + arg.vt |= VT_BYREF; + } + } + } + break; + +#ifdef QAX_SERVER + case QVariant::Rect: + case QVariant::Size: + case QVariant::Point: + { + typedef HRESULT(WINAPI* PGetRecordInfoFromTypeInfo)(ITypeInfo *, IRecordInfo **); + static PGetRecordInfoFromTypeInfo pGetRecordInfoFromTypeInfo = 0; + static bool resolved = false; + if (!resolved) { + QSystemLibrary oleaut32(QLatin1String("oleaut32")); + pGetRecordInfoFromTypeInfo = (PGetRecordInfoFromTypeInfo)oleaut32.resolve("GetRecordInfoFromTypeInfo"); + resolved = true; + } + if (!pGetRecordInfoFromTypeInfo) + break; + + ITypeInfo *typeInfo = 0; + IRecordInfo *recordInfo = 0; + CLSID clsid = qvar.type() == QVariant::Rect ? CLSID_QRect + :qvar.type() == QVariant::Size ? CLSID_QSize + :CLSID_QPoint; + qAxTypeLibrary->GetTypeInfoOfGuid(clsid, &typeInfo); + if (!typeInfo) + break; + pGetRecordInfoFromTypeInfo(typeInfo, &recordInfo); + typeInfo->Release(); + if (!recordInfo) + break; + + void *record = 0; + switch (qvar.type()) { + case QVariant::Rect: + { + QRect qrect(qvar.toRect()); + recordInfo->RecordCreateCopy(&qrect, &record); + } + break; + case QVariant::Size: + { + QSize qsize(qvar.toSize()); + recordInfo->RecordCreateCopy(&qsize, &record); + } + break; + case QVariant::Point: + { + QPoint qpoint(qvar.toPoint()); + recordInfo->RecordCreateCopy(&qpoint, &record); + } + break; + } + + arg.vt = VT_RECORD; + arg.pRecInfo = recordInfo, + arg.pvRecord = record; + if (out) { + qWarning("QVariantToVARIANT: out-parameter not supported for records"); + return false; + } + } + break; +#endif // QAX_SERVER + case QVariant::UserType: + { + QByteArray subType = qvar.typeName(); +#ifdef QAX_SERVER + if (subType.endsWith('*')) + subType.truncate(subType.length() - 1); +#endif + if (!qstrcmp(qvar.typeName(), "IDispatch*")) { + arg.vt = VT_DISPATCH; + arg.pdispVal = *(IDispatch**)qvar.data(); + if (arg.pdispVal) + arg.pdispVal->AddRef(); + if (out) { + qWarning("QVariantToVARIANT: out-parameter not supported for IDispatch"); + return false; + } + } else if (!qstrcmp(qvar.typeName(), "IDispatch**")) { + arg.vt = VT_DISPATCH; + arg.ppdispVal = *(IDispatch***)qvar.data(); + if (out) + arg.vt |= VT_BYREF; + } else if (!qstrcmp(qvar.typeName(), "IUnknown*")) { + arg.vt = VT_UNKNOWN; + arg.punkVal = *(IUnknown**)qvar.data(); + if (arg.punkVal) + arg.punkVal->AddRef(); + if (out) { + qWarning("QVariantToVARIANT: out-parameter not supported for IUnknown"); + return false; + } +#ifdef QAX_SERVER + } else if (qAxFactory()->metaObject(QString::fromLatin1(subType.constData()))) { + arg.vt = VT_DISPATCH; + void *user = *(void**)qvar.constData(); +// qVariantGet(qvar, user, qvar.typeName()); + if (!user) { + arg.pdispVal = 0; + } else { + qAxFactory()->createObjectWrapper(static_cast(user), &arg.pdispVal); + } + if (out) { + qWarning("QVariantToVARIANT: out-parameter not supported for subtype"); + return false; + } +#else + } else if (QMetaType::type(subType)) { + QAxObject *object = *(QAxObject**)qvar.constData(); +// qVariantGet(qvar, object, subType); + arg.vt = VT_DISPATCH; + object->queryInterface(IID_IDispatch, (void**)&arg.pdispVal); + if (out) { + qWarning("QVariantToVARIANT: out-parameter not supported for subtype"); + return false; + } +#endif + } else { + return false; + } + } + break; +#endif + + case QVariant::Invalid: // default-parameters not set + if (out && arg.vt == (VT_ERROR|VT_BYREF)) { + *arg.plVal = DISP_E_PARAMNOTFOUND; + } else { + arg.vt = VT_ERROR; + arg.lVal = DISP_E_PARAMNOTFOUND; + if (out) { + arg.plVal = new long(arg.lVal); + arg.vt |= VT_BYREF; + } + } + break; + + default: + return false; + } + + Q_ASSERT(!out || (arg.vt & VT_BYREF)); + return true; +} + diff --git a/src/platformsupport/udev/qudevhelper_p.h b/src/plugins/platforms/windows/accessible/comutils.h similarity index 78% rename from src/platformsupport/udev/qudevhelper_p.h rename to src/plugins/platforms/windows/accessible/comutils.h index 3895da87b6..08420cc46c 100644 --- a/src/platformsupport/udev/qudevhelper_p.h +++ b/src/plugins/platforms/windows/accessible/comutils.h @@ -38,23 +38,24 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +#ifndef COMUTILS_H +#define COMUTILS_H -#ifndef QUDEVHELPER_P_H -#define QUDEVHELPER_P_H +#if !defined(_WINDOWS_) && !defined(_WINDOWS_H) && !defined(__WINDOWS__) +#error Must include windows.h first! +#endif -#include -#include +#include +#include -QT_BEGIN_NAMESPACE +class QVariant; -enum QUDeviceType { - UDev_Mouse = 0x01, - UDev_Touchpad = 0x02, - UDev_Touchscreen = 0x04 -}; +bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &typeName, bool out); -void q_udev_devicePath(int type, QString *path); +inline BSTR QStringToBSTR(const QString &str) +{ + return SysAllocStringLen((OLECHAR*)str.unicode(), str.length()); +} -QT_END_NAMESPACE +#endif // COMUTILS_H -#endif // QUDEVHELPER_P_H diff --git a/src/plugins/platforms/windows/accessible/iaccessible2.cpp b/src/plugins/platforms/windows/accessible/iaccessible2.cpp new file mode 100644 index 0000000000..f22349714f --- /dev/null +++ b/src/plugins/platforms/windows/accessible/iaccessible2.cpp @@ -0,0 +1,1467 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include +#ifndef QT_NO_ACCESSIBILITY + +#include "iaccessible2.h" +#include "qwindowsaccessibility.h" + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +/**************************************************************\ + * AccessibleApplication * + **************************************************************/ +// IUnknown +HRESULT STDMETHODCALLTYPE AccessibleApplication::QueryInterface(REFIID id, LPVOID *iface) +{ + *iface = 0; + if (id == IID_IUnknown) { + accessibleDebug("AccessibleApplication::QI(): IID_IUnknown"); + *iface = (IUnknown*)this; + } else if (id == IID_IAccessibleApplication) { + accessibleDebug("AccessibleApplication::QI(): IID_IAccessibleApplication"); + *iface = static_cast(this); + } + + if (*iface) { + AddRef(); + return S_OK; + } + return E_NOINTERFACE; +} + +ULONG STDMETHODCALLTYPE AccessibleApplication::AddRef() +{ + return ++m_ref; +} + +ULONG STDMETHODCALLTYPE AccessibleApplication::Release() +{ + if (!--m_ref) { + delete this; + return 0; + } + return m_ref; +} + +/* IAccessibleApplication */ +HRESULT STDMETHODCALLTYPE AccessibleApplication::get_appName(/* [retval][out] */ BSTR *name) +{ + const QString appName = QGuiApplication::applicationName(); + *name = QStringToBSTR(appName); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE AccessibleApplication::get_appVersion(/* [retval][out] */ BSTR *version) +{ + const QString appName = QGuiApplication::applicationVersion(); + *version = QStringToBSTR(appName); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE AccessibleApplication::get_toolkitName(/* [retval][out] */ BSTR *name) +{ + *name = ::SysAllocString(L"Qt"); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE AccessibleApplication::get_toolkitVersion(/* [retval][out] */ BSTR *version) +{ + *version = ::SysAllocString(QT_UNICODE_LITERAL(QT_VERSION_STR)); + return S_OK; +} + + + +/*! + \internal + Client allocates and deallocates array + (see "Special Consideration when using Arrays", in Accessible2.idl) + */ +HRESULT STDMETHODCALLTYPE AccessibleRelation::get_target( + /* [in] */ long targetIndex, + /* [retval][out] */ IUnknown **target) +{ + if (targetIndex >= 0 && targetIndex < m_targets.count()) { + QAccessibleInterface *iface = m_targets.at(targetIndex); + *target = QWindowsAccessibility::wrap(iface); + if (*target) + return S_OK; + return E_FAIL; + } + return E_INVALIDARG; +} + +/*! + \internal + Client allocates and deallocates \a targets array + (see "Special Consideration when using Arrays", in Accessible2.idl) + */ +HRESULT STDMETHODCALLTYPE AccessibleRelation::get_targets( + /* [in] */ long maxTargets, // Hmmm, ignore ??? + /* [length_is][size_is][out] */ IUnknown **targets, + /* [retval][out] */ long *nTargets) +{ + + const int numTargets = qMin((int)maxTargets, m_targets.count()); + for (int i = 0; i < numTargets; ++i) { + QAccessibleInterface *iface = m_targets.at(i); + IAccessible *iacc = QWindowsAccessibility::wrap(iface); + if (!iacc) + return E_FAIL; + *targets = iacc; + ++targets; + } + *nTargets = numTargets; + // \a targets array is allocated by client. + return numTargets > 0 ? S_OK : S_FALSE; +} + + +/**************************************************************\ + * * + * IUnknown * + * * + **************************************************************/ +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::QueryInterface(REFIID id, LPVOID *iface) +{ + *iface = 0; + + QByteArray strIID = IIDToString(id); + if (!strIID.isEmpty()) { + QString ss; QDebug dbg(&ss); dbg << accessible; + accessibleDebug("QWindowsIA2Accessible::QI() - IID:%s, iface:%s ", strIID.constData(), qPrintable(ss)); + } + if (id == IID_IUnknown) { + *iface = (IUnknown*)(IDispatch*)this; + } else if (id == IID_IDispatch) { + *iface = (IDispatch*)this; + } else if (id == IID_IAccessible) { + *iface = (IAccessible*)this; + } else if (id == IID_IOleWindow) { + *iface = (IOleWindow*)this; + } else if (id == IID_IServiceProvider) { + *iface = (IServiceProvider*)this; + } else if (id == IID_IAccessible2) { + *iface = (IAccessible2*)this; + } else if (id == IID_IAccessibleAction) { + if (accessible->actionInterface()) + *iface = (IAccessibleAction*)this; + } else if (id == IID_IAccessibleComponent) { + *iface = (IAccessibleComponent*)this; + } else if (id == IID_IAccessibleEditableText) { + //if (accessible->editableTextInterface()) { + //*iface = (IAccessibleEditableText*)this; + //} + } else if (id == IID_IAccessibleHyperlink) { + //*iface = (IAccessibleHyperlink*)this; + } else if (id == IID_IAccessibleHypertext) { + //*iface = (IAccessibleHypertext*)this; + } else if (id == IID_IAccessibleImage) { + //*iface = (IAccessibleImage*)this; + } else if (id == IID_IAccessibleRelation) { + *iface = (IAccessibleRelation*)this; + } else if (id == IID_IAccessibleTable) { + //*iface = (IAccessibleTable*)this; // not supported + } else if (id == IID_IAccessibleTable2) { + if (accessible->tableInterface()) + *iface = (IAccessibleTable2*)this; + } else if (id == IID_IAccessibleTableCell) { + if (accessible->tableCellInterface()) + *iface = (IAccessibleTableCell*)this; + } else if (id == IID_IAccessibleText) { + if (accessible->textInterface()) + *iface = (IAccessibleText*)this; + } else if (id == IID_IAccessibleValue) { + if (accessible->valueInterface()) + *iface = (IAccessibleValue*)this; + } + if (*iface) { + AddRef(); + return S_OK; + } + + return E_NOINTERFACE; +} + +ULONG STDMETHODCALLTYPE QWindowsIA2Accessible::AddRef() +{ + return ++ref; +} + +ULONG STDMETHODCALLTYPE QWindowsIA2Accessible::Release() +{ + if (!--ref) { + delete this; + return 0; + } + return ref; +} + + + +/**************************************************************\ + * * + * IAccessible2 * + * * + **************************************************************/ +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_nRelations(long *nRelations) +{ + accessibleDebugClientCalls(accessible); + if (!nRelations) + return E_INVALIDARG; + if (!accessible->isValid()) + return E_FAIL; + + return getRelationsHelper(0, 0, 0, nRelations); +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_relation(long relationIndex, IAccessibleRelation **relation) +{ + accessibleDebugClientCalls(accessible); + if (!relation) + return E_INVALIDARG; + if (!accessible->isValid()) + return E_FAIL; + + return getRelationsHelper(relation, relationIndex, 1); +} + +/*! + \internal + Client allocates and deallocates array + (see "Special Consideration when using Arrays", in Accessible2.idl) + */ +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_relations(long maxRelations, + IAccessibleRelation **relations, + long *nRelations) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + return getRelationsHelper(relations, 0, maxRelations, nRelations); +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::role(long *ia2role) +{ + accessibleDebugClientCalls(accessible); + //### Change QAccessibleInterface::role() to return both MSAA and IA2 roles. + // When that is completed, we must patch the MSAA bridge not not return any + // IA2-specific roles from get_accRole(). + if (!accessible->isValid()) + return E_FAIL; + + *ia2role = accessible->role(); + return S_OK; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::scrollTo(enum IA2ScrollType /*scrollType*/) +{ + //### Ignore for now + return E_NOTIMPL; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::scrollToPoint(enum IA2CoordinateType /*coordinateType*/, long /*x*/, long /*y*/) +{ + //### Ignore for now + return E_NOTIMPL; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_groupPosition(long *groupLevel, + long *similarItemsInGroup, + long *positionInGroup) +{ + // ### Ignore for now. Not sure what this is used for..... + *groupLevel = 0; // Not applicable + *similarItemsInGroup = 0; // Not applicable + *positionInGroup = 0; // Not applicable + return S_FALSE; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_states(AccessibleStates *states) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + if (!states) + return E_POINTER; + QAccessible::State st = accessible->state(); + AccessibleStates ia2states = 0; + if (st.active) + ia2states |= IA2_STATE_ACTIVE; + if (st.invalid) + ia2states |= IA2_STATE_DEFUNCT; + if (st.editable) + ia2states |= IA2_STATE_EDITABLE; + if (st.multiLine) + ia2states |= IA2_STATE_MULTI_LINE; + if (st.selectableText) + ia2states |= IA2_STATE_SELECTABLE_TEXT; + if (st.supportsAutoCompletion) + ia2states |= IA2_STATE_SUPPORTS_AUTOCOMPLETION; + + *states = ia2states; + return S_OK; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_extendedRole(BSTR *extendedRole) +{ + //### + *extendedRole = 0; + return E_NOTIMPL; // mozilla does this + //return S_FALSE; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_localizedExtendedRole(BSTR *localizedExtendedRole) +{ + //### + *localizedExtendedRole = 0; + return E_NOTIMPL; // mozilla does this + //return S_FALSE; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_nExtendedStates(long *nExtendedStates) +{ + // Who will ever intepret these values into something meaningful?? + *nExtendedStates = 0; + return E_NOTIMPL; // mozilla does this + //return S_FALSE; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_extendedStates(long /*maxExtendedStates*/, + BSTR **extendedStates, + long *nExtendedStates) +{ + *extendedStates = 0; + *nExtendedStates = 0; + return E_NOTIMPL; // mozilla does this + //return S_FALSE; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_localizedExtendedStates(long /*maxLocalizedExtendedStates*/, + BSTR **localizedExtendedStates, + long *nLocalizedExtendedStates) +{ + *localizedExtendedStates = 0; + *nLocalizedExtendedStates = 0; + return E_NOTIMPL; // mozilla does this + //return S_FALSE; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_uniqueID(long *outUniqueID) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + // ### FIXME SERIOUSLY, NOT A STABLE SOLUTION IF NODES ARE DELETED ETC + // Return 0 if no object and no parent. This is really an error case. + uint uid = uniqueID(); + accessibleDebug("uniqueID: %08x", uid); + + *outUniqueID = (long)uid; + return uid ? S_OK : S_FALSE; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_windowHandle(HWND *windowHandle) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + return GetWindow(windowHandle); +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_indexInParent(long *indexInParent) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + if (!indexInParent) + return E_INVALIDARG; + QAccessibleInterface *par = accessible->parent(); + if (!par) { + *indexInParent = -1; + return S_FALSE; + } + int indexOfChild = par->indexOfChild(accessible); + delete par; + Q_ASSERT(indexOfChild >= 0); + *indexInParent = indexOfChild; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_locale(IA2Locale *locale) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + IA2Locale res; + QLocale l; + res.country = QStringToBSTR(QLocale::countryToString(l.country())); + res.language = QStringToBSTR(QLocale::languageToString(l.language())); + *locale = res; + return S_OK; +} + + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_attributes(BSTR *attributes) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + *attributes = 0;//QStringToBSTR(QString()); + return S_FALSE; +} + +/**************************************************************\ + * IAccessibleAction * + **************************************************************/ +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::nActions(long *nActions) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + *nActions = 0; + + if (QAccessibleActionInterface *actionIface = actionInterface()) + *nActions = actionIface->actionNames().count(); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::doAction(long actionIndex) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + if (QAccessibleActionInterface *actionIface = actionInterface()) { + const QStringList actionNames = actionIface->actionNames(); + if (actionIndex < 0 || actionIndex >= actionNames.count()) + return E_INVALIDARG; + const QString actionName = actionNames.at(actionIndex); + actionIface->doAction(actionName); + return S_OK; + } + return S_FALSE; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_description(long actionIndex, BSTR *description) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + *description = 0; + if (QAccessibleActionInterface *actionIface = actionInterface()) { + const QStringList actionNames = actionIface->actionNames(); + if (actionIndex < 0 || actionIndex >= actionNames.count()) + return E_INVALIDARG; + const QString actionName = actionNames.at(actionIndex); + *description = QStringToBSTR(actionIface->localizedActionDescription(actionName)); + } + return *description ? S_OK : S_FALSE; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_keyBinding(long actionIndex, long nMaxBindings, BSTR **keyBindings, long *nBindings) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + Q_UNUSED(nMaxBindings); + BSTR *arrayOfBindingsToReturn = 0; + int numBindings = 0; + if (QAccessibleActionInterface *actionIface = actionInterface()) { + const QStringList actionNames = actionIface->actionNames(); + if (actionIndex < 0 || actionIndex >= actionNames.count()) + return E_INVALIDARG; + const QString actionName = actionNames.at(actionIndex); + const QStringList keyBindings = actionIface->keyBindingsForAction(actionName); + numBindings = keyBindings.count(); + if (numBindings > 0) { + // The IDL documents that the client must free with CoTaskMemFree + arrayOfBindingsToReturn = (BSTR*)::CoTaskMemAlloc(sizeof(BSTR) * numBindings); + for (int i = 0; i < numBindings; ++i) + arrayOfBindingsToReturn[i] = QStringToBSTR(keyBindings.at(i)); + } + } + *keyBindings = arrayOfBindingsToReturn; + *nBindings = numBindings; + + return numBindings ? S_OK : S_FALSE; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_name(long actionIndex, BSTR *name) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + *name = 0; + if (QAccessibleActionInterface *actionIface = actionInterface()) { + const QStringList actionNames = actionIface->actionNames(); + if (actionIndex < 0 || actionIndex >= actionNames.count()) + return E_INVALIDARG; + const QString actionName = actionNames.at(actionIndex); + *name = QStringToBSTR(actionName); + } + return *name ? S_OK : S_FALSE; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_localizedName(long actionIndex, BSTR *localizedName) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + *localizedName = 0; + if (QAccessibleActionInterface *actionIface = actionInterface()) { + const QStringList actionNames = actionIface->actionNames(); + if (actionIndex < 0 || actionIndex >= actionNames.count()) + return E_INVALIDARG; + + const QString actionName = actionNames.at(actionIndex); + *localizedName = QStringToBSTR(actionIface->localizedActionName(actionName)); + } + return *localizedName ? S_OK : S_FALSE; +} + +/**************************************************************\ + * IAccessibleComponent * + **************************************************************/ +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_locationInParent(long *x, long *y) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + QPoint topLeft = accessible->rect().topLeft(); + + if (QAccessibleInterface *parentIface = accessible->parent()) + topLeft -= parentIface->rect().topLeft(); + + *x = topLeft.x(); + *y = topLeft.y(); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_foreground(IA2Color *foreground) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + // IA2Color is a typedef for long + *foreground = (IA2Color)accessible->foregroundColor().rgb(); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_background(IA2Color *background) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + // IA2Color is a typedef for long + *background = (IA2Color)accessible->backgroundColor().rgb(); + return S_OK; +} + +/**************************************************************\ + * IAccessibleTable2 * + **************************************************************/ +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_cellAt( long row, long column, IUnknown **cell) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + *cell = 0; + if (QAccessibleTableInterface *tableIface = tableInterface()) { + if (QAccessibleInterface *qtCell = tableIface->cellAt(row, column)) { + *cell = QWindowsAccessibility::wrap(qtCell); + } + } + accessibleDebug("found cell? %p", *cell); + return *cell ? S_OK : S_FALSE; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_caption( IUnknown **captionInterface) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + *captionInterface = 0; + if (QAccessibleTableInterface *tableIface = tableInterface()) { + if (QAccessibleInterface *iface = tableIface->caption()) + *captionInterface = QWindowsAccessibility::wrap(iface); + } + return *captionInterface ? S_OK : S_FALSE; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_columnDescription( long column, BSTR *description) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + *description = 0; + if (QAccessibleTableInterface *tableIface = tableInterface()) { + const QString qtDesc = tableIface->columnDescription(column); + if (!qtDesc.isEmpty()) + *description = QStringToBSTR(qtDesc); + } + return *description ? S_OK : S_FALSE; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_nColumns( long *columnCount) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + *columnCount = tableIface->columnCount(); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_nRows(long *rowCount) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + *rowCount = tableIface->rowCount(); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_nSelectedCells(long *cellCount) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + *cellCount = tableIface->selectedCellCount(); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_nSelectedColumns(long *columnCount) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + *columnCount = tableIface->selectedColumnCount(); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_nSelectedRows(long *rowCount) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + *rowCount = tableIface->selectedRowCount(); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_rowDescription(long row, BSTR *description) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + *description = 0; + if (QAccessibleTableInterface *tableIface = tableInterface()) { + const QString qtDesc = tableIface->columnDescription(row); + if (!qtDesc.isEmpty()) + *description = QStringToBSTR(qtDesc); + } + return *description ? S_OK : S_FALSE; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_selectedCells(IUnknown ***cells, long *nSelectedCells) +{ + accessibleDebugClientCalls(accessible); + Q_UNUSED(cells); + Q_UNUSED(nSelectedCells); + if (!accessible->isValid()) + return E_FAIL; + + QList selectedCells = tableInterface()->selectedCells(); + return wrapListOfCells(selectedCells, cells, nSelectedCells); +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_selectedColumns(long **selectedColumns, long *nColumns) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + const QList selectedIndices = tableIface->selectedColumns(); + const int &count = selectedIndices.count(); + long *selected = (count ? (long*)::CoTaskMemAlloc(sizeof(long) * count) : (long*)0); + for (int i = 0; i < count; ++i) + selected[i] = selectedIndices.at(i); + *selectedColumns = selected; + *nColumns = count; + return count ? S_OK : S_FALSE; + } + return E_FAIL; + +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_selectedRows(long **selectedRows, long *nRows) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + const QList selectedIndices = tableIface->selectedRows(); + const int &count = selectedIndices.count(); + long *selected = (count ? (long*)::CoTaskMemAlloc(sizeof(long) * count) : (long*)0); + for (int i = 0; i < count; ++i) + selected[i] = selectedIndices.at(i); + *selectedRows = selected; + *nRows = count; + return count ? S_OK : S_FALSE; + } + return E_FAIL; + +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_summary(IUnknown **summaryInterface) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + *summaryInterface = 0; + if (QAccessibleTableInterface *tableIface = tableInterface()) { + if (QAccessibleInterface *iface = tableIface->summary()) + *summaryInterface = QWindowsAccessibility::wrap(iface); + } + return *summaryInterface ? S_OK : S_FALSE; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_isColumnSelected(long column, boolean *isSelected) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + *isSelected = tableIface->isColumnSelected(column); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_isRowSelected(long row, boolean *isSelected) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + *isSelected = tableIface->isRowSelected(row); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::selectRow(long row) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + bool ok = tableIface->selectRow(row); + return ok ? S_OK : E_INVALIDARG; //### Not sure of the return value if it fails??? + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::selectColumn(long column) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + bool ok = tableIface->selectColumn(column); + return ok ? S_OK : E_INVALIDARG; //### Not sure of the return value if it fails??? + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::unselectRow(long row) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + bool ok = tableIface->unselectRow(row); + return ok ? S_OK : E_INVALIDARG; //### Not sure of the return value if it fails??? + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::unselectColumn(long column) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + if (QAccessibleTableInterface *tableIface = tableInterface()) { + bool ok = tableIface->unselectColumn(column); + return ok ? S_OK : E_INVALIDARG; //### Not sure of the return value if it fails??? + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_modelChange( IA2TableModelChange * /*modelChange*/) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + return E_NOTIMPL; +} + +/**************************************************************\ + * IAccessibleTableCell * +\**************************************************************/ +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_columnExtent(long *nColumnsSpanned) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + *nColumnsSpanned = tableCellInterface()->columnExtent(); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_columnHeaderCells(IUnknown ***cellAccessibles, + long *nColumnHeaderCells) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + const QList headerCells = tableCellInterface()->columnHeaderCells(); + return wrapListOfCells(headerCells, cellAccessibles, nColumnHeaderCells); +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_columnIndex(long *columnIndex) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + *columnIndex = tableCellInterface()->columnIndex(); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_rowExtent(long *nRowsSpanned) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + *nRowsSpanned = tableCellInterface()->rowExtent(); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_rowHeaderCells(IUnknown ***cellAccessibles, + long *nRowHeaderCells) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + const QList headerCells = tableCellInterface()->rowHeaderCells(); + return wrapListOfCells(headerCells, cellAccessibles, nRowHeaderCells); +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_rowIndex(long *rowIndex) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + *rowIndex = tableCellInterface()->rowIndex(); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_isSelected( boolean *isSelected) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + *isSelected = tableCellInterface()->isSelected(); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_rowColumnExtents(long *row, long *column, + long *rowExtents, long *columnExtents, + boolean *isSelected) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + tableCellInterface()->rowColumnExtents((int*)row, (int*)column, (int*)rowExtents, (int*)columnExtents, (bool*)isSelected); + return S_OK; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_table(IUnknown **table) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + + QAccessibleInterface *tableIface = tableCellInterface()->table(); + + *table = QWindowsAccessibility::wrap(tableIface); + return S_OK; +} + +/**************************************************************\ + * IAccessibleText * +\**************************************************************/ +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::addSelection(long startOffset, + long endOffset) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *text = textInterface()) { + text->addSelection(startOffset, endOffset); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_attributes(long offset, + long *startOffset, + long *endOffset, + BSTR *textAttributes) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *text = textInterface()) { + const QString attrs = text->attributes(offset, (int*)startOffset, (int*)endOffset); + *textAttributes = QStringToBSTR(attrs); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_caretOffset(long *offset) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *text = textInterface()) { + *offset = text->cursorPosition(); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_characterExtents(long offset, + enum IA2CoordinateType coordType, + long *x, + long *y, + long *width, + long *height) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *text = textInterface()) { + const QRect rect = text->characterRect(offset, (QAccessible2::CoordinateType)coordType); + *x = rect.x(); + *y = rect.y(); + *width = rect.width(); + *height = rect.height(); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_nSelections(long *nSelections) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *text = textInterface()) { + *nSelections = text->selectionCount(); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_offsetAtPoint(long x, + long y, + enum IA2CoordinateType coordType, + long *offset) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *text = textInterface()) { + *offset = text->offsetAtPoint(QPoint(x,y), (QAccessible2::CoordinateType)coordType); + return (*offset >=0 ? S_OK : S_FALSE); + } + return E_FAIL; + +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_selection(long selectionIndex, + long *startOffset, + long *endOffset) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *text = textInterface()) { + text->selection(selectionIndex, (int*)startOffset, (int*)endOffset); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_text(long startOffset, + long endOffset, + BSTR *text) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *textif = textInterface()) { + const QString t = textif->text(startOffset, endOffset); + if (!t.isEmpty()) { + *text = QStringToBSTR(t); + return S_OK; + } + return E_INVALIDARG; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_textBeforeOffset(long offset, + enum IA2TextBoundaryType boundaryType, + long *startOffset, + long *endOffset, + BSTR *text) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *textIface = textInterface()) { + const QString txt = textIface->textBeforeOffset(offset, (QAccessible2::BoundaryType)boundaryType, (int*)startOffset, (int*)endOffset); + if (!txt.isEmpty()) { + *text = QStringToBSTR(txt); + return S_OK; + } + return S_FALSE; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_textAfterOffset( + long offset, + enum IA2TextBoundaryType boundaryType, + long *startOffset, + long *endOffset, + BSTR *text) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *textIface = textInterface()) { + const QString txt = textIface->textAfterOffset(offset, (QAccessible2::BoundaryType)boundaryType, (int*)startOffset, (int*)endOffset); + if (!txt.isEmpty()) { + *text = QStringToBSTR(txt); + return S_OK; + } + return S_FALSE; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_textAtOffset(long offset, + enum IA2TextBoundaryType boundaryType, + long *startOffset, + long *endOffset, + BSTR *text) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *textIface = textInterface()) { + const QString txt = textIface->textAtOffset(offset, (QAccessible2::BoundaryType)boundaryType, (int*)startOffset, (int*)endOffset); + if (!txt.isEmpty()) { + *text = QStringToBSTR(txt); + return S_OK; + } + return S_FALSE; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::removeSelection(long selectionIndex) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *textIface = textInterface()) { + textIface->removeSelection(selectionIndex); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::setCaretOffset(long offset) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *textIface = textInterface()) { + textIface->setCursorPosition(offset); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::setSelection(long selectionIndex, + long startOffset, + long endOffset) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *textIface = textInterface()) { + textIface->setSelection(selectionIndex, startOffset, endOffset); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_nCharacters(long *nCharacters) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *textIface = textInterface()) { + *nCharacters = textIface->characterCount(); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::scrollSubstringTo(long startIndex, + long endIndex, + enum IA2ScrollType scrollType) +{ + accessibleDebugClientCalls(accessible); + if (QAccessibleTextInterface *textIface = textInterface()) { + Q_UNUSED(scrollType); //### + textIface->scrollToSubstring(startIndex, endIndex); + return S_OK; + } + return E_FAIL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::scrollSubstringToPoint(long startIndex, + long endIndex, + enum IA2CoordinateType coordinateType, + long x, + long y) +{ + Q_UNUSED(startIndex); + Q_UNUSED(endIndex); + Q_UNUSED(coordinateType); + Q_UNUSED(x); + Q_UNUSED(y); + + return E_NOTIMPL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_newText(IA2TextSegment *newText) +{ + Q_UNUSED(newText); + return E_NOTIMPL; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_oldText(IA2TextSegment *oldText) +{ + Q_UNUSED(oldText); + return E_NOTIMPL; +} + +/**************************************************************\ + * IAccessibleValue * + **************************************************************/ +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_currentValue(VARIANT *currentValue) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + if (QAccessibleValueInterface *valueIface = valueInterface()) { + const QVariant var = valueIface->currentValue(); + if (QVariantToVARIANT(var, *currentValue, QByteArray(), false)) + return S_OK; + + } + currentValue->vt = VT_EMPTY; + return S_FALSE; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::setCurrentValue(VARIANT value) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + HRESULT hr = S_FALSE; + if (QAccessibleValueInterface *valueIface = valueInterface()) { + hr = VariantChangeType(&value, &value, 0, VT_R8); + if (SUCCEEDED(hr)) { + // ### works only for numbers (not date, strings, etc) + valueIface->setCurrentValue(QVariant(value.dblVal)); + } + } + return hr; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_maximumValue(VARIANT *maximumValue) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + if (QAccessibleValueInterface *valueIface = valueInterface()) { + const QVariant var = valueIface->maximumValue(); + if (QVariantToVARIANT(var, *maximumValue, QByteArray(), false)) + return S_OK; + } + maximumValue->vt = VT_EMPTY; + return S_FALSE; +} + +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_minimumValue(VARIANT *minimumValue) +{ + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; + if (QAccessibleValueInterface *valueIface = valueInterface()) { + const QVariant var = valueIface->minimumValue(); + if (QVariantToVARIANT(var, *minimumValue, QByteArray(), false)) + return S_OK; + } + minimumValue->vt = VT_EMPTY; + return S_FALSE; +} + + +/**************************************************************\ + * IServiceProvider * + **************************************************************/ +/*! + \internal + Reimplemented from IServiceProvider +*/ +HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::QueryService(REFGUID guidService, REFIID riid, void **iface) +{ + if (!iface) + return E_POINTER; + Q_UNUSED(guidService); + *iface = 0; + accessibleDebug("QWindowsIA2Accessible::QS(): %s", IIDToString(riid).constData()); + if (riid == IID_IAccessible || riid == IID_IUnknown || riid == IID_IDispatch) { + *iface = static_cast(this); + } else if (/*guidService == IID_IAccessible && */riid == IID_IAccessible2) { + *iface = static_cast(this); + } else if (riid == IID_IAccessibleApplication) { + *iface = new AccessibleApplication; + return S_OK; + } else { + QueryInterface(riid, iface); + } + if (*iface) { + AddRef(); + return S_OK; + } + + return E_NOINTERFACE; +} + + +/*! + \internal + private function.. + \a maxRelations max number of relations to return in \a relations + \a relations the array of relations matching + \a startIndex Index to start to return from, + it will return only that specific relation in \a relations + + If \a relations is null, \a startIndex and \a maxRelations are ignored, causing + it to return the number of relations in \a nRelations +*/ +HRESULT QWindowsIA2Accessible::getRelationsHelper(IAccessibleRelation **relations, int startIndex, long maxRelations, long *nRelations /* = 0*/) +{ + if (nRelations) + *nRelations = 0; + typedef QPair RelationEntry; + QVector rels = accessible->relations(); + QMap relationMap; + for (QVector::const_iterator it = rels.constBegin(); it != rels.constEnd(); ++it) + { + RelationEntry e = *it; + relationMap.insertMulti(e.second, e.first); + } + + QList keys = relationMap.keys(); + const int numRelations = keys.count(); + if (relations) { + for (int i = startIndex; i < qMin(startIndex + (int)maxRelations, numRelations); ++i) { + QAccessible::Relation relation = keys.at(i); + QList targets = relationMap.values(relation); + AccessibleRelation *rel = new AccessibleRelation(targets, relation); + *relations = rel; + ++relations; + } + } + if (nRelations) + *nRelations = numRelations; + + return numRelations > 0 ? S_OK : S_FALSE; +} + + + + +/*! + \internal + helper to wrap a QList inside an array of IAccessible* + The IAccessible* array is returned as a IUnknown* +*/ +HRESULT QWindowsIA2Accessible::wrapListOfCells(const QList &inputCells, IUnknown ***outputAccessibles, long *nCellCount) +{ + const int count = inputCells.count(); + // Server allocates array + IUnknown **outputCells = count ? (IUnknown**)::CoTaskMemAlloc(sizeof(IUnknown*) * count ) : (IUnknown**)0; + for (int i = 0; i < count; ++i) + outputCells[i] = QWindowsAccessibility::wrap(inputCells.at(i)); + + *outputAccessibles = outputCells; + *nCellCount = count; + return count > 0 ? S_OK : S_FALSE; +} + +uint QWindowsIA2Accessible::uniqueID() const +{ + uint uid = 0; + if (QObject *obj = accessible->object()) + uid = qHash(obj); + + if (!uid) { + QAccessibleInterface *acc = accessible; + QVector indexOfNodes; + while (acc && !acc->object()) { + QAccessibleInterface *par = acc->parent(); + indexOfNodes.append(par->indexOfChild(acc)); + if (acc != accessible) + delete acc; + acc = par; + } + if (acc) { + if (acc->object()) { + uid = qHash(acc->object()); + for (int i = 0; i < indexOfNodes.count(); ++i) + uid = qHash(uid + indexOfNodes.at(i)); + + } + if (acc != accessible) + delete acc; + } + } + return uid; +} + + +#define IF_EQUAL_RETURN_IIDSTRING(id, iid) if (id == iid) return QByteArray(#iid) + +QByteArray QWindowsIA2Accessible::IIDToString(REFIID id) +{ + IF_EQUAL_RETURN_IIDSTRING(id, IID_IUnknown); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IDispatch); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessible); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IOleWindow); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IServiceProvider); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessible2); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleAction); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleApplication); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleComponent); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleEditableText); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleHyperlink); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleHypertext); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleImage); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleRelation); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleTable); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleTable2); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleTableCell); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleText); + IF_EQUAL_RETURN_IIDSTRING(id, IID_IAccessibleValue); + + // else... + QByteArray strGuid; +#if 0 // Can be useful for debugging, but normally we'd like to reduce the noise a bit... + OLECHAR szGuid[39]={0}; + ::StringFromGUID2(id, szGuid, 39); + strGuid.reserve(40); + ::WideCharToMultiByte(CP_UTF8, 0, szGuid, 39, strGuid.data(), 39, NULL, NULL); + strGuid[38] = '\0'; +#endif + return strGuid; +} + + +QT_END_NAMESPACE + +#endif //QT_NO_ACCESSIBILITY diff --git a/src/plugins/platforms/windows/accessible/iaccessible2.h b/src/plugins/platforms/windows/accessible/iaccessible2.h new file mode 100644 index 0000000000..a59263fba1 --- /dev/null +++ b/src/plugins/platforms/windows/accessible/iaccessible2.h @@ -0,0 +1,379 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef IACCESSIBLE2_H +#define IACCESSIBLE2_H + +#include +#ifndef QT_NO_ACCESSIBILITY + +#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" + +#ifdef Q_CC_MINGW +# include +#endif + +QT_BEGIN_NAMESPACE + +class QWindowsIA2Accessible : public QWindowsMsaaAccessible, + public IAccessibleAction, + public IAccessibleComponent, + /*public IAccessibleEditableText,*/ + public IAccessibleTable2, + public IAccessibleTableCell, + public IAccessibleText, + public IAccessibleValue, + public IServiceProvider +{ +public: + QWindowsIA2Accessible(QAccessibleInterface *a) : QWindowsMsaaAccessible(a) {} + + /* IUnknown */ + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, LPVOID *); + ULONG STDMETHODCALLTYPE AddRef(); + ULONG STDMETHODCALLTYPE Release(); + + /* IAccessible2 */ + HRESULT STDMETHODCALLTYPE get_nRelations(long *nRelations); + HRESULT STDMETHODCALLTYPE get_relation(long relationIndex, IAccessibleRelation **relation); + HRESULT STDMETHODCALLTYPE get_relations(long maxRelations, IAccessibleRelation **relations, long *nRelations); + HRESULT STDMETHODCALLTYPE role(long *role); + HRESULT STDMETHODCALLTYPE scrollTo(enum IA2ScrollType scrollType); + HRESULT STDMETHODCALLTYPE scrollToPoint(enum IA2CoordinateType coordinateType, long x, long y); + HRESULT STDMETHODCALLTYPE get_groupPosition(long *groupLevel, long *similarItemsInGroup, long *positionInGroup); + HRESULT STDMETHODCALLTYPE get_states(AccessibleStates *states); + HRESULT STDMETHODCALLTYPE get_extendedRole(BSTR *extendedRole); + HRESULT STDMETHODCALLTYPE get_localizedExtendedRole(BSTR *localizedExtendedRole); + HRESULT STDMETHODCALLTYPE get_nExtendedStates(long *nExtendedStates); + HRESULT STDMETHODCALLTYPE get_extendedStates(long maxExtendedStates, BSTR **extendedStates, long *nExtendedStates); + HRESULT STDMETHODCALLTYPE get_localizedExtendedStates(long maxLocalizedExtendedStates, BSTR **localizedExtendedStates, long *nLocalizedExtendedStates); + HRESULT STDMETHODCALLTYPE get_uniqueID(long *uniqueID); + HRESULT STDMETHODCALLTYPE get_windowHandle(HWND *windowHandle); + HRESULT STDMETHODCALLTYPE get_indexInParent(long *indexInParent); + HRESULT STDMETHODCALLTYPE get_locale(IA2Locale *locale); + HRESULT STDMETHODCALLTYPE get_attributes(BSTR *attributes); + + /* IAccessibleAction */ + HRESULT STDMETHODCALLTYPE nActions(long *nActions); + HRESULT STDMETHODCALLTYPE doAction(long actionIndex); + HRESULT STDMETHODCALLTYPE get_description(long actionIndex, BSTR *description); + HRESULT STDMETHODCALLTYPE get_keyBinding(long actionIndex, long nMaxBindings, BSTR **keyBindings, long *nBindings); + HRESULT STDMETHODCALLTYPE get_name(long actionIndex, BSTR *name); + HRESULT STDMETHODCALLTYPE get_localizedName(long actionIndex, BSTR *localizedName); + + /* IAccessibleComponent */ + HRESULT STDMETHODCALLTYPE get_locationInParent(long *x,long *y); + HRESULT STDMETHODCALLTYPE get_foreground(IA2Color *foreground); + HRESULT STDMETHODCALLTYPE get_background(IA2Color *background); + + /* IAccessibleEditableText */ + /* + HRESULT STDMETHODCALLTYPE copyText(long startOffset, long endOffset); + HRESULT STDMETHODCALLTYPE deleteText(long startOffset, long endOffset); + HRESULT STDMETHODCALLTYPE insertText(long offset, BSTR *text); + HRESULT STDMETHODCALLTYPE cutText(long startOffset, long endOffset); + HRESULT STDMETHODCALLTYPE pasteText(long offset); + HRESULT STDMETHODCALLTYPE replaceText(long startOffset, long endOffset, BSTR *text); + HRESULT STDMETHODCALLTYPE setAttributes(long startOffset, long endOffset, BSTR *attributes); + */ + + /* IAccessibleTable2 */ + HRESULT STDMETHODCALLTYPE get_cellAt( long row, long column, IUnknown **cell); + HRESULT STDMETHODCALLTYPE get_caption( IUnknown **accessible); + HRESULT STDMETHODCALLTYPE get_columnDescription( long column, BSTR *description); + HRESULT STDMETHODCALLTYPE get_nColumns( long *columnCount); + HRESULT STDMETHODCALLTYPE get_nRows( long *rowCount); + HRESULT STDMETHODCALLTYPE get_nSelectedCells( long *cellCount); + HRESULT STDMETHODCALLTYPE get_nSelectedColumns( long *columnCount); + HRESULT STDMETHODCALLTYPE get_nSelectedRows( long *rowCount); + HRESULT STDMETHODCALLTYPE get_rowDescription( long row, BSTR *description); + HRESULT STDMETHODCALLTYPE get_selectedCells( IUnknown ***cells, long *nSelectedCells); + HRESULT STDMETHODCALLTYPE get_selectedColumns( long **selectedColumns, long *nColumns); + HRESULT STDMETHODCALLTYPE get_selectedRows( long **selectedRows, long *nRows); + HRESULT STDMETHODCALLTYPE get_summary( IUnknown **accessible); + HRESULT STDMETHODCALLTYPE get_isColumnSelected( long column, boolean *isSelected); + HRESULT STDMETHODCALLTYPE get_isRowSelected( long row, boolean *isSelected); + HRESULT STDMETHODCALLTYPE selectRow( long row); + HRESULT STDMETHODCALLTYPE selectColumn( long column); + HRESULT STDMETHODCALLTYPE unselectRow( long row); + HRESULT STDMETHODCALLTYPE unselectColumn( long column); + HRESULT STDMETHODCALLTYPE get_modelChange( IA2TableModelChange *modelChange); + + /* IAccessibleTableCell */ + HRESULT STDMETHODCALLTYPE get_columnExtent(long *nColumnsSpanned); + HRESULT STDMETHODCALLTYPE get_columnHeaderCells(IUnknown ***cellAccessibles, long *nColumnHeaderCells); + HRESULT STDMETHODCALLTYPE get_columnIndex(long *columnIndex); + HRESULT STDMETHODCALLTYPE get_rowExtent(long *nRowsSpanned); + HRESULT STDMETHODCALLTYPE get_rowHeaderCells(IUnknown ***cellAccessibles, long *nRowHeaderCells); + HRESULT STDMETHODCALLTYPE get_rowIndex(long *rowIndex); + HRESULT STDMETHODCALLTYPE get_isSelected( boolean *isSelected); + HRESULT STDMETHODCALLTYPE get_rowColumnExtents(long *row, long *column, + long *rowExtents, long *columnExtents, + boolean *isSelected); + HRESULT STDMETHODCALLTYPE get_table(IUnknown **table); + + + /* IAccessibleText */ + HRESULT STDMETHODCALLTYPE addSelection(long startOffset, long endOffset); + HRESULT STDMETHODCALLTYPE get_attributes(long offset, long *startOffset, + long *endOffset, BSTR *textAttributes); + HRESULT STDMETHODCALLTYPE get_caretOffset(long *offset); + HRESULT STDMETHODCALLTYPE get_characterExtents(long offset, enum IA2CoordinateType coordType, + long *x, long *y, + long *width, long *height); + HRESULT STDMETHODCALLTYPE get_nSelections(long *nSelections); + HRESULT STDMETHODCALLTYPE get_offsetAtPoint(long x, long y, enum IA2CoordinateType coordType, long *offset); + HRESULT STDMETHODCALLTYPE get_selection(long selectionIndex, long *startOffset, long *endOffset); + HRESULT STDMETHODCALLTYPE get_text(long startOffset, long endOffset, BSTR *text); + HRESULT STDMETHODCALLTYPE get_textBeforeOffset(long offset, enum IA2TextBoundaryType boundaryType, + long *startOffset, long *endOffset, BSTR *text); + HRESULT STDMETHODCALLTYPE get_textAfterOffset(long offset, enum IA2TextBoundaryType boundaryType, + long *startOffset, long *endOffset, BSTR *text); + HRESULT STDMETHODCALLTYPE get_textAtOffset(long offset, enum IA2TextBoundaryType boundaryType, + long *startOffset, long *endOffset, BSTR *text); + HRESULT STDMETHODCALLTYPE removeSelection(long selectionIndex); + HRESULT STDMETHODCALLTYPE setCaretOffset(long offset); + HRESULT STDMETHODCALLTYPE setSelection(long selectionIndex, long startOffset, long endOffset); + HRESULT STDMETHODCALLTYPE get_nCharacters(long *nCharacters); + HRESULT STDMETHODCALLTYPE scrollSubstringTo(long startIndex, long endIndex, enum IA2ScrollType scrollType); + HRESULT STDMETHODCALLTYPE scrollSubstringToPoint(long startIndex, long endIndex, + enum IA2CoordinateType coordinateType, long x, long y); + HRESULT STDMETHODCALLTYPE get_newText(IA2TextSegment *newText); + HRESULT STDMETHODCALLTYPE get_oldText(IA2TextSegment *oldText); + + /* IAccessibleValue */ + HRESULT STDMETHODCALLTYPE get_currentValue(VARIANT *currentValue); + HRESULT STDMETHODCALLTYPE setCurrentValue(VARIANT value); + HRESULT STDMETHODCALLTYPE get_maximumValue(VARIANT *maximumValue); + HRESULT STDMETHODCALLTYPE get_minimumValue(VARIANT *minimumValue); + + /* IServiceProvider */ + HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppv); + + /* private helper functions */ +private: + inline QAccessibleTextInterface *textInterface() const { + return accessible->isValid() ? accessible->textInterface() : static_cast(0); + } + + inline QAccessibleActionInterface *actionInterface() const { + return accessible->actionInterface(); + } + + inline QAccessibleValueInterface *valueInterface() const { + return accessible->valueInterface(); + } + + inline QAccessibleTableInterface *tableInterface() const { + return accessible->tableInterface(); + } + + inline QAccessibleTableCellInterface *tableCellInterface() const { + return accessible->tableCellInterface(); + } + + HRESULT getRelationsHelper(IAccessibleRelation **relations, int startIndex, long maxRelations, long *nRelations = 0); + HRESULT wrapListOfCells(const QList &inputCells, IUnknown ***outputAccessibles, long *nCellCount); + uint uniqueID() const; + QByteArray IIDToString(REFIID id); + +private: + ULONG ref; + +}; + +/**************************************************************\ + * AccessibleApplication * + **************************************************************/ +class AccessibleApplication : public IAccessibleApplication +{ +public: + AccessibleApplication() : m_ref(1) + { + + } + + virtual ~AccessibleApplication() {} + + /* IUnknown */ + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, LPVOID *); + ULONG STDMETHODCALLTYPE AddRef(); + ULONG STDMETHODCALLTYPE Release(); + + /* IAccessibleApplication */ + HRESULT STDMETHODCALLTYPE get_appName(/* [retval][out] */ BSTR *name); + HRESULT STDMETHODCALLTYPE get_appVersion(/* [retval][out] */ BSTR *version); + HRESULT STDMETHODCALLTYPE get_toolkitName(/* [retval][out] */ BSTR *name); + HRESULT STDMETHODCALLTYPE get_toolkitVersion(/* [retval][out] */ BSTR *version); +private: + ULONG m_ref; +}; + + + +/**************************************************************\ + * IAccessibleRelation * + **************************************************************/ +struct AccessibleRelation : public IAccessibleRelation +{ + AccessibleRelation(const QList &targets, + QAccessible::Relation relation) + : m_targets(targets), m_relation(relation), m_ref(1) + { + Q_ASSERT(m_targets.count()); + } + + + /* IUnknown */ + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID id, LPVOID *iface) + { + *iface = 0; + if (id == IID_IUnknown) + *iface = (IUnknown*)this; + + if (*iface) { + AddRef(); + return S_OK; + } + + return E_NOINTERFACE; + } + + ULONG STDMETHODCALLTYPE AddRef() + { + return ++m_ref; + } + + ULONG STDMETHODCALLTYPE Release() + { + if (!--m_ref) { + delete this; + return 0; + } + return m_ref; + } + + /* IAccessibleRelation */ + HRESULT STDMETHODCALLTYPE get_relationType( + /* [retval][out] */ BSTR *relationType) + { + *relationType = relationToBSTR(m_relation); + return S_OK; + } + + HRESULT STDMETHODCALLTYPE get_localizedRelationType( + /* [retval][out] */ BSTR *localizedRelationType) + { + // Who ever needs this??? + *localizedRelationType = relationToBSTR(m_relation); + return S_OK; + } + + HRESULT STDMETHODCALLTYPE get_nTargets( + /* [retval][out] */ long *nTargets) + { + // ### always one target + *nTargets = m_targets.count(); + return S_OK; + } + + HRESULT STDMETHODCALLTYPE get_target(long targetIndex, IUnknown **target); + + + /*! + \internal + Client allocates and deallocates \a targets array + (see "Special Consideration when using Arrays", in Accessible2.idl) + */ + HRESULT STDMETHODCALLTYPE get_targets( + /* [in] */ long maxTargets, // Hmmm, ignore ??? + /* [length_is][size_is][out] */ IUnknown **targets, + /* [retval][out] */ long *nTargets); + +private: + static BSTR relationToBSTR(QAccessible::Relation relation) + { + wchar_t *constRelationString = 0; + switch (relation) { + case QAccessible::Controlled: + constRelationString = IA2_RELATION_CONTROLLED_BY; + break; + } + + if (constRelationString) { + BSTR bstrVal; + const UINT wlen = (UINT)wcslen(constRelationString); + bstrVal = ::SysAllocStringLen(constRelationString, wlen); + return bstrVal; + } + return 0; + } + + + QList m_targets; + QAccessible::Relation m_relation; + ULONG m_ref; +}; + +QT_END_NAMESPACE + +#endif //QT_NO_ACCESSIBILITY + +#endif // IACCESSIBLE2_H diff --git a/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp b/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp new file mode 100644 index 0000000000..4f92b910b2 --- /dev/null +++ b/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp @@ -0,0 +1,319 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#ifndef QT_NO_ACCESSIBILITY + + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "qwindowsaccessibility.h" + +#ifndef Q_CC_MINGW +# include "iaccessible2.h" +#endif // !Q_CC_MINGW + +#include "comutils.h" + +#include + +//#include +#ifndef UiaRootObjectId +#define UiaRootObjectId -25 +#endif + +#include +#if !defined(WINABLEAPI) +# if defined(Q_OS_WINCE) +# include +# endif +# include +#endif + +#include +#include +#if !defined(Q_CC_BOR) && !defined (Q_CC_GNU) +#include +#endif + +#ifdef Q_OS_WINCE +#include "../qguifunctions_wince.h" +#endif + +#include "../qtwindows_additional.h" + + +// This stuff is used for widgets/items with no window handle: +typedef QMap > NotifyMap; +Q_GLOBAL_STATIC(NotifyMap, qAccessibleRecentSentEvents) + + +QT_BEGIN_NAMESPACE + + +/*! + \!internal + \class QWindowsAccessibility + + Implements QPlatformAccessibility + +*/ +QWindowsAccessibility::QWindowsAccessibility() +{ +} + +void QWindowsAccessibility::notifyAccessibilityUpdate(const QAccessibleEvent &event) +{ + QString soundName; + switch (event.type()) { + case QAccessible::PopupMenuStart: + soundName = QLatin1String("MenuPopup"); + break; + + case QAccessible::MenuCommand: + soundName = QLatin1String("MenuCommand"); + break; + + case QAccessible::Alert: + { + /* ### FIXME +#ifndef QT_NO_MESSAGEBOX + QMessageBox *mb = qobject_cast(o); + if (mb) { + switch (mb->icon()) { + case QMessageBox::Warning: + soundName = QLatin1String("SystemExclamation"); + break; + case QMessageBox::Critical: + soundName = QLatin1String("SystemHand"); + break; + case QMessageBox::Information: + soundName = QLatin1String("SystemAsterisk"); + break; + default: + break; + } + } else +#endif // QT_NO_MESSAGEBOX +*/ + { + soundName = QLatin1String("SystemAsterisk"); + } + + } + break; + default: + break; + } + + if (!soundName.isEmpty()) { +#ifndef QT_NO_SETTINGS + QSettings settings(QLatin1String("HKEY_CURRENT_USER\\AppEvents\\Schemes\\Apps\\.Default\\") + soundName, + QSettings::NativeFormat); + QString file = settings.value(QLatin1String(".Current/.")).toString(); +#else + QString file; +#endif + if (!file.isEmpty()) { + PlaySound(reinterpret_cast(soundName.utf16()), 0, SND_ALIAS | SND_ASYNC | SND_NODEFAULT | SND_NOWAIT); + } + } + + typedef void (WINAPI *PtrNotifyWinEvent)(DWORD, HWND, LONG, LONG); + +#if defined(Q_OS_WINCE) // ### TODO: check for NotifyWinEvent in CE 6.0 + // There is no user32.lib nor NotifyWinEvent for CE + return; +#else + static PtrNotifyWinEvent ptrNotifyWinEvent = 0; + static bool resolvedNWE = false; + if (!resolvedNWE) { + resolvedNWE = true; + ptrNotifyWinEvent = (PtrNotifyWinEvent)QSystemLibrary::resolve(QLatin1String("user32"), "NotifyWinEvent"); + } + if (!ptrNotifyWinEvent) + return; + + // An event has to be associated with a window, + // so find the first parent that is a widget and that has a WId + QAccessibleInterface *iface = event.accessibleInterface(); + QWindow *window = iface ? QWindowsAccessibility::windowHelper(iface) : 0; + delete iface; + + if (!window) { + window = QGuiApplication::activeWindow(); + if (!window) + return; + } + + QPlatformNativeInterface *platform = QGuiApplication::platformNativeInterface(); + HWND hWnd = (HWND)platform->nativeResourceForWindow("handle", window); + + static int eventNum = 0; + if (event.type() != QAccessible::MenuCommand) { // MenuCommand is faked + // See comment "SENDING EVENTS TO OBJECTS WITH NO WINDOW HANDLE" + eventNum %= 50; //[0..49] + int eventId = - (eventNum - 1); + + qAccessibleRecentSentEvents()->insert(eventId, qMakePair(event.object(), event.child())); + ptrNotifyWinEvent(event.type(), hWnd, OBJID_CLIENT, eventId ); + + ++eventNum; + } +#endif // Q_OS_WINCE +} + +QWindow *QWindowsAccessibility::windowHelper(const QAccessibleInterface *iface) +{ + QWindow *window = iface->window(); + if (!window) { + QAccessibleInterface *acc = iface->parent(); + while (acc && !window) { + window = acc->window(); + QAccessibleInterface *par = acc->parent(); + delete acc; + acc = par; + } + } + return window; +} + +/*! + \internal + helper to wrap a QAccessibleInterface inside a IAccessible* +*/ +IAccessible *QWindowsAccessibility::wrap(QAccessibleInterface *acc) +{ +#ifdef Q_CC_MINGW + return 0; +#else + if (!acc) + return 0; + QWindowsIA2Accessible *wacc = new QWindowsIA2Accessible(acc); + IAccessible *iacc = 0; + wacc->QueryInterface(IID_IAccessible, (void**)&iacc); + return iacc; +#endif +} + +/*! + \internal +*/ +QPair QWindowsAccessibility::getCachedObject(int entryId) +{ + return qAccessibleRecentSentEvents()->value(entryId); +} + +/* +void QWindowsAccessibility::setRootObject(QObject *o) +{ + +} + +void QWindowsAccessibility::initialize() +{ + +} + +void QWindowsAccessibility::cleanup() +{ + +} + +*/ + +bool QWindowsAccessibility::handleAccessibleObjectFromWindowRequest(HWND hwnd, WPARAM wParam, LPARAM lParam, LRESULT *lResult) +{ + if (static_cast(lParam) == static_cast(UiaRootObjectId)) { + /* For UI Automation */ + } else if ((DWORD)lParam == OBJID_CLIENT) { +#if 1 + // Ignoring all requests while starting up + // ### Maybe QPA takes care of this??? + if (QCoreApplication::startingUp() || QCoreApplication::closingDown()) + return false; +#endif + + typedef LRESULT (WINAPI *PtrLresultFromObject)(REFIID, WPARAM, LPUNKNOWN); + static PtrLresultFromObject ptrLresultFromObject = 0; + static bool oleaccChecked = false; + + if (!oleaccChecked) { + oleaccChecked = true; +#if !defined(Q_OS_WINCE) + ptrLresultFromObject = (PtrLresultFromObject)QSystemLibrary::resolve(QLatin1String("oleacc"), "LresultFromObject"); +#endif + } + + if (ptrLresultFromObject) { + QWindow *window = QWindowsContext::instance()->findWindow(hwnd); + if (window) { + QAccessibleInterface *acc = window->accessibleRoot(); + if (acc) { + if (IAccessible *iface = wrap(acc)) { + *lResult = ptrLresultFromObject(IID_IAccessible, wParam, iface); // ref == 2 + if (*lResult) { + iface->Release(); // the client will release the object again, and then it will destroy itself + } + return true; + } else { + delete acc; + } + } + } + } + } + return false; +} + +QT_END_NAMESPACE + +#endif //QT_NO_ACCESSIBILITY diff --git a/src/plugins/platforms/windows/qwindowsaccessibility.h b/src/plugins/platforms/windows/accessible/qwindowsaccessibility.h similarity index 89% rename from src/plugins/platforms/windows/qwindowsaccessibility.h rename to src/plugins/platforms/windows/accessible/qwindowsaccessibility.h index 9294f23565..0c3aca0a03 100644 --- a/src/plugins/platforms/windows/qwindowsaccessibility.h +++ b/src/plugins/platforms/windows/accessible/qwindowsaccessibility.h @@ -42,9 +42,12 @@ #ifndef QWINDOWSACCESSIBILITY_H #define QWINDOWSACCESSIBILITY_H -#include "qtwindowsglobal.h" +#include "../qtwindowsglobal.h" +#include "../qwindowscontext.h" #include +#include + QT_BEGIN_HEADER QT_BEGIN_NAMESPACE @@ -59,6 +62,10 @@ public: virtual void initialize(); virtual void cleanup(); */ + static IAccessible *wrap(QAccessibleInterface *acc); + static QWindow *windowHelper(const QAccessibleInterface *iface); + + static QPair getCachedObject(int entryId); }; QT_END_NAMESPACE diff --git a/src/plugins/platforms/windows/qwindowsaccessibility.cpp b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp similarity index 70% rename from src/plugins/platforms/windows/qwindowsaccessibility.cpp rename to src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp index 134b1c81ce..8791bbdcfb 100644 --- a/src/plugins/platforms/windows/qwindowsaccessibility.cpp +++ b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp @@ -42,105 +42,45 @@ #include #ifndef QT_NO_ACCESSIBILITY - +#include "qwindowsmsaaaccessible.h" #include "qwindowsaccessibility.h" -#include "qwindowscontext.h" - -#include +#include +#include +#include +#include "comutils.h" +#include #include -#include -#include #include -#include -#include -#include -#include +#include #include +#include +#include #include #include -#include -#include +#include +#include +#include +#include //#include #ifndef UiaRootObjectId #define UiaRootObjectId -25 #endif -#include -#if !defined(WINABLEAPI) -# if defined(Q_OS_WINCE) -# include -# endif -# include -#endif - -#include #if !defined(Q_CC_BOR) && !defined (Q_CC_GNU) #include #endif #ifdef Q_OS_WINCE -#include "qguifunctions_wince.h" +#include "../qguifunctions_wince.h" #endif -#include "qtwindows_additional.h" +#include "../qtwindows_additional.h" + QT_BEGIN_NAMESPACE -#ifndef QT_NO_DEBUG -QT_BEGIN_INCLUDE_NAMESPACE -# include -QT_END_INCLUDE_NAMESPACE -static inline bool debug_accessibility() -{ - static signed int debugging = -1; - if (debugging == -1) - debugging = qgetenv("QT_DEBUG_ACCESSIBILITY").toInt(); - return !!debugging; -} -# define accessibleDebug !debug_accessibility() ? (void)0 : qDebug -#else -# define accessibleDebug() -#endif - -//#define DEBUG_SHOW_ATCLIENT_COMMANDS -#if defined(DEBUG_SHOW_ATCLIENT_COMMANDS) -void accessibleDebugClientCalls_helper(const char* funcName, const QAccessibleInterface *iface) -{ - QString str; - QDebug dbg(&str); - dbg << iface << QLatin1String(funcName); - accessibleDebug("%s", qPrintable(str)); -} -# define accessibleDebugClientCalls(iface) accessibleDebugClientCalls_helper(Q_FUNC_INFO, iface) -#else -# define accessibleDebugClientCalls(iface) -#endif - - -typedef QSharedPointer QAIPointer; - -static bool compareAccessible(QAccessibleInterface *one, QAccessibleInterface *other) -{ - if (one == other) return true; - if (!one || !other) return false; - - if (one->object() && other->object() && (one->object() == other->object())) - return true; - QAIPointer onePar(one->parent()); - QAIPointer otherPar(other->parent()); - - if (compareAccessible(onePar.data(), otherPar.data())) - return onePar->indexOfChild(one) == otherPar->indexOfChild(other); - return false; -} - -// This stuff is used for widgets/items with no window handle: -typedef QMap > NotifyMap; -Q_GLOBAL_STATIC(NotifyMap, qAccessibleRecentSentEvents) -static int eventNum = 0; - class QWindowsEnumerate : public IEnumVARIANT { public: @@ -249,140 +189,60 @@ HRESULT STDMETHODCALLTYPE QWindowsEnumerate::Skip(unsigned long celt) return S_OK; } -/* -*/ -class QWindowsAccessible : public IAccessible, IOleWindow +static bool compareAccessible(QAccessibleInterface *one, QAccessibleInterface *other) { -public: - QWindowsAccessible(QAccessibleInterface *a) - : ref(0), accessible(a) - { - } + if (one == other) return true; + if (!one || !other) return false; - virtual ~QWindowsAccessible() - { - delete accessible; - } + if (one->object() && other->object() && (one->object() == other->object())) + return true; + QAIPointer onePar(one->parent()); + QAIPointer otherPar(other->parent()); - /* IUnknown */ - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, LPVOID *); - ULONG STDMETHODCALLTYPE AddRef(); - ULONG STDMETHODCALLTYPE Release(); - - /* IDispatch */ - HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned int *); - HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned int, unsigned long, ITypeInfo **); - HRESULT STDMETHODCALLTYPE GetIDsOfNames(const _GUID &, wchar_t **, unsigned int, unsigned long, long *); - HRESULT STDMETHODCALLTYPE Invoke(long, const _GUID &, unsigned long, unsigned short, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *); - - /* IAccessible */ - HRESULT STDMETHODCALLTYPE accHitTest(long xLeft, long yTop, VARIANT *pvarID); - HRESULT STDMETHODCALLTYPE accLocation(long *pxLeft, long *pyTop, long *pcxWidth, long *pcyHeight, VARIANT varID); - HRESULT STDMETHODCALLTYPE accNavigate(long navDir, VARIANT varStart, VARIANT *pvarEnd); - HRESULT STDMETHODCALLTYPE get_accChild(VARIANT varChildID, IDispatch** ppdispChild); - HRESULT STDMETHODCALLTYPE get_accChildCount(long* pcountChildren); - HRESULT STDMETHODCALLTYPE get_accParent(IDispatch** ppdispParent); - - HRESULT STDMETHODCALLTYPE accDoDefaultAction(VARIANT varID); - HRESULT STDMETHODCALLTYPE get_accDefaultAction(VARIANT varID, BSTR* pszDefaultAction); - HRESULT STDMETHODCALLTYPE get_accDescription(VARIANT varID, BSTR* pszDescription); - HRESULT STDMETHODCALLTYPE get_accHelp(VARIANT varID, BSTR *pszHelp); - HRESULT STDMETHODCALLTYPE get_accHelpTopic(BSTR *pszHelpFile, VARIANT varChild, long *pidTopic); - HRESULT STDMETHODCALLTYPE get_accKeyboardShortcut(VARIANT varID, BSTR *pszKeyboardShortcut); - HRESULT STDMETHODCALLTYPE get_accName(VARIANT varID, BSTR* pszName); - HRESULT STDMETHODCALLTYPE put_accName(VARIANT varChild, BSTR szName); - HRESULT STDMETHODCALLTYPE get_accRole(VARIANT varID, VARIANT *pvarRole); - HRESULT STDMETHODCALLTYPE get_accState(VARIANT varID, VARIANT *pvarState); - HRESULT STDMETHODCALLTYPE get_accValue(VARIANT varID, BSTR* pszValue); - HRESULT STDMETHODCALLTYPE put_accValue(VARIANT varChild, BSTR szValue); - - HRESULT STDMETHODCALLTYPE accSelect(long flagsSelect, VARIANT varID); - HRESULT STDMETHODCALLTYPE get_accFocus(VARIANT *pvarID); - HRESULT STDMETHODCALLTYPE get_accSelection(VARIANT *pvarChildren); - - /* IOleWindow */ - HRESULT STDMETHODCALLTYPE GetWindow(HWND *phwnd); - HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - -private: - ULONG ref; - QAccessibleInterface *accessible; - - QAIPointer childPointer(VARIANT varID) - { - return QAIPointer(accessible->child(varID.lVal - 1)); - } -}; - -static inline BSTR QStringToBSTR(const QString &str) -{ - BSTR bstrVal; - - int wlen = str.length()+1; - bstrVal = SysAllocStringByteLen(0, wlen*2); - memcpy(bstrVal, str.unicode(), sizeof(QChar)*(wlen)); - bstrVal[wlen] = 0; - - return bstrVal; + if (compareAccessible(onePar.data(), otherPar.data())) + return onePar->indexOfChild(one) == otherPar->indexOfChild(other); + return false; } -/* -*/ - -/* - IUnknown -*/ -HRESULT STDMETHODCALLTYPE QWindowsAccessible::QueryInterface(REFIID id, LPVOID *iface) +#ifndef QT_NO_DEBUG +bool debug_accessibility() { - *iface = 0; - if (id == IID_IUnknown) - *iface = (IUnknown*)(IDispatch*)this; - else if (id == IID_IDispatch) - *iface = (IDispatch*)this; - else if (id == IID_IAccessible) - *iface = (IAccessible*)this; - else if (id == IID_IOleWindow) - *iface = (IOleWindow*)this; - else - return E_NOINTERFACE; - - AddRef(); - return S_OK; + static int debugging = -1; + if (debugging == -1) + debugging = qgetenv("QT_DEBUG_ACCESSIBILITY").toInt(); + return !!debugging; } +#endif -ULONG STDMETHODCALLTYPE QWindowsAccessible::AddRef() +#if defined(DEBUG_SHOW_ATCLIENT_COMMANDS) +void accessibleDebugClientCalls_helper(const char* funcName, const QAccessibleInterface *iface) { - return ++ref; -} - -ULONG STDMETHODCALLTYPE QWindowsAccessible::Release() -{ - if (!--ref) { - delete this; - return 0; - } - return ref; + QString str; + QDebug dbg(&str); + dbg << iface << QLatin1String(funcName); + accessibleDebug("%s", qPrintable(str)); } +#endif /* IDispatch */ -HRESULT STDMETHODCALLTYPE QWindowsAccessible::GetTypeInfoCount(unsigned int * pctinfo) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::GetTypeInfoCount(unsigned int * pctinfo) { // We don't use a type library *pctinfo = 0; return S_OK; } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::GetTypeInfo(unsigned int, unsigned long, ITypeInfo **pptinfo) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::GetTypeInfo(unsigned int, unsigned long, ITypeInfo **pptinfo) { // We don't use a type library *pptinfo = 0; return S_OK; } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::GetIDsOfNames(const _GUID &, wchar_t **rgszNames, unsigned int, unsigned long, long *rgdispid) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::GetIDsOfNames(const _GUID &, wchar_t **rgszNames, unsigned int, unsigned long, long *rgdispid) { #if !defined(Q_CC_BOR) && !defined(Q_CC_GNU) // PROPERTIES: Hierarchical @@ -440,7 +300,13 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::GetIDsOfNames(const _GUID &, wchar #endif } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::Invoke(long dispIdMember, const _GUID &, unsigned long, unsigned short wFlags, tagDISPPARAMS *pDispParams, tagVARIANT *pVarResult, tagEXCEPINFO *, unsigned int *) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::Invoke(long dispIdMember, + const _GUID &, + unsigned long, + unsigned short wFlags, + tagDISPPARAMS *pDispParams, + tagVARIANT *pVarResult, + tagEXCEPINFO *, unsigned int *) { HRESULT hr = DISP_E_MEMBERNOTFOUND; @@ -621,9 +487,8 @@ IAccessible::accHitTest documents the value returned in pvarID like this: | | | interface pointer | +--------------------------------------------------------+-------------+-------------------------+ */ -HRESULT STDMETHODCALLTYPE QWindowsAccessible::accHitTest(long xLeft, long yTop, VARIANT *pvarID) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::accHitTest(long xLeft, long yTop, VARIANT *pvarID) { - accessibleDebugClientCalls(accessible); if (!accessible->isValid()) return E_FAIL; @@ -637,9 +502,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::accHitTest(long xLeft, long yTop, return S_OK; } } else { - QWindowsAccessible* wacc = new QWindowsAccessible(child); - IDispatch *iface = 0; - wacc->QueryInterface(IID_IDispatch, (void**)&iface); + IAccessible *iface = QWindowsAccessibility::wrap(child); if (iface) { (*pvarID).vt = VT_DISPATCH; (*pvarID).pdispVal = iface; @@ -662,7 +525,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::accHitTest(long xLeft, long yTop, can be ignored. All stuff prefixed with "moz" are information from that page. */ // moz: [important] -HRESULT STDMETHODCALLTYPE QWindowsAccessible::accLocation(long *pxLeft, long *pyTop, long *pcxWidth, long *pcyHeight, VARIANT varID) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::accLocation(long *pxLeft, long *pyTop, long *pcxWidth, long *pcyHeight, VARIANT varID) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) @@ -686,7 +549,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::accLocation(long *pxLeft, long *py } // moz: [important, but no need to implement up/down/left/right] -HRESULT STDMETHODCALLTYPE QWindowsAccessible::accNavigate(long navDir, VARIANT varStart, VARIANT *pvarEnd) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::accNavigate(long navDir, VARIANT varStart, VARIANT *pvarEnd) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) @@ -809,16 +672,14 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::accNavigate(long navDir, VARIANT v (*pvarEnd).vt = VT_EMPTY; return S_FALSE; } - QWindowsAccessible* wacc = new QWindowsAccessible(acc); - IDispatch *iface = 0; - wacc->QueryInterface(IID_IDispatch, (void**)&iface); - if (iface) { + if (IAccessible *iface = QWindowsAccessibility::wrap(acc)) { (*pvarEnd).vt = VT_DISPATCH; (*pvarEnd).pdispVal = iface; return S_OK; } else { - delete wacc; + if (acc != accessible) + delete acc; } (*pvarEnd).vt = VT_EMPTY; @@ -826,13 +687,13 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::accNavigate(long navDir, VARIANT v } // moz: [important] -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accChild(VARIANT varChildID, IDispatch** ppdispChild) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accChild(VARIANT varChildID, IDispatch** ppdispChild) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) return E_FAIL; - if (varChildID.vt == VT_EMPTY) + if (varChildID.vt != VT_I4) return E_INVALIDARG; @@ -841,7 +702,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accChild(VARIANT varChildID, I if (childIndex < 0) { const int entry = childIndex; - QPair ref = qAccessibleRecentSentEvents()->value(entry); + QPair ref = QWindowsAccessibility::getCachedObject(entry); if (ref.first) { acc = QAccessible::queryAccessibleInterface(ref.first); if (acc && ref.second >= 0) { @@ -851,6 +712,8 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accChild(VARIANT varChildID, I return E_INVALIDARG; acc = res; } + } else { + qWarning("get_accChild got a negative varChildID, but did not find it in cache"); } } else { if (childIndex) { @@ -868,17 +731,15 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accChild(VARIANT varChildID, I } if (acc) { - QWindowsAccessible* wacc = new QWindowsAccessible(acc); - wacc->QueryInterface(IID_IDispatch, (void**)ppdispChild); + *ppdispChild = QWindowsAccessibility::wrap(acc); return S_OK; } - *ppdispChild = 0; - return S_FALSE; + return E_FAIL; } // moz: [important] -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accChildCount(long* pcountChildren) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accChildCount(long* pcountChildren) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) @@ -889,7 +750,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accChildCount(long* pcountChil } // moz: [important] -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accParent(IDispatch** ppdispParent) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accParent(IDispatch** ppdispParent) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) @@ -897,11 +758,12 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accParent(IDispatch** ppdispPa QAccessibleInterface *acc = accessible->parent(); if (acc) { - QWindowsAccessible* wacc = new QWindowsAccessible(acc); - wacc->QueryInterface(IID_IDispatch, (void**)ppdispParent); - - if (*ppdispParent) + if (IAccessible *iface = QWindowsAccessibility::wrap(acc)) { + *ppdispParent = iface; return S_OK; + } else { + delete acc; + } } *ppdispParent = 0; @@ -911,7 +773,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accParent(IDispatch** ppdispPa /* Properties and methods */ -HRESULT STDMETHODCALLTYPE QWindowsAccessible::accDoDefaultAction(VARIANT varID) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::accDoDefaultAction(VARIANT varID) { Q_UNUSED(varID); accessibleDebugClientCalls(accessible); @@ -928,7 +790,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::accDoDefaultAction(VARIANT varID) return S_FALSE; } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accDefaultAction(VARIANT varID, BSTR* pszDefaultAction) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accDefaultAction(VARIANT varID, BSTR* pszDefaultAction) { Q_UNUSED(varID); accessibleDebugClientCalls(accessible); @@ -944,7 +806,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accDefaultAction(VARIANT varID return *pszDefaultAction ? S_OK : S_FALSE; } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accDescription(VARIANT varID, BSTR* pszDescription) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accDescription(VARIANT varID, BSTR* pszDescription) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) @@ -969,7 +831,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accDescription(VARIANT varID, return S_FALSE; } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accHelp(VARIANT varID, BSTR *pszHelp) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accHelp(VARIANT varID, BSTR *pszHelp) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) @@ -993,12 +855,12 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accHelp(VARIANT varID, BSTR *p return S_FALSE; } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accHelpTopic(BSTR *, VARIANT, long *) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accHelpTopic(BSTR *, VARIANT, long *) { return DISP_E_MEMBERNOTFOUND; } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accKeyboardShortcut(VARIANT varID, BSTR *pszKeyboardShortcut) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accKeyboardShortcut(VARIANT varID, BSTR *pszKeyboardShortcut) { Q_UNUSED(varID); accessibleDebugClientCalls(accessible); @@ -1029,7 +891,7 @@ static QAccessibleInterface *relatedInterface(QAccessibleInterface *iface, QAcce } // moz: [important] -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accName(VARIANT varID, BSTR* pszName) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accName(VARIANT varID, BSTR* pszName) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) @@ -1065,14 +927,14 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accName(VARIANT varID, BSTR* p return S_FALSE; } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::put_accName(VARIANT, BSTR) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::put_accName(VARIANT, BSTR) { accessibleDebugClientCalls(accessible); return DISP_E_MEMBERNOTFOUND; } // moz: [important] -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accRole(VARIANT varID, VARIANT *pvarRole) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accRole(VARIANT varID, VARIANT *pvarRole) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) @@ -1100,7 +962,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accRole(VARIANT varID, VARIANT } // moz: [important] -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accState(VARIANT varID, VARIANT *pvarState) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accState(VARIANT varID, VARIANT *pvarState) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) @@ -1176,11 +1038,15 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accState(VARIANT varID, VARIAN } // moz: [important] -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accValue(VARIANT varID, BSTR* pszValue) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accValue(VARIANT varID, BSTR* pszValue) { accessibleDebugClientCalls(accessible); - if (!accessible->isValid() || varID.lVal) + if (varID.vt != VT_I4) + return E_INVALIDARG; + + if (!accessible->isValid() || varID.lVal) { return E_FAIL; + } QString value; if (accessible->valueInterface()) { @@ -1194,17 +1060,18 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accValue(VARIANT varID, BSTR* } *pszValue = 0; + accessibleDebug("return S_FALSE"); return S_FALSE; } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::put_accValue(VARIANT, BSTR) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::put_accValue(VARIANT, BSTR) { accessibleDebugClientCalls(accessible); return DISP_E_MEMBERNOTFOUND; } // moz: [important] -HRESULT STDMETHODCALLTYPE QWindowsAccessible::accSelect(long flagsSelect, VARIANT varID) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::accSelect(long flagsSelect, VARIANT varID) { Q_UNUSED(flagsSelect); Q_UNUSED(varID); @@ -1250,7 +1117,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::accSelect(long flagsSelect, VARIAN +-------------+------------------------------------------------------------------------------+ moz: [important] */ -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accFocus(VARIANT *pvarID) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accFocus(VARIANT *pvarID) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) @@ -1263,12 +1130,11 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accFocus(VARIANT *pvarID) delete acc; return S_OK; } else { - QWindowsAccessible* wacc = new QWindowsAccessible(acc); - IDispatch *iface = 0; - wacc->QueryInterface(IID_IDispatch, (void**)&iface); - (*pvarID).vt = VT_DISPATCH; - (*pvarID).pdispVal = iface; - return S_OK; + if (IAccessible *iface = QWindowsAccessibility::wrap(acc)) { + (*pvarID).vt = VT_DISPATCH; + (*pvarID).pdispVal = iface; + return S_OK; + } } delete acc; } @@ -1276,7 +1142,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accFocus(VARIANT *pvarID) return S_FALSE; } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accSelection(VARIANT *pvarChildren) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accSelection(VARIANT *pvarChildren) { accessibleDebugClientCalls(accessible); if (!accessible->isValid()) @@ -1314,212 +1180,34 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accSelection(VARIANT *pvarChil return S_OK; } -static QWindow *window_helper(const QAccessibleInterface *iface) -{ - QWindow *window = iface->window(); - if (!window) { - QAccessibleInterface *acc = iface->parent(); - while (acc && !window) { - window = acc->window(); - QAccessibleInterface *par = acc->parent(); - delete acc; - acc = par; - } - } - return window; -} - -HRESULT STDMETHODCALLTYPE QWindowsAccessible::GetWindow(HWND *phwnd) +/**************************************************************\ + * IOleWindow * + **************************************************************/ +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::GetWindow(HWND *phwnd) { *phwnd = 0; + accessibleDebugClientCalls(accessible); + if (!accessible->isValid()) + return E_FAIL; if (!accessible->isValid()) return E_UNEXPECTED; - QWindow *window = window_helper(accessible); + QWindow *window = QWindowsAccessibility::windowHelper(accessible); if (!window) return E_FAIL; QPlatformNativeInterface *platform = QGuiApplication::platformNativeInterface(); Q_ASSERT(platform); *phwnd = (HWND)platform->nativeResourceForWindow("handle", window); + accessibleDebug("QWindowsAccessible::GetWindow(): %p", *phwnd); return S_OK; } -HRESULT STDMETHODCALLTYPE QWindowsAccessible::ContextSensitiveHelp(BOOL) +HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::ContextSensitiveHelp(BOOL) { return S_OK; } - -QWindowsAccessibility::QWindowsAccessibility() -{ -} - - -void QWindowsAccessibility::notifyAccessibilityUpdate(const QAccessibleEvent &event) -{ - QString soundName; - switch (event.type()) { - case QAccessible::PopupMenuStart: - soundName = QLatin1String("MenuPopup"); - break; - - case QAccessible::MenuCommand: - soundName = QLatin1String("MenuCommand"); - break; - - case QAccessible::Alert: - { - /* ### FIXME -#ifndef QT_NO_MESSAGEBOX - QMessageBox *mb = qobject_cast(o); - if (mb) { - switch (mb->icon()) { - case QMessageBox::Warning: - soundName = QLatin1String("SystemExclamation"); - break; - case QMessageBox::Critical: - soundName = QLatin1String("SystemHand"); - break; - case QMessageBox::Information: - soundName = QLatin1String("SystemAsterisk"); - break; - default: - break; - } - } else -#endif // QT_NO_MESSAGEBOX -*/ - { - soundName = QLatin1String("SystemAsterisk"); - } - - } - break; - default: - break; - } - - if (!soundName.isEmpty()) { -#ifndef QT_NO_SETTINGS - QSettings settings(QLatin1String("HKEY_CURRENT_USER\\AppEvents\\Schemes\\Apps\\.Default\\") + soundName, - QSettings::NativeFormat); - QString file = settings.value(QLatin1String(".Current/.")).toString(); -#else - QString file; -#endif - if (!file.isEmpty()) { - PlaySound(reinterpret_cast(soundName.utf16()), 0, SND_ALIAS | SND_ASYNC | SND_NODEFAULT | SND_NOWAIT); - } - } - - typedef void (WINAPI *PtrNotifyWinEvent)(DWORD, HWND, LONG, LONG); - -#if defined(Q_OS_WINCE) // ### TODO: check for NotifyWinEvent in CE 6.0 - // There is no user32.lib nor NotifyWinEvent for CE - return; -#else - static PtrNotifyWinEvent ptrNotifyWinEvent = 0; - static bool resolvedNWE = false; - if (!resolvedNWE) { - resolvedNWE = true; - ptrNotifyWinEvent = (PtrNotifyWinEvent)QSystemLibrary::resolve(QLatin1String("user32"), "NotifyWinEvent"); - } - if (!ptrNotifyWinEvent) - return; - - // An event has to be associated with a window, - // so find the first parent that is a widget and that has a WId - QAccessibleInterface *iface = event.accessibleInterface(); - QWindow *window = iface ? window_helper(iface) : 0; - delete iface; - - if (!window) { - window = QGuiApplication::activeWindow(); - if (!window) - return; - } - - QPlatformNativeInterface *platform = QGuiApplication::platformNativeInterface(); - HWND hWnd = (HWND)platform->nativeResourceForWindow("handle", window); - - if (event.type() != QAccessible::MenuCommand) { // MenuCommand is faked - // See comment "SENDING EVENTS TO OBJECTS WITH NO WINDOW HANDLE" - eventNum %= 50; //[0..49] - int eventId = - eventNum - 1; - - qAccessibleRecentSentEvents()->insert(eventId, qMakePair(event.object(), event.child())); - ptrNotifyWinEvent(event.type(), hWnd, OBJID_CLIENT, eventId ); - - ++eventNum; - } -#endif // Q_OS_WINCE -} - -/* -void QWindowsAccessibility::setRootObject(QObject *o) -{ - -} - -void QWindowsAccessibility::initialize() -{ - -} - -void QWindowsAccessibility::cleanup() -{ - -} - -*/ - -bool QWindowsAccessibility::handleAccessibleObjectFromWindowRequest(HWND hwnd, WPARAM wParam, LPARAM lParam, LRESULT *lResult) -{ - if (static_cast(lParam) == static_cast(UiaRootObjectId)) { - /* For UI Automation - */ - } else if ((DWORD)lParam == OBJID_CLIENT) { -#if 1 - // Ignoring all requests while starting up - // ### Maybe QPA takes care of this??? - if (QApplication::startingUp() || QApplication::closingDown()) - return false; -#endif - - typedef LRESULT (WINAPI *PtrLresultFromObject)(REFIID, WPARAM, LPUNKNOWN); - static PtrLresultFromObject ptrLresultFromObject = 0; - static bool oleaccChecked = false; - - if (!oleaccChecked) { - oleaccChecked = true; -#if !defined(Q_OS_WINCE) - ptrLresultFromObject = (PtrLresultFromObject)QSystemLibrary::resolve(QLatin1String("oleacc"), "LresultFromObject"); -#endif - } - - if (ptrLresultFromObject) { - QWindow *window = QWindowsContext::instance()->findWindow(hwnd); - if (window) { - QAccessibleInterface *acc = window->accessibleRoot(); - if (acc) { - QWindowsAccessible *winacc = new QWindowsAccessible(acc); - IAccessible *iface; - HRESULT hr = winacc->QueryInterface(IID_IAccessible, (void**)&iface); - if (SUCCEEDED(hr)) { - *lResult = ptrLresultFromObject(IID_IAccessible, wParam, iface); // ref == 2 - if (*lResult) { - iface->Release(); // the client will release the object again, and then it will destroy itself - } - return true; - } - } - } - } - } - return false; -} - QT_END_NAMESPACE #endif //QT_NO_ACCESSIBILITY diff --git a/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h new file mode 100644 index 0000000000..9cb56c954c --- /dev/null +++ b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h @@ -0,0 +1,139 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia 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. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QWINDOWSMSAAACCESSIBLE_H +#define QWINDOWSMSAAACCESSIBLE_H + +#include +#ifndef QT_NO_ACCESSIBILITY + +#include "../qtwindows_additional.h" +#include +#include "Accessible2.h" +#include +#include + +QT_BEGIN_NAMESPACE + +#ifndef QT_NO_DEBUG +bool debug_accessibility(); +# define accessibleDebug !debug_accessibility() ? (void)0 : qDebug +#else +# define accessibleDebug +#endif + +#define DEBUG_SHOW_ATCLIENT_COMMANDS +#if defined(DEBUG_SHOW_ATCLIENT_COMMANDS) +void accessibleDebugClientCalls_helper(const char* funcName, const QAccessibleInterface *iface); +# define accessibleDebugClientCalls(iface) accessibleDebugClientCalls_helper(Q_FUNC_INFO, iface) +#else +# define accessibleDebugClientCalls(iface) +#endif + +typedef QSharedPointer QAIPointer; + +QWindow *window_helper(const QAccessibleInterface *iface); + +/**************************************************************\ + * QWindowsAccessible * + **************************************************************/ +class QWindowsMsaaAccessible : public IAccessible2, public IOleWindow +{ +public: + QWindowsMsaaAccessible(QAccessibleInterface *a) + : accessible(a) + { + } + + virtual ~QWindowsMsaaAccessible() + { + delete accessible; + } + + + /* IDispatch */ + HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned int *); + HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned int, unsigned long, ITypeInfo **); + HRESULT STDMETHODCALLTYPE GetIDsOfNames(const _GUID &, wchar_t **, unsigned int, unsigned long, long *); + HRESULT STDMETHODCALLTYPE Invoke(long, const _GUID &, unsigned long, unsigned short, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *); + + /* IAccessible */ + HRESULT STDMETHODCALLTYPE accHitTest(long xLeft, long yTop, VARIANT *pvarID); + HRESULT STDMETHODCALLTYPE accLocation(long *pxLeft, long *pyTop, long *pcxWidth, long *pcyHeight, VARIANT varID); + HRESULT STDMETHODCALLTYPE accNavigate(long navDir, VARIANT varStart, VARIANT *pvarEnd); + HRESULT STDMETHODCALLTYPE get_accChild(VARIANT varChildID, IDispatch** ppdispChild); + HRESULT STDMETHODCALLTYPE get_accChildCount(long* pcountChildren); + HRESULT STDMETHODCALLTYPE get_accParent(IDispatch** ppdispParent); + + HRESULT STDMETHODCALLTYPE accDoDefaultAction(VARIANT varID); + HRESULT STDMETHODCALLTYPE get_accDefaultAction(VARIANT varID, BSTR* pszDefaultAction); + HRESULT STDMETHODCALLTYPE get_accDescription(VARIANT varID, BSTR* pszDescription); + HRESULT STDMETHODCALLTYPE get_accHelp(VARIANT varID, BSTR *pszHelp); + HRESULT STDMETHODCALLTYPE get_accHelpTopic(BSTR *pszHelpFile, VARIANT varChild, long *pidTopic); + HRESULT STDMETHODCALLTYPE get_accKeyboardShortcut(VARIANT varID, BSTR *pszKeyboardShortcut); + HRESULT STDMETHODCALLTYPE get_accName(VARIANT varID, BSTR* pszName); + HRESULT STDMETHODCALLTYPE put_accName(VARIANT varChild, BSTR szName); + HRESULT STDMETHODCALLTYPE get_accRole(VARIANT varID, VARIANT *pvarRole); + HRESULT STDMETHODCALLTYPE get_accState(VARIANT varID, VARIANT *pvarState); + HRESULT STDMETHODCALLTYPE get_accValue(VARIANT varID, BSTR* pszValue); + HRESULT STDMETHODCALLTYPE put_accValue(VARIANT varChild, BSTR szValue); + + HRESULT STDMETHODCALLTYPE accSelect(long flagsSelect, VARIANT varID); + HRESULT STDMETHODCALLTYPE get_accFocus(VARIANT *pvarID); + HRESULT STDMETHODCALLTYPE get_accSelection(VARIANT *pvarChildren); + + /* IOleWindow */ + HRESULT STDMETHODCALLTYPE GetWindow(HWND *phwnd); + HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + +protected: + QAccessibleInterface *accessible; + + QAIPointer childPointer(VARIANT varID) + { + return QAIPointer(accessible->child(varID.lVal - 1)); + } +}; + +QT_END_NAMESPACE + +#endif //QT_NO_ACCESSIBILITY + +#endif // QWINDOWSMSAAACCESSIBLE_H diff --git a/src/plugins/platforms/windows/qtwindows_additional.h b/src/plugins/platforms/windows/qtwindows_additional.h index ac768e2dab..3465d4ab1e 100644 --- a/src/plugins/platforms/windows/qtwindows_additional.h +++ b/src/plugins/platforms/windows/qtwindows_additional.h @@ -71,6 +71,16 @@ #define IFACEMETHODIMP STDMETHODIMP #define IFACEMETHODIMP_(type) STDMETHODIMP_(type) +// For accessibility: +#ifdef __cplusplus + #define EXTERN_C extern "C" +#else + #define EXTERN_C extern +#endif + +#define CHILDID_SELF 0 +#define WM_GETOBJECT 0x003D + #if !defined(__MINGW64_VERSION_MAJOR) #define STATE_SYSTEM_HASPOPUP 0x40000000 diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp index 2706e02cf8..f61e40ef77 100644 --- a/src/plugins/platforms/windows/qwindowscontext.cpp +++ b/src/plugins/platforms/windows/qwindowscontext.cpp @@ -47,7 +47,7 @@ #include "qtwindowsglobal.h" #include "qwindowsmime.h" #include "qwindowsinputcontext.h" -#include "qwindowsaccessibility.h" +#include "accessible/qwindowsaccessibility.h" #include "qwindowsscreen.h" #include "qwindowstheme.h" @@ -788,7 +788,8 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message, QWindowSystemInterface::handleCloseEvent(platformWindow->window()); return true; case QtWindows::ThemeChanged: // ### fixme: Compress these events? - QWindowsTheme::instance()->windowsThemeChanged(platformWindow->window()); + if (QWindowsTheme *theme = QWindowsTheme::instance()) + theme->windowsThemeChanged(platformWindow->window()); return true; default: break; diff --git a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp index 5094ad9dc3..e0be731b53 100644 --- a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp +++ b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp @@ -1065,9 +1065,17 @@ static inline int verticalDPI() return GetDeviceCaps(QWindowsContext::instance()->displayContext(), LOGPIXELSY); } -QFont QWindowsFontDatabase::defaultFont() const +QFont QWindowsFontDatabase::systemDefaultFont() { - return QWindowsFontDatabaseFT::systemDefaultFont(); + LOGFONT lf; + GetObject(GetStockObject(DEFAULT_GUI_FONT), sizeof(lf), &lf); + QFont systemFont = QWindowsFontDatabase::LOGFONT_to_QFont(lf); + // "MS Shell Dlg 2" is the correct system font >= Win2k + if (systemFont.family() == QStringLiteral("MS Shell Dlg")) + systemFont.setFamily(QStringLiteral("MS Shell Dlg 2")); + if (QWindowsContext::verboseFonts) + qDebug() << __FUNCTION__ << systemFont; + return systemFont; } QFont QWindowsFontDatabase::LOGFONT_to_QFont(const LOGFONT& logFont, int verticalDPI_In) diff --git a/src/plugins/platforms/windows/qwindowsfontdatabase.h b/src/plugins/platforms/windows/qwindowsfontdatabase.h index 04d6ccdd91..f8f2a1eb85 100644 --- a/src/plugins/platforms/windows/qwindowsfontdatabase.h +++ b/src/plugins/platforms/windows/qwindowsfontdatabase.h @@ -85,7 +85,8 @@ public: virtual void releaseHandle(void *handle); virtual QString fontDir() const; - virtual QFont defaultFont() const; + virtual QFont defaultFont() const { return systemDefaultFont(); } + static QFont systemDefaultFont(); static QFontEngine *createEngine(int script, const QFontDef &request, HDC fontHdc, int dpi, bool rawMode, diff --git a/src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp b/src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp index fcce87d0bd..f90a880cd3 100644 --- a/src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp +++ b/src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include "qwindowsfontdatabase_ft.h" +#include "qwindowsfontdatabase.h" #include "qwindowscontext.h" #include @@ -460,17 +461,9 @@ static inline int verticalDPI() return GetDeviceCaps(QWindowsContext::instance()->displayContext(), LOGPIXELSY); } -QFont QWindowsFontDatabaseFT::systemDefaultFont() +QFont QWindowsFontDatabaseFT::defaultFont() const { - LOGFONT lf; - GetObject(GetStockObject(DEFAULT_GUI_FONT), sizeof(lf), &lf); - QFont systemFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(lf); - // "MS Shell Dlg 2" is the correct system font >= Win2k - if (systemFont.family() == QStringLiteral("MS Shell Dlg")) - systemFont.setFamily(QStringLiteral("MS Shell Dlg 2")); - if (QWindowsContext::verboseFonts) - qDebug() << __FUNCTION__ << systemFont; - return systemFont; + return QWindowsFontDatabase::systemDefaultFont(); } QFont QWindowsFontDatabaseFT::LOGFONT_to_QFont(const LOGFONT& logFont, int verticalDPI_In) diff --git a/src/plugins/platforms/windows/qwindowsfontdatabase_ft.h b/src/plugins/platforms/windows/qwindowsfontdatabase_ft.h index 4136b75dd8..24810c9202 100644 --- a/src/plugins/platforms/windows/qwindowsfontdatabase_ft.h +++ b/src/plugins/platforms/windows/qwindowsfontdatabase_ft.h @@ -59,8 +59,7 @@ public: QStringList addApplicationFont(const QByteArray &fontData, const QString &fileName); virtual QString fontDir() const; - virtual QFont defaultFont() const { return systemDefaultFont(); } - static QFont systemDefaultFont(); + virtual QFont defaultFont() const; static HFONT systemFont(); static QFont LOGFONT_to_QFont(const LOGFONT& lf, int verticalDPI = 0); diff --git a/src/plugins/platforms/windows/qwindowsintegration.cpp b/src/plugins/platforms/windows/qwindowsintegration.cpp index 3c2ece58d0..ee58a19ca9 100644 --- a/src/plugins/platforms/windows/qwindowsintegration.cpp +++ b/src/plugins/platforms/windows/qwindowsintegration.cpp @@ -55,8 +55,8 @@ #include "qwindowsclipboard.h" #include "qwindowsdrag.h" #include "qwindowsinputcontext.h" -#include "qwindowsaccessibility.h" #include "qwindowskeymapper.h" +#include "accessible/qwindowsaccessibility.h" #include #include @@ -183,7 +183,6 @@ struct QWindowsIntegrationPrivate QOpenGLStaticContextPtr m_staticOpenGLContext; QWindowsInputContext m_inputContext; QWindowsAccessibility m_accessibility; - QWindowsTheme m_theme; QWindowsServices m_services; }; @@ -362,9 +361,16 @@ QAbstractEventDispatcher * QWindowsIntegration::guiThreadEventDispatcher() const return d->m_eventDispatcher; } -QPlatformTheme *QWindowsIntegration::platformTheme() const +QStringList QWindowsIntegration::themeNames() const { - return &d->m_theme; + return QStringList(QLatin1String(QWindowsTheme::name)); +} + +QPlatformTheme *QWindowsIntegration::createPlatformTheme(const QString &name) const +{ + if (name == QLatin1String(QWindowsTheme::name)) + return new QWindowsTheme; + return QPlatformIntegration::createPlatformTheme(name); } QPlatformServices *QWindowsIntegration::services() const diff --git a/src/plugins/platforms/windows/qwindowsintegration.h b/src/plugins/platforms/windows/qwindowsintegration.h index 6dd65a02e4..20fd790bfe 100644 --- a/src/plugins/platforms/windows/qwindowsintegration.h +++ b/src/plugins/platforms/windows/qwindowsintegration.h @@ -69,7 +69,8 @@ public: virtual QPlatformAccessibility *accessibility() const; virtual QPlatformNativeInterface *nativeInterface() const; virtual QPlatformFontDatabase *fontDatabase() const; - virtual QPlatformTheme *platformTheme() const; + virtual QStringList themeNames() const; + virtual QPlatformTheme *createPlatformTheme(const QString &name) const; QPlatformServices *services() const; virtual QVariant styleHint(StyleHint hint) const; diff --git a/src/plugins/platforms/windows/qwindowstheme.cpp b/src/plugins/platforms/windows/qwindowstheme.cpp index 10b4682ad8..f3a9d91d00 100644 --- a/src/plugins/platforms/windows/qwindowstheme.cpp +++ b/src/plugins/platforms/windows/qwindowstheme.cpp @@ -44,7 +44,7 @@ #include "qwindowscontext.h" #include "qwindowsintegration.h" #include "qt_windows.h" -#include "qwindowsfontdatabase_ft.h" +#include "qwindowsfontdatabase.h" #include #include @@ -229,8 +229,12 @@ static inline QPalette *menuBarPalette(const QPalette &menuPalette) return result; } +const char *QWindowsTheme::name = "windows"; +QWindowsTheme *QWindowsTheme::m_instance = 0; + QWindowsTheme::QWindowsTheme() { + m_instance = this; qFill(m_fonts, m_fonts + NFonts, static_cast(0)); qFill(m_palettes, m_palettes + NPalettes, static_cast(0)); refresh(); @@ -240,11 +244,7 @@ QWindowsTheme::~QWindowsTheme() { clearPalettes(); clearFonts(); -} - -QWindowsTheme *QWindowsTheme::instance() -{ - return static_cast(QWindowsIntegration::instance()->platformTheme()); + m_instance = 0; } static inline QStringList iconThemeSearchPaths() @@ -325,16 +325,16 @@ void QWindowsTheme::refreshFonts() ncm.cbSize = FIELD_OFFSET(NONCLIENTMETRICS, lfMessageFont) + sizeof(LOGFONT); SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize , &ncm, 0); - const QFont menuFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfMenuFont); - const QFont messageBoxFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfMessageFont); - const QFont statusFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfStatusFont); - const QFont titleFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfCaptionFont); + const QFont menuFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfMenuFont); + const QFont messageBoxFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfMessageFont); + const QFont statusFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfStatusFont); + const QFont titleFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfCaptionFont); LOGFONT lfIconTitleFont; SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(lfIconTitleFont), &lfIconTitleFont, 0); - const QFont iconTitleFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(lfIconTitleFont); + const QFont iconTitleFont = QWindowsFontDatabase::LOGFONT_to_QFont(lfIconTitleFont); - m_fonts[SystemFont] = new QFont(QWindowsFontDatabaseFT::systemDefaultFont()); + m_fonts[SystemFont] = new QFont(QWindowsFontDatabase::systemDefaultFont()); m_fonts[MenuFont] = new QFont(menuFont); m_fonts[MenuBarFont] = new QFont(menuFont); m_fonts[MessageBoxFont] = new QFont(messageBoxFont); diff --git a/src/plugins/platforms/windows/qwindowstheme.h b/src/plugins/platforms/windows/qwindowstheme.h index 37346eed3a..7515a13a72 100644 --- a/src/plugins/platforms/windows/qwindowstheme.h +++ b/src/plugins/platforms/windows/qwindowstheme.h @@ -57,7 +57,7 @@ public: QWindowsTheme(); ~QWindowsTheme(); - static QWindowsTheme *instance(); + static QWindowsTheme *instance() { return m_instance; } virtual bool usePlatformNativeDialog(DialogType type) const; virtual QPlatformDialogHelper *createPlatformDialogHelper(DialogType type) const; @@ -69,6 +69,8 @@ public: void windowsThemeChanged(QWindow *window); + static const char *name; + private: void refresh() { refreshPalettes(); refreshFonts(); } void clearPalettes(); @@ -76,6 +78,7 @@ private: void clearFonts(); void refreshFonts(); + static QWindowsTheme *m_instance; QPalette *m_palettes[NPalettes]; QFont *m_fonts[NFonts]; }; diff --git a/src/plugins/platforms/windows/windows.pro b/src/plugins/platforms/windows/windows.pro index bb41fe87fc..87bc7245c4 100644 --- a/src/plugins/platforms/windows/windows.pro +++ b/src/plugins/platforms/windows/windows.pro @@ -45,7 +45,6 @@ SOURCES += \ qwindowsdrag.cpp \ qwindowscursor.cpp \ qwindowsinputcontext.cpp \ - qwindowsaccessibility.cpp \ qwindowstheme.cpp \ qwindowsdialoghelpers.cpp \ qwindowsservices.cpp @@ -73,7 +72,6 @@ HEADERS += \ qwindowscursor.h \ array.h \ qwindowsinputcontext.h \ - qwindowsaccessibility.h \ qwindowstheme.h \ qwindowsdialoghelpers.h \ qwindowsservices.h @@ -151,5 +149,6 @@ contains(QT_CONFIG, freetype) { OTHER_FILES += windows.json +include(accessible/accessible.pri) target.path += $$[QT_INSTALL_PLUGINS]/platforms INSTALLS += target diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp index fe33bd7153..50d3c4f1b5 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.cpp +++ b/src/plugins/platforms/xcb/qxcbintegration.cpp @@ -82,14 +82,15 @@ #include #include +#ifndef QT_NO_ACCESSIBILITY #include +#endif QT_BEGIN_NAMESPACE QXcbIntegration::QXcbIntegration(const QStringList ¶meters) : m_eventDispatcher(createUnixEventDispatcher()), - m_services(new QGenericUnixServices), - m_theme(QGenericUnixTheme::createUnixTheme()) + m_services(new QGenericUnixServices) { QGuiApplicationPrivate::instance()->setEventDispatcher(m_eventDispatcher); @@ -114,7 +115,9 @@ QXcbIntegration::QXcbIntegration(const QStringList ¶meters) m_fontDatabase.reset(new QGenericUnixFontDatabase()); m_inputContext.reset(QPlatformInputContextFactory::create()); +#ifndef QT_NO_ACCESSIBILITY m_accessibility.reset(new QPlatformAccessibility()); +#endif #if defined(QT_USE_XCB_SHARED_GRAPHICS_CACHE) m_sharedGraphicsCache.reset(new QXcbSharedGraphicsCache); @@ -247,10 +250,12 @@ QPlatformInputContext *QXcbIntegration::inputContext() const return m_inputContext.data(); } +#ifndef QT_NO_ACCESSIBILITY QPlatformAccessibility *QXcbIntegration::accessibility() const { return m_accessibility.data(); } +#endif #if defined(QT_USE_XCB_SHARED_GRAPHICS_CACHE) static bool sharedGraphicsCacheDisabled() @@ -277,9 +282,14 @@ QPlatformServices *QXcbIntegration::services() const return m_services.data(); } -QPlatformTheme *QXcbIntegration::platformTheme() const +QStringList QXcbIntegration::themeNames() const { - return m_theme.data(); + return QGenericUnixTheme::themeNames(); +} + +QPlatformTheme *QXcbIntegration::createPlatformTheme(const QString &name) const +{ + return QGenericUnixTheme::createUnixTheme(name); } QT_END_NAMESPACE diff --git a/src/plugins/platforms/xcb/qxcbintegration.h b/src/plugins/platforms/xcb/qxcbintegration.h index 457f90d6e0..58eebfe716 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.h +++ b/src/plugins/platforms/xcb/qxcbintegration.h @@ -77,7 +77,9 @@ public: QPlatformInputContext *inputContext() const; +#ifndef QT_NO_ACCESSIBILITY QPlatformAccessibility *accessibility() const; +#endif #if defined(QT_USE_XCB_SHARED_GRAPHICS_CACHE) QPlatformSharedGraphicsCache *createPlatformSharedGraphicsCache(const char *cacheId) const; @@ -85,7 +87,8 @@ public: QPlatformServices *services() const; - QPlatformTheme *platformTheme() const; + QStringList themeNames() const; + QPlatformTheme *createPlatformTheme(const QString &name) const; private: QList m_connections; @@ -96,14 +99,15 @@ private: QScopedPointer m_inputContext; QAbstractEventDispatcher *m_eventDispatcher; +#ifndef QT_NO_ACCESSIBILITY QScopedPointer m_accessibility; +#endif #if defined(QT_USE_XCB_SHARED_GRAPHICS_CACHE) QScopedPointer m_sharedGraphicsCache; #endif QScopedPointer m_services; - QScopedPointer m_theme; }; QT_END_NAMESPACE diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index 055defde08..4de3734c22 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -549,7 +549,8 @@ void QXcbWindow::show() updateNetWmStateBeforeMap(); } - updateNetWmUserTime(connection()->time()); + if (connection()->time() != CurrentTime) + updateNetWmUserTime(connection()->time()); Q_XCB_CALL(xcb_map_window(xcb_connection(), m_window)); xcb_flush(xcb_connection()); @@ -1306,7 +1307,7 @@ void QXcbWindow::handleConfigureNotifyEvent(const xcb_configure_notify_event_t * { bool fromSendEvent = (event->response_type & 0x80); QPoint pos(event->x, event->y); - if (!fromSendEvent) { + if (!parent() && !fromSendEvent) { // Do not trust the position, query it instead. xcb_translate_coordinates_cookie_t cookie = xcb_translate_coordinates(xcb_connection(), xcb_window(), m_screen->root(), 0, 0); diff --git a/src/plugins/platforms/xlib/qglxintegration.cpp b/src/plugins/platforms/xlib/qglxintegration.cpp index 51621408b9..b2d44cf084 100644 --- a/src/plugins/platforms/xlib/qglxintegration.cpp +++ b/src/plugins/platforms/xlib/qglxintegration.cpp @@ -41,7 +41,6 @@ #include #include -#include #include "qxlibwindow.h" #include "qxlibscreen.h" diff --git a/src/plugins/platforms/xlib/qxlibkeyboard.cpp b/src/plugins/platforms/xlib/qxlibkeyboard.cpp index 590d582661..1ebf22b7ba 100644 --- a/src/plugins/platforms/xlib/qxlibkeyboard.cpp +++ b/src/plugins/platforms/xlib/qxlibkeyboard.cpp @@ -48,6 +48,10 @@ #include +#if defined(QT_LINUXBASE) +# include +#endif + #ifndef XK_ISO_Left_Tab #define XK_ISO_Left_Tab 0xFE20 #endif diff --git a/src/plugins/platforms/xlib/qxlibwindow.cpp b/src/plugins/platforms/xlib/qxlibwindow.cpp index 94c4332e65..00403aed64 100644 --- a/src/plugins/platforms/xlib/qxlibwindow.cpp +++ b/src/plugins/platforms/xlib/qxlibwindow.cpp @@ -62,7 +62,8 @@ #include #include -#include +#include +#include #include //#define MYX11_DEBUG @@ -379,10 +380,11 @@ void QXlibWindow::mousePressEvent(XButtonEvent *e) QEvent::Type type = QEvent::MouseButtonPress; - if (e->window == prevWindow && long(e->time) - prevTime < QApplication::doubleClickInterval() + const int doubleClickInterval = qApp->styleHints()->mouseDoubleClickInterval(); + if (e->window == prevWindow && long(e->time) - prevTime < doubleClickInterval && qAbs(e->x - prevX) < 5 && qAbs(e->y - prevY) < 5) { type = QEvent::MouseButtonDblClick; - prevTime = e->time - QApplication::doubleClickInterval(); //no double click next time + prevTime = e->time - doubleClickInterval; //no double click next time } else { prevTime = e->time; } @@ -724,7 +726,7 @@ void QXlibWindow::doSizeHints() s.flags |= USSize; s.flags |= PSize; s.flags |= PWinGravity; - s.win_gravity = QApplication::isRightToLeft() ? NorthEastGravity : NorthWestGravity; + s.win_gravity = QGuiApplication::isRightToLeft() ? NorthEastGravity : NorthWestGravity; XSetWMNormalHints(mScreen->display()->nativeDisplay(), x_window, &s); } diff --git a/src/plugins/platforms/xlib/xlib.pro b/src/plugins/platforms/xlib/xlib.pro index 463130a64b..a4e006f837 100644 --- a/src/plugins/platforms/xlib/xlib.pro +++ b/src/plugins/platforms/xlib/xlib.pro @@ -43,7 +43,6 @@ mac { CONFIG += qpa/genericunixfontdatabase contains(QT_CONFIG, opengl) { - QT += opengl !contains(QT_CONFIG, opengles2) { # load(qpa/glx/convenience) HEADERS += qglxintegration.h diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro index 177f64c71b..0855847177 100644 --- a/src/plugins/plugins.pro +++ b/src/plugins/plugins.pro @@ -2,7 +2,7 @@ TEMPLATE = subdirs SUBDIRS *= sqldrivers bearer !contains(QT_CONFIG, no-gui): SUBDIRS *= imageformats -!isEmpty(QT.widgets.name): SUBDIRS += accessible +!contains(QT_CONFIG, no-widgets): SUBDIRS += accessible SUBDIRS += platforms platforminputcontexts generic diff --git a/src/plugins/printsupport/cocoa/cocoa.json b/src/plugins/printsupport/cocoa/cocoa.json new file mode 100644 index 0000000000..85c38c42be --- /dev/null +++ b/src/plugins/printsupport/cocoa/cocoa.json @@ -0,0 +1,3 @@ +{ + "Keys": [ "cocoaprintersupport" ] +} diff --git a/src/plugins/printsupport/cocoa/cocoa.pro b/src/plugins/printsupport/cocoa/cocoa.pro new file mode 100644 index 0000000000..353094cbae --- /dev/null +++ b/src/plugins/printsupport/cocoa/cocoa.pro @@ -0,0 +1,13 @@ +TARGET = cocoaprintersupport +load(qt_plugin) +DESTDIR = $$QT.gui.plugins/printsupport + +QT += printsupport +LIBS += -framework Cocoa + +SOURCES += main.cpp + +OTHER_FILES += cocoa.json + +target.path += $$[QT_INSTALL_PLUGINS]/printsupport +INSTALLS += target diff --git a/src/plugins/platforms/vnc/main.cpp b/src/plugins/printsupport/cocoa/main.cpp similarity index 53% rename from src/plugins/platforms/vnc/main.cpp rename to src/plugins/printsupport/cocoa/main.cpp index 7ec780af53..bc8f2e072c 100644 --- a/src/plugins/platforms/vnc/main.cpp +++ b/src/plugins/printsupport/cocoa/main.cpp @@ -3,7 +3,7 @@ ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/ ** -** This file is part of the plugins of the Qt Toolkit. +** This file is part of the QtPrintSupport module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** GNU Lesser General Public License Usage @@ -39,35 +39,46 @@ ** ****************************************************************************/ -#include "qvncintegration.h" -#include -#include +#include +#include +#include +#include QT_BEGIN_NAMESPACE -class QVNCIntegrationPlugin : public QPlatformIntegrationPlugin +class QCocoaPrinterSupportPlugin : public QPlatformPrinterSupportPlugin { + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.QPlatformPrinterSupportFactoryInterface" FILE "cocoa.json") + public: QStringList keys() const; - QPlatformIntegration *create(const QString&, const QStringList &); + QPlatformPrinterSupport *create(const QString &); }; -QStringList QVNCIntegrationPlugin::keys() const +QStringList QCocoaPrinterSupportPlugin::keys() const { - QStringList list; - list << "VNC"; - return list; + return QStringList(QStringLiteral("cocoaprintersupport")); } -QPlatformIntegration* QVNCIntegrationPlugin::create(const QString& system, const QStringList& paramList) +QPlatformPrinterSupport *QCocoaPrinterSupportPlugin::create(const QString &key) { - Q_UNUSED(paramList); - if (system.toLower() == "vnc") - return new QVNCIntegration(paramList); - - return 0; + if (key.compare(key, QStringLiteral("cocoaprintersupport"), Qt::CaseInsensitive) != 0) + return 0; + QGuiApplication *app = qobject_cast(QCoreApplication::instance()); + if (!app) + return 0; + QPlatformNativeInterface *platformNativeInterface = app->platformNativeInterface(); + int at = platformNativeInterface->metaObject()->indexOfMethod("createPlatformPrinterSupport()"); + if (at == -1) + return 0; + QMetaMethod createPlatformPrinterSupport = platformNativeInterface->metaObject()->method(at); + QPlatformPrinterSupport *platformPrinterSupport = 0; + if (!createPlatformPrinterSupport.invoke(platformNativeInterface, Q_RETURN_ARG(QPlatformPrinterSupport *, platformPrinterSupport))) + return 0; + return platformPrinterSupport; } -Q_EXPORT_PLUGIN2(vnc, QVNCIntegrationPlugin) - QT_END_NAMESPACE + +#include "main.moc" diff --git a/src/plugins/printsupport/printsupport.pro b/src/plugins/printsupport/printsupport.pro index 9298e7981f..547ac42c9e 100644 --- a/src/plugins/printsupport/printsupport.pro +++ b/src/plugins/printsupport/printsupport.pro @@ -1,3 +1,4 @@ TEMPLATE = subdirs +mac: SUBDIRS += cocoa win32: SUBDIRS += windows diff --git a/src/printsupport/dialogs/dialogs.pri b/src/printsupport/dialogs/dialogs.pri index 68b1737d73..2b92f43bec 100644 --- a/src/printsupport/dialogs/dialogs.pri +++ b/src/printsupport/dialogs/dialogs.pri @@ -9,10 +9,10 @@ HEADERS += \ dialogs/qprintdialog.h \ dialogs/qprintpreviewdialog.h -# ### fixme -false { +mac { OBJECTIVE_SOURCES += dialogs/qpagesetupdialog_mac.mm \ dialogs/qprintdialog_mac.mm + LIBS += -framework Cocoa } win32 { @@ -20,7 +20,7 @@ win32 { dialogs/qprintdialog_win.cpp } -unix { +unix:!mac { HEADERS += dialogs/qpagesetupdialog_unix_p.h SOURCES += dialogs/qprintdialog_unix.cpp \ dialogs/qpagesetupdialog_unix.cpp diff --git a/src/printsupport/dialogs/qpagesetupdialog.h b/src/printsupport/dialogs/qpagesetupdialog.h index 479332c097..466550b28b 100644 --- a/src/printsupport/dialogs/qpagesetupdialog.h +++ b/src/printsupport/dialogs/qpagesetupdialog.h @@ -83,7 +83,7 @@ public: void setOptions(PageSetupDialogOptions options); PageSetupDialogOptions options() const; -#if defined(Q_WS_MAC) || defined(Q_OS_WIN) +#if defined(Q_OS_MAC) || defined(Q_OS_WIN) virtual void setVisible(bool visible); #endif virtual int exec(); diff --git a/src/printsupport/dialogs/qpagesetupdialog_mac.mm b/src/printsupport/dialogs/qpagesetupdialog_mac.mm index 3cd14489a3..6e4469e387 100644 --- a/src/printsupport/dialogs/qpagesetupdialog_mac.mm +++ b/src/printsupport/dialogs/qpagesetupdialog_mac.mm @@ -39,12 +39,13 @@ ** ****************************************************************************/ -#include "qpagesetupdialog.h" +#include -#include -#include -#include -#include +#include "qpagesetupdialog.h" +#include "qabstractpagesetupdialog_p.h" + +#include +#include #ifndef QT_NO_PRINTDIALOG @@ -52,20 +53,21 @@ QT_USE_NAMESPACE @class QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate); -@interface QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate) : NSObject { - QMacPrintEnginePrivate *pe; +@interface QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate) : NSObject +{ + NSPrintInfo *printInfo; } -- (id)initWithMacPrintEngine:(QMacPrintEnginePrivate *)printEngine; +- (id)initWithNSPrintInfo:(NSPrintInfo *)nsPrintInfo; - (void)pageLayoutDidEnd:(NSPageLayout *)pageLayout returnCode:(int)returnCode contextInfo:(void *)contextInfo; @end @implementation QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate) -- (id)initWithMacPrintEngine:(QMacPrintEnginePrivate *)printEngine +- (id)initWithNSPrintInfo:(NSPrintInfo *)nsPrintInfo { self = [super init]; if (self) { - pe = printEngine; + printInfo = nsPrintInfo; } return self; @@ -75,29 +77,30 @@ QT_USE_NAMESPACE { Q_UNUSED(pageLayout); QPageSetupDialog *dialog = static_cast(contextInfo); + QPrinter *printer = dialog->printer(); + if (returnCode == NSOKButton) { + PMPageFormat format = static_cast([printInfo PMPageFormat]); PMRect paperRect; - PMGetUnadjustedPaperRect(pe->format, &paperRect); - pe->customSize = QSizeF(paperRect.right - paperRect.left, - paperRect.bottom - paperRect.top); + PMGetUnadjustedPaperRect(format, &paperRect); + QSizeF paperSize = QSizeF(paperRect.right - paperRect.left, paperRect.bottom - paperRect.top); + printer->printEngine()->setProperty(QPrintEngine::PPK_CustomPaperSize, paperSize); } + dialog->done((returnCode == NSOKButton) ? QDialog::Accepted : QDialog::Rejected); } @end QT_BEGIN_NAMESPACE -extern void macStartInterceptWindowTitle(QWidget *window); -extern void macStopInterceptWindowTitle(); - class QPageSetupDialogPrivate : public QAbstractPageSetupDialogPrivate { Q_DECLARE_PUBLIC(QPageSetupDialog) public: - QPageSetupDialogPrivate() : ep(0) - ,pageLayout(0) - {} + QPageSetupDialogPrivate() + : printInfo(0), pageLayout(0) + { } ~QPageSetupDialogPrivate() { } @@ -105,7 +108,7 @@ public: void openCocoaPageLayout(Qt::WindowModality modality); void closeCocoaPageLayout(); - QMacPrintEnginePrivate *ep; + NSPrintInfo *printInfo; NSPageLayout *pageLayout; }; @@ -113,56 +116,50 @@ void QPageSetupDialogPrivate::openCocoaPageLayout(Qt::WindowModality modality) { Q_Q(QPageSetupDialog); - // If someone is reusing a QPrinter object, the end released all our old - // information. In this case, we must reinitialize. - if (ep->session == 0) - ep->initialize(); + // get the NSPrintInfo from the print engine in the platform plugin + void *voidp = 0; + (void) QMetaObject::invokeMethod(qApp->platformNativeInterface(), + "NSPrintInfoForPrintEngine", + Q_RETURN_ARG(void *, voidp), + Q_ARG(QPrintEngine *, printer->printEngine())); + printInfo = static_cast(voidp); + [printInfo retain]; - macStartInterceptWindowTitle(q); pageLayout = [NSPageLayout pageLayout]; // Keep a copy to this since we plan on using it for a bit. [pageLayout retain]; - QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate) *delegate = [[QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate) alloc] initWithMacPrintEngine:ep]; + QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate) *delegate = [[QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate) alloc] initWithNSPrintInfo:printInfo]; if (modality == Qt::ApplicationModal) { - int rval = [pageLayout runModalWithPrintInfo:ep->printInfo]; + int rval = [pageLayout runModalWithPrintInfo:printInfo]; [delegate pageLayoutDidEnd:pageLayout returnCode:rval contextInfo:q]; } else { Q_ASSERT(q->parentWidget()); - [pageLayout beginSheetWithPrintInfo:ep->printInfo - modalForWindow:qt_mac_window_for(q->parentWidget()) + QWindow *parentWindow = q->parentWidget()->windowHandle(); + NSWindow *window = static_cast(qApp->platformNativeInterface()->nativeResourceForWindow("nswindow", parentWindow)); + [pageLayout beginSheetWithPrintInfo:printInfo + modalForWindow:window delegate:delegate didEndSelector:@selector(pageLayoutDidEnd:returnCode:contextInfo:) contextInfo:q]; } - - macStopInterceptWindowTitle(); } void QPageSetupDialogPrivate::closeCocoaPageLayout() { - // NSPageLayout can change the session behind our back and then our - // d->ep->session object will become a dangling pointer. Update it - // based on the "current" session - ep->session = static_cast([ep->printInfo PMPrintSession]); - + [printInfo release]; + printInfo = 0; [pageLayout release]; pageLayout = 0; } QPageSetupDialog::QPageSetupDialog(QPrinter *printer, QWidget *parent) : QAbstractPageSetupDialog(*(new QPageSetupDialogPrivate), printer, parent) -{ - Q_D(QPageSetupDialog); - d->ep = static_cast(d->printer->paintEngine())->d_func(); -} +{ } QPageSetupDialog::QPageSetupDialog(QWidget *parent) : QAbstractPageSetupDialog(*(new QPageSetupDialogPrivate), 0, parent) -{ - Q_D(QPageSetupDialog); - d->ep = static_cast(d->printer->paintEngine())->d_func(); -} +{ } void QPageSetupDialog::setVisible(bool visible) { @@ -194,9 +191,10 @@ int QPageSetupDialog::exec() if (d->printer->outputFormat() != QPrinter::NativeFormat) return Rejected; - QMacCocoaAutoReleasePool pool; + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; d->openCocoaPageLayout(Qt::ApplicationModal); d->closeCocoaPageLayout(); + [pool release]; return result(); } diff --git a/src/printsupport/dialogs/qprintdialog.h b/src/printsupport/dialogs/qprintdialog.h index 8b8402f4fb..5bd832bcb0 100644 --- a/src/printsupport/dialogs/qprintdialog.h +++ b/src/printsupport/dialogs/qprintdialog.h @@ -55,7 +55,7 @@ class QPrintDialogPrivate; class QPushButton; class QPrinter; -#if defined (Q_OS_UNIX) +#if defined (Q_OS_UNIX) && !defined(Q_OS_MAC) class QUnixPrintWidgetPrivate; class Q_PRINTSUPPORT_EXPORT QUnixPrintWidget : public QWidget @@ -90,7 +90,7 @@ public: ~QPrintDialog(); int exec(); -#if defined (Q_OS_UNIX) +#if defined (Q_OS_UNIX) && !defined(Q_OS_MAC) virtual void accept(); #endif void done(int result); @@ -130,10 +130,10 @@ Q_SIGNALS: private: Q_PRIVATE_SLOT(d_func(), void _q_chbPrintLastFirstToggled(bool)) -#if defined (Q_OS_UNIX) +#if defined (Q_OS_UNIX) && !defined(Q_OS_MAC) Q_PRIVATE_SLOT(d_func(), void _q_collapseOrExpandDialog()) #endif -# if defined(Q_OS_UNIX) && !defined(QT_NO_MESSAGEBOX) +# if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) && !defined(QT_NO_MESSAGEBOX) Q_PRIVATE_SLOT(d_func(), void _q_checkFields()) # endif friend class QUnixPrintWidget; diff --git a/src/printsupport/dialogs/qprintdialog_mac.mm b/src/printsupport/dialogs/qprintdialog_mac.mm index 6a267d920b..417ae20f29 100644 --- a/src/printsupport/dialogs/qprintdialog_mac.mm +++ b/src/printsupport/dialogs/qprintdialog_mac.mm @@ -41,13 +41,16 @@ #ifndef QT_NO_PRINTDIALOG -#include +#include -#include -#include -#include -#include -#include +#include "qprintdialog.h" +#include "qabstractprintdialog_p.h" + +#include +#include +#include +#include +#include QT_BEGIN_NAMESPACE @@ -56,12 +59,11 @@ class QPrintDialogPrivate : public QAbstractPrintDialogPrivate Q_DECLARE_PUBLIC(QPrintDialog) public: - QPrintDialogPrivate() : ep(0), printPanel(0) + QPrintDialogPrivate() : printInfo(0), printPanel(0) {} void openCocoaPrintPanel(Qt::WindowModality modality); void closeCocoaPrintPanel(); - void initBeforeRun(); inline QPrintDialog *printDialog() { return q_func(); } @@ -76,7 +78,7 @@ public: inline void _q_btnBrowseClicked() {} inline void _q_btnPropertiesClicked() {} - QMacPrintEnginePrivate *ep; + NSPrintInfo *printInfo; NSPrintPanel *printPanel; }; @@ -87,25 +89,38 @@ QT_USE_NAMESPACE @class QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate); -@interface QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) : NSObject { +@interface QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) : NSObject +{ + NSPrintInfo *printInfo; } +- (id)initWithNSPrintInfo:(NSPrintInfo *)nsPrintInfo; - (void)printPanelDidEnd:(NSPrintPanel *)printPanel returnCode:(int)returnCode contextInfo:(void *)contextInfo; @end @implementation QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) +- (id)initWithNSPrintInfo:(NSPrintInfo *)nsPrintInfo +{ + if (self = [super init]) { + printInfo = nsPrintInfo; + } + return self; +} - (void)printPanelDidEnd:(NSPrintPanel *)printPanel returnCode:(int)returnCode contextInfo:(void *)contextInfo { Q_UNUSED(printPanel); - QPrintDialogPrivate *d = static_cast(contextInfo); - QPrintDialog *dialog = d->printDialog(); + QPrintDialog *dialog = static_cast(contextInfo); + QPrinter *printer = dialog->printer(); if (returnCode == NSOKButton) { + PMPrintSession session = static_cast([printInfo PMPrintSession]); + PMPrintSettings settings = static_cast([printInfo PMPrintSettings]); + UInt32 frompage, topage; - PMGetFirstPage(d->ep->settings, &frompage); - PMGetLastPage(d->ep->settings, &topage); + PMGetFirstPage(settings, &frompage); + PMGetLastPage(settings, &topage); topage = qMin(UInt32(INT_MAX), topage); dialog->setFromTo(frompage, topage); @@ -128,22 +143,19 @@ QT_USE_NAMESPACE // If the user selected print to file, the session has been // changed behind our back and our d->ep->session object is a // dangling pointer. Update it based on the "current" session - d->ep->session = static_cast([d->ep->printInfo PMPrintSession]); - - PMSessionGetDestinationType(d->ep->session, d->ep->settings, &dest); + PMSessionGetDestinationType(session, settings, &dest); if (dest == kPMDestinationFile) { QCFType file; - PMSessionCopyDestinationLocation(d->ep->session, d->ep->settings, &file); + PMSessionCopyDestinationLocation(session, settings, &file); UInt8 localFile[2048]; // Assuming there's a POSIX file system here. CFURLGetFileSystemRepresentation(file, true, localFile, sizeof(localFile)); - d->ep->outputFilename - = QString::fromUtf8(reinterpret_cast(localFile)); + printer->setOutputFileName(QString::fromUtf8(reinterpret_cast(localFile))); } else { // Keep output format. QPrinter::OutputFormat format; - format = d->printer->outputFormat(); - d->printer->setOutputFileName(QString()); - d->printer->setOutputFormat(format); + format = printer->outputFormat(); + printer->setOutputFileName(QString()); + printer->setOutputFormat(format); } } @@ -151,38 +163,33 @@ QT_USE_NAMESPACE } @end - QT_BEGIN_NAMESPACE -extern void macStartInterceptWindowTitle(QWidget *window); -extern void macStopInterceptWindowTitle(); - - -void QPrintDialogPrivate::initBeforeRun() -{ - Q_Q(QPrintDialog); - // If someone is reusing a QPrinter object, the end released all our old - // information. In this case, we must reinitialize. - if (ep->session == 0) - ep->initialize(); - - - // It seems the only way that PM lets you use all is if the minimum - // for the page range is 1. This _kind of_ makes sense if you think about - // it. However, calling PMSetFirstPage() or PMSetLastPage() always enforces - // the range. - PMSetPageRange(ep->settings, q->minPage(), q->maxPage()); - if (q->printRange() == QAbstractPrintDialog::PageRange) { - PMSetFirstPage(ep->settings, q->fromPage(), false); - PMSetLastPage(ep->settings, q->toPage(), false); - } -} - void QPrintDialogPrivate::openCocoaPrintPanel(Qt::WindowModality modality) { Q_Q(QPrintDialog); - initBeforeRun(); + // get the NSPrintInfo from the print engine in the platform plugin + void *voidp = 0; + (void) QMetaObject::invokeMethod(qApp->platformNativeInterface(), + "NSPrintInfoForPrintEngine", + Q_RETURN_ARG(void *, voidp), + Q_ARG(QPrintEngine *, printer->printEngine())); + printInfo = static_cast(voidp); + [printInfo retain]; + + // It seems the only way that PM lets you use all is if the minimum + // for the page range is 1. This _kind of_ makes sense if you think about + // it. However, calling PMSetFirstPage() or PMSetLastPage() always enforces + // the range. + // get print settings from the platform plugin + PMPrintSettings settings = static_cast([printInfo PMPrintSettings]); + PMSetPageRange(settings, q->minPage(), q->maxPage()); + if (q->printRange() == QAbstractPrintDialog::PageRange) { + PMSetFirstPage(settings, q->fromPage(), false); + PMSetLastPage(settings, q->toPage(), false); + } + [printInfo updateFromPMPrintSettings]; QPrintDialog::PrintDialogOptions qtOptions = q->options(); NSPrintPanelOptions macOptions = NSPrintPanelShowsCopies; @@ -192,30 +199,32 @@ void QPrintDialogPrivate::openCocoaPrintPanel(Qt::WindowModality modality) macOptions |= NSPrintPanelShowsPaperSize | NSPrintPanelShowsPageSetupAccessory | NSPrintPanelShowsOrientation; - macStartInterceptWindowTitle(q); printPanel = [NSPrintPanel printPanel]; - QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) *delegate = [[QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) alloc] init]; + [printPanel retain]; [printPanel setOptions:macOptions]; + QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) *delegate = [[QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) alloc] init]; if (modality == Qt::ApplicationModal) { - int rval = [printPanel runModalWithPrintInfo:ep->printInfo]; + int rval = [printPanel runModalWithPrintInfo:printInfo]; [delegate printPanelDidEnd:printPanel returnCode:rval contextInfo:this]; } else { Q_ASSERT(q->parentWidget()); - NSWindow *windowRef = qt_mac_window_for(q->parentWidget()); - [printPanel beginSheetWithPrintInfo:ep->printInfo - modalForWindow:windowRef + QWindow *parentWindow = q->parentWidget()->windowHandle(); + NSWindow *window = static_cast(qApp->platformNativeInterface()->nativeResourceForWindow("nswindow", parentWindow)); + [printPanel beginSheetWithPrintInfo:printInfo + modalForWindow:window delegate:delegate didEndSelector:@selector(printPanelDidEnd:returnCode:contextInfo:) contextInfo:this]; } - - macStopInterceptWindowTitle(); } void QPrintDialogPrivate::closeCocoaPrintPanel() { - // ### + [printInfo release]; + printInfo = 0; + [printPanel release]; + printPanel = 0; } static bool warnIfNotNative(QPrinter *printer) @@ -234,7 +243,6 @@ QPrintDialog::QPrintDialog(QPrinter *printer, QWidget *parent) Q_D(QPrintDialog); if (!warnIfNotNative(d->printer)) return; - d->ep = static_cast(d->printer->paintEngine())->d_func(); } QPrintDialog::QPrintDialog(QWidget *parent) @@ -243,7 +251,6 @@ QPrintDialog::QPrintDialog(QWidget *parent) Q_D(QPrintDialog); if (!warnIfNotNative(d->printer)) return; - d->ep = static_cast(d->printer->paintEngine())->d_func(); } QPrintDialog::~QPrintDialog() @@ -256,10 +263,10 @@ int QPrintDialog::exec() if (!warnIfNotNative(d->printer)) return QDialog::Rejected; - QMacCocoaAutoReleasePool pool; - + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; d->openCocoaPrintPanel(Qt::ApplicationModal); d->closeCocoaPrintPanel(); + [pool release]; return result(); } diff --git a/src/printsupport/kernel/kernel.pri b/src/printsupport/kernel/kernel.pri index e2fcd8d1dd..d7c9f56545 100644 --- a/src/printsupport/kernel/kernel.pri +++ b/src/printsupport/kernel/kernel.pri @@ -18,7 +18,7 @@ SOURCES += \ $$PWD/qplatformprintplugin.cpp \ $$PWD/qplatformprintersupport_qpa.cpp -unix { +unix:!mac { HEADERS += \ $$PWD/qprinterinfo_unix_p.h SOURCES += \ @@ -33,7 +33,7 @@ win32 { LIBS += -lWinspool -lComdlg32 } -win32 { +mac|win32 { DEFINES += QT_NO_CUPS QT_NO_LPR } else { SOURCES += $$PWD/qcups.cpp diff --git a/src/printsupport/kernel/qprinter.cpp b/src/printsupport/kernel/qprinter.cpp index 85dc59ff34..404f45d509 100644 --- a/src/printsupport/kernel/qprinter.cpp +++ b/src/printsupport/kernel/qprinter.cpp @@ -155,7 +155,7 @@ Q_PRINTSUPPORT_EXPORT QSizeF qt_printerPaperSize(QPrinter::Orientation orientati void QPrinterPrivate::createDefaultEngines() { QPrinter::OutputFormat realOutputFormat = outputFormat; -#if defined (Q_OS_UNIX) +#if defined (Q_OS_UNIX) && !defined(Q_OS_MAC) if(outputFormat == QPrinter::NativeFormat) { realOutputFormat = QPrinter::PdfFormat; } diff --git a/src/sql/drivers/sqlite/qsql_sqlite.cpp b/src/sql/drivers/sqlite/qsql_sqlite.cpp index b2a55252ac..deb29f8059 100644 --- a/src/sql/drivers/sqlite/qsql_sqlite.cpp +++ b/src/sql/drivers/sqlite/qsql_sqlite.cpp @@ -577,6 +577,11 @@ bool QSQLiteDriver::open(const QString & db, const QString &, const QString &, c setOpenError(false); return true; } else { + if (d->access) { + sqlite3_close(d->access); + d->access = 0; + } + setLastError(qMakeError(d->access, tr("Error opening database"), QSqlError::ConnectionError)); setOpenError(true); diff --git a/src/sql/models/qsqltablemodel.cpp b/src/sql/models/qsqltablemodel.cpp index 5fed167070..d8d691fa0c 100644 --- a/src/sql/models/qsqltablemodel.cpp +++ b/src/sql/models/qsqltablemodel.cpp @@ -468,6 +468,24 @@ QVariant QSqlTableModel::headerData(int section, Qt::Orientation orientation, in return QSqlQueryModel::headerData(section, orientation, role); } +/*! + \overload + \since 5.0 + + Returns true if the model contains modified values that have not been + committed to the datase, otherwise false. +*/ +bool QSqlTableModel::isDirty() const +{ + Q_D(const QSqlTableModel); + QSqlTableModelPrivate::CacheMap::ConstIterator i = d->cache.constBegin(); + const QSqlTableModelPrivate::CacheMap::ConstIterator e = d->cache.constEnd(); + for (; i != e; i++) + if (!i.value().submitted()) + return true; + return false; +} + /*! Returns true if the value at the index \a index is dirty, otherwise false. Dirty values are values that were modified in the model @@ -493,8 +511,17 @@ bool QSqlTableModel::isDirty(const QModelIndex &index) const /*! Sets the data for the item \a index for the role \a role to \a - value. Depending on the edit strategy, the value might be applied - to the database at once or cached in the model. + value. + + For edit strategy OnFieldChange, an index may receive a change + only if no other index has a cached change. Changes are + submitted immediately. However, rows that have not yet been + inserted in the database may be freely changed and are not + submitted automatically. Submitted changes are not reverted upon + failure. + + For OnRowChange, an index may receive a change only if no other + row has a cached change. Changes are not submitted automatically. Returns true if the value could be set or false on error, for example if \a index is out of bounds. @@ -513,16 +540,9 @@ bool QSqlTableModel::setData(const QModelIndex &index, const QVariant &value, in if (!index.isValid() || index.column() >= d->rec.count() || index.row() >= rowCount()) return false; - if (d->cache.value(index.row()).op() == QSqlTableModelPrivate::Delete) + if (!(flags(index) & Qt::ItemIsEditable)) return false; - if (d->strategy == OnFieldChange && d->cache.value(index.row()).op() != QSqlTableModelPrivate::Insert) { - revertAll(); - } else if (d->strategy == OnRowChange && !d->cache.isEmpty() && !d->cache.contains(index.row())) { - submit(); - revertAll(); - } - QSqlTableModelPrivate::ModifiedRow &row = d->cache[index.row()]; if (row.op() == QSqlTableModelPrivate::None) @@ -1001,11 +1021,18 @@ bool QSqlTableModel::removeColumns(int column, int count, const QModelIndex &par an invalid model index. When the edit strategy is OnManualSubmit, deletion of rows from - the database is delayed until submitAll() is called; otherwise, - deletions are immediate. + the database is delayed until submitAll() is called. - Inserted but not yet submitted rows in the range to be removed - are immediately removed from the model. + For OnFieldChange and OnRowChange, only one row may be deleted + at a time and only if no other row has a cached change. Deletions + are submitted immediately to the database. The model retains a + blank row for successfully deleted row until refreshed with select(). + + After failed deletion, the operation is not reverted in the model. + The application may resubmit or revert. + + Inserted but not yet successfully submitted rows in the range to be + removed are immediately removed from the model. Before a row is deleted from the database, the beforeDelete() signal is emitted. @@ -1027,6 +1054,10 @@ bool QSqlTableModel::removeRows(int row, int count, const QModelIndex &parent) else if (!count) return true; + if (d->strategy != OnManualSubmit) + if (count > 1 || (d->cache.value(row).submitted() && isDirty())) + return false; + // Iterate backwards so we don't have to worry about removed rows causing // higher cache entries to shift downwards. for (int idx = row + count - 1; idx >= row; --idx) { @@ -1054,17 +1085,18 @@ bool QSqlTableModel::removeRows(int row, int count, const QModelIndex &parent) parent must be invalid, since this model does not support parent-child relations. - Only one row at a time can be inserted when using the - OnFieldChange or OnRowChange update strategies. + For edit strategies OnFieldChange and OnRowChange, only one row + may be inserted at a time and the model may not contain other + cached changes. The primeInsert() signal will be emitted for each new row. Connect to it if you want to initialize the new row with default values. - Returns false if the parameters are out of bounds; otherwise - returns true. + Does not submit rows, regardless of edit strategy. - Does not submit rows, regardless of edit strategy, not even OnFieldChange. + Returns false if the parameters are out of bounds or the row cannot be + inserted; otherwise returns true. \sa primeInsert(), insertRecord() */ @@ -1074,8 +1106,9 @@ bool QSqlTableModel::insertRows(int row, int count, const QModelIndex &parent) if (row < 0 || count <= 0 || row > rowCount() || parent.isValid()) return false; - if (d->strategy != OnManualSubmit && count != 1) - return false; + if (d->strategy != OnManualSubmit) + if (count != 1 || isDirty()) + return false; d->busyInsertingRows = true; beginInsertRows(parent, row, row + count - 1); @@ -1114,25 +1147,20 @@ bool QSqlTableModel::insertRows(int row, int count, const QModelIndex &parent) Returns true if the record could be inserted, otherwise false. Changes are submitted immediately for OnFieldChange and - OnRowChange. Note the contrast with setRecord() in respect to - OnRowChange. + OnRowChange. Failure does not leave a new row in the model. \sa insertRows(), removeRows(), setRecord() */ bool QSqlTableModel::insertRecord(int row, const QSqlRecord &record) { - Q_D(QSqlTableModel); if (row < 0) row = rowCount(); if (!insertRow(row, QModelIndex())) return false; if (!setRecord(row, record)) { - if (d->strategy == OnManualSubmit) - revertRow(row); + revertRow(row); return false; } - if (d->strategy == OnFieldChange || d->strategy == OnRowChange) - return submit(); return true; } @@ -1218,26 +1246,46 @@ Qt::ItemFlags QSqlTableModel::flags(const QModelIndex &index) const if (index.internalPointer() || index.column() < 0 || index.column() >= d->rec.count() || index.row() < 0) return 0; - if (d->rec.field(index.column()).isReadOnly()) + + bool editable = true; + + if (d->rec.field(index.column()).isReadOnly()) { + editable = false; + } + else { + const QSqlTableModelPrivate::ModifiedRow mrow = d->cache.value(index.row()); + if (mrow.op() == QSqlTableModelPrivate::Delete) { + editable = false; + } + else if (d->strategy == OnFieldChange) { + if (mrow.op() != QSqlTableModelPrivate::Insert) + if (!isDirty(index) && isDirty()) + editable = false; + } + else if (d->strategy == OnRowChange) { + if (mrow.submitted() && isDirty()) + editable = false; + } + } + + if (!editable) return Qt::ItemIsSelectable | Qt::ItemIsEnabled; - if (d->cache.value(index.row()).op() == QSqlTableModelPrivate::Delete) - return Qt::ItemIsSelectable | Qt::ItemIsEnabled; - return Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable; + else + return Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable; } /*! Sets the values at the specified \a row to the values of \a record for fields where generated flag is true. + For edit strategies OnFieldChange and OnRowChange, a row may + receive a change only if no other row has a cached change. + Changes are submitted immediately. Submitted changes are not + reverted upon failure. + Returns true if all the values could be set; otherwise returns false. - The edit strategy affects automatic submitting. - With OnFieldChange, setRecord() commits its changed row. - With OnRowChange, setRecord() does not commit its changed row, - but making a change to another row causes previous changes to - be submitted. - \sa record(), editStrategy() */ bool QSqlTableModel::setRecord(int row, const QSqlRecord &values) @@ -1253,10 +1301,8 @@ bool QSqlTableModel::setRecord(int row, const QSqlRecord &values) if (d->cache.value(row).op() == QSqlTableModelPrivate::Delete) return false; - if (d->strategy == OnFieldChange && d->cache.value(row).op() != QSqlTableModelPrivate::Insert) - revertAll(); - else if (d->strategy == OnRowChange && !d->cache.isEmpty() && !d->cache.contains(row)) - submit(); + if (d->strategy != OnManualSubmit && d->cache.value(row).submitted() && isDirty()) + return false; // Check field names and remember mapping typedef QMap Map; @@ -1283,7 +1329,7 @@ bool QSqlTableModel::setRecord(int row, const QSqlRecord &values) if (columnCount()) emit dataChanged(createIndex(row, 0), createIndex(row, columnCount() - 1)); - if (d->strategy == OnFieldChange) + if (d->strategy != OnManualSubmit) return submit(); return true; diff --git a/src/sql/models/qsqltablemodel.h b/src/sql/models/qsqltablemodel.h index 13316bc4ed..62e09869c9 100644 --- a/src/sql/models/qsqltablemodel.h +++ b/src/sql/models/qsqltablemodel.h @@ -79,7 +79,9 @@ public: QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; + bool isDirty() const; bool isDirty(const QModelIndex &index) const; + void clear(); virtual void setEditStrategy(EditStrategy strategy); diff --git a/src/sql/models/qsqltablemodel_p.h b/src/sql/models/qsqltablemodel_p.h index 323964afe8..20ca63af61 100644 --- a/src/sql/models/qsqltablemodel_p.h +++ b/src/sql/models/qsqltablemodel_p.h @@ -106,6 +106,8 @@ public: inline Op op() const { return m_op; } inline void setOp(Op o) { + if (o == None) + m_submitted = true; if (o == m_op) return; m_submitted = (o != Insert && o != Delete); diff --git a/src/src.pro b/src/src.pro index 21916b31f4..4efa017065 100644 --- a/src/src.pro +++ b/src/src.pro @@ -62,15 +62,10 @@ src_concurrent.target = sub-concurrent src_opengl.depends = src_gui src_widgets src_sql.depends = src_corelib src_testlib.depends = src_corelib src_gui src_widgets - src_plugins.depends = src_gui src_sql src_xml - qpa: src_plugins.depends = src_platformsupport - contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2) { - src_plugins.depends += src_opengl - src_declarative.depends += src_opengl - src_webkit.depends += src_opengl - } + src_plugins.depends = src_gui src_sql src_xml src_platformsupport } +contains(QT_CONFIG, no-widgets): SRC_SUBDIRS -= src_opengl src_widgets src_printsupport src_testlib # This creates a sub-src rule sub_src_target.CONFIG = recursive diff --git a/src/testlib/qtestaccessible.h b/src/testlib/qtestaccessible.h index f9b1b97ac6..807cc2f846 100644 --- a/src/testlib/qtestaccessible.h +++ b/src/testlib/qtestaccessible.h @@ -63,7 +63,8 @@ QT_BEGIN_NAMESPACE class QObject; -typedef QList EventList; +// Use pointers since we subclass QAccessibleEvent +typedef QList EventList; bool operator==(const QAccessibleEvent &l, const QAccessibleEvent &r) { @@ -100,8 +101,18 @@ public: static bool verifyEvent(const QAccessibleEvent& ev) { if (eventList().isEmpty()) - return FALSE; - return eventList().takeFirst() == ev; + return false; + QAccessibleEvent *first = eventList().takeFirst(); + bool res = *first == ev; + delete first; + return res; + } + static bool containsEvent(const QAccessibleEvent &event) { + Q_FOREACH (QAccessibleEvent *ev, eventList()) { + if (*ev == event) + return true; + } + return false; } private: @@ -129,17 +140,16 @@ private: } } - static void updateHandler(const QAccessibleEvent &event) + static void updateHandler(QAccessibleEvent *event) { eventList().append(copyEvent(event)); } - - static QAccessibleEvent copyEvent(const QAccessibleEvent &event) + static QAccessibleEvent *copyEvent(QAccessibleEvent *event) { - if (event.type() == QAccessible::StateChanged) - return QAccessibleStateChangeEvent(static_cast(&event)->changedStates(), - event.object(), event.child()); - return QAccessibleEvent(event.type(), event.object(), event.child()); + if (event->type() == QAccessible::StateChanged) + return new QAccessibleStateChangeEvent(static_cast(event)->changedStates(), + event->object(), event->child()); + return new QAccessibleEvent(event->type(), event->object(), event->child()); } static EventList &eventList() diff --git a/src/testlib/qtestmouse.h b/src/testlib/qtestmouse.h index 593e164b01..441cfa1f65 100644 --- a/src/testlib/qtestmouse.h +++ b/src/testlib/qtestmouse.h @@ -70,6 +70,15 @@ namespace QTest { enum MouseAction { MousePress, MouseRelease, MouseClick, MouseDClick, MouseMove }; + static void waitForEvents() + { +#ifdef Q_OS_MAC + QTest::qWait(20); +#else + qApp->processEvents(); +#endif + } + static void mouseEvent(MouseAction action, QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers stateKey, QPoint pos, int delay=-1) { @@ -119,15 +128,11 @@ namespace QTest case MouseMove: QWindowSystemInterface::handleMouseEvent(window,pos,window->mapToGlobal(pos),lastButton,stateKey); //QCursor::setPos(window->mapToGlobal(pos)); -#ifdef Q_OS_MAC - QTest::qWait(20); -#else - qApp->processEvents(); -#endif - return; + break; default: QTEST_ASSERT(false); } + waitForEvents(); } inline void mousePress(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers stateKey = 0, diff --git a/src/testlib/qtestsystem.h b/src/testlib/qtestsystem.h index 1f10967557..ade5f4c8ac 100644 --- a/src/testlib/qtestsystem.h +++ b/src/testlib/qtestsystem.h @@ -53,9 +53,6 @@ QT_BEGIN_NAMESPACE class QWidget; -#ifdef Q_WS_X11 -extern void qt_x11_wait_for_window_manager(QWidget *w); -#endif namespace QTest { @@ -73,23 +70,26 @@ namespace QTest } inline static bool qWaitForWindowShown(QWidget *window) - { -#if defined(Q_WS_X11) - qt_x11_wait_for_window_manager(window); - QCoreApplication::processEvents(); -#else - Q_UNUSED(window); - qWait(200); -#endif - return true; - } - inline static bool qWaitForWindowShown(QWindow *window) { Q_UNUSED(window); qWait(200); return true; } + inline static bool qWaitForWindowShown(QWindow *window) + { + QElapsedTimer timer; + timer.start(); + while (!window->isExposed()) { + int remaining = int(timer.elapsed()) - 1000; + if (remaining <= 0) + break; + QCoreApplication::processEvents(QEventLoop::AllEvents, remaining); + QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete); + QTest::qSleep(10); + } + return true; + } } QT_END_NAMESPACE diff --git a/src/tools/bootstrap/bootstrap.pri b/src/tools/bootstrap/bootstrap.pri index e34cc5c033..228fcaca0d 100644 --- a/src/tools/bootstrap/bootstrap.pri +++ b/src/tools/bootstrap/bootstrap.pri @@ -29,18 +29,13 @@ win32:DEFINES += QT_NODLL INCLUDEPATH += $$QT_BUILD_TREE/include \ $$QT_BUILD_TREE/include/QtCore \ $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION \ - $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION/QtCore \ - $$QT_BUILD_TREE/include/QtXml \ - $$QT_BUILD_TREE/include/QtXml/$$QT.xml.VERSION \ - $$QT_BUILD_TREE/include/QtXml/$$QT.xml.VERSION/QtXml \ - $$QT_SOURCE_TREE/src/xml + $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION/QtCore DEPENDPATH += $$INCLUDEPATH \ $$QT_SOURCE_TREE/src/corelib/global \ $$QT_SOURCE_TREE/src/corelib/kernel \ $$QT_SOURCE_TREE/src/corelib/tools \ $$QT_SOURCE_TREE/src/corelib/io \ - $$QT_SOURCE_TREE/src/corelib/codecs \ - $$QT_SOURCE_TREE/src/xml + $$QT_SOURCE_TREE/src/corelib/codecs hpux-acc*|hpuxi-acc* { LIBS += $$QT_BUILD_TREE/src/tools/bootstrap/libbootstrap.a diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro index 571bae7f24..9c34c758d7 100644 --- a/src/tools/bootstrap/bootstrap.pro +++ b/src/tools/bootstrap/bootstrap.pro @@ -32,10 +32,7 @@ win32:DEFINES += QT_NODLL INCLUDEPATH += $$QT_BUILD_TREE/include \ $$QT_BUILD_TREE/include/QtCore \ $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION \ - $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION/QtCore \ - $$QT_BUILD_TREE/include/QtXml \ - $$QT_BUILD_TREE/include/QtXml/$$QT.xml.VERSION \ - $$QT_BUILD_TREE/include/QtXml/$$QT.xml.VERSION/QtXml \ + $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION/QtCore DEPENDPATH += $$INCLUDEPATH \ ../../corelib/global \ @@ -43,8 +40,7 @@ DEPENDPATH += $$INCLUDEPATH \ ../../corelib/tools \ ../../corelib/io \ ../../corelib/codecs \ - ../../corelib/json \ - ../../xml + ../../corelib/json SOURCES += \ ../../corelib/codecs/qlatincodec.cpp \ @@ -97,9 +93,7 @@ SOURCES += \ ../../corelib/json/qjsonarray.cpp \ ../../corelib/json/qjsonvalue.cpp \ ../../corelib/json/qjsonparser.cpp \ - ../../corelib/json/qjsonwriter.cpp \ - ../../xml/dom/qdom.cpp \ - ../../xml/sax/qxml.cpp + ../../corelib/json/qjsonwriter.cpp unix:SOURCES += ../../corelib/io/qfilesystemengine_unix.cpp \ ../../corelib/io/qfilesystemiterator_unix.cpp \ diff --git a/src/tools/qdoc/codemarker.cpp b/src/tools/qdoc/codemarker.cpp index 791e08062b..9f22a287d2 100644 --- a/src/tools/qdoc/codemarker.cpp +++ b/src/tools/qdoc/codemarker.cpp @@ -288,12 +288,17 @@ QString CodeMarker::taggedNode(const Node* node) } tag = QLatin1String("@property"); break; + case Node::QmlMethod: + case Node::QmlSignal: + case Node::QmlSignalHandler: + tag = QLatin1String("@function"); + break; default: tag = QLatin1String("@unknown"); break; } - return QLatin1Char('<') + tag + QLatin1Char('>') + protect(name) - + QLatin1String("'); + return (QLatin1Char('<') + tag + QLatin1Char('>') + protect(name) + + QLatin1String("')); } QString CodeMarker::taggedQmlNode(const Node* node) @@ -373,6 +378,13 @@ QString CodeMarker::sortName(const Node *node, const QString* name) if (node->type() == Node::Property || node->type() == Node::Variable) return QLatin1Char('E') + nodeName; + if ((node->type() == Node::QmlMethod) || + (node->type() == Node::QmlSignal) || + (node->type() == Node::QmlSignalHandler)) { + const FunctionNode* func = static_cast(node); + return QLatin1String("E") + func->signature(); + } + return QLatin1Char('B') + nodeName; } diff --git a/src/tools/qdoc/config.h b/src/tools/qdoc/config.h index 461e0b969c..6a89684e79 100644 --- a/src/tools/qdoc/config.h +++ b/src/tools/qdoc/config.h @@ -171,7 +171,6 @@ private: #define CONFIG_SHOWINTERNAL "showinternal" #define CONFIG_SOURCEDIRS "sourcedirs" #define CONFIG_SOURCEENCODING "sourceencoding" -#define CONFIG_SOURCEMODULES "sourcemodules" #define CONFIG_SOURCES "sources" #define CONFIG_SPURIOUS "spurious" #define CONFIG_STYLEDIRS "styledirs" diff --git a/src/tools/qdoc/cppcodemarker.cpp b/src/tools/qdoc/cppcodemarker.cpp index cc68865cc0..3e7d190fe4 100644 --- a/src/tools/qdoc/cppcodemarker.cpp +++ b/src/tools/qdoc/cppcodemarker.cpp @@ -342,19 +342,47 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, QString CppCodeMarker::markedUpQmlItem(const Node* node, bool summary) { QString name = taggedQmlNode(node); - if (summary) { + if (summary) name = linkTag(node,name); - } else if (node->type() == Node::QmlProperty) { + else if (node->type() == Node::QmlProperty) { const QmlPropertyNode* pn = static_cast(node); if (pn->isAttached()) name.prepend(pn->element() + QLatin1Char('.')); } name = "<@name>" + name + ""; - QString synopsis = name; + QString synopsis; if (node->type() == Node::QmlProperty) { const QmlPropertyNode* pn = static_cast(node); - synopsis += " : " + typified(pn->dataType()); + synopsis = name + " : " + typified(pn->dataType()); } + else if ((node->type() == Node::QmlMethod) || + (node->type() == Node::QmlSignal) || + (node->type() == Node::QmlSignalHandler)) { + const FunctionNode* func = static_cast(node); + if (!func->returnType().isEmpty()) + synopsis = typified(func->returnType()) + QLatin1Char(' ') + name; + else + synopsis = name; + synopsis += "("; + if (!func->parameters().isEmpty()) { + QList::ConstIterator p = func->parameters().begin(); + while (p != func->parameters().end()) { + if (p != func->parameters().begin()) + synopsis += ", "; + synopsis += typified((*p).leftType()); + if (!(*p).name().isEmpty()) { + if (!synopsis.endsWith("(")) + synopsis += " "; + synopsis += "<@param>" + protect((*p).name()) + ""; + } + synopsis += protect((*p).rightType()); + ++p; + } + } + synopsis += QLatin1Char(')'); + } + else + synopsis = name; QString extra; if (summary) { diff --git a/src/tools/qdoc/cppcodeparser.cpp b/src/tools/qdoc/cppcodeparser.cpp index b83e617ee3..86e57a0372 100644 --- a/src/tools/qdoc/cppcodeparser.cpp +++ b/src/tools/qdoc/cppcodeparser.cpp @@ -207,7 +207,7 @@ void CppCodeParser::initializeParser(const Config &config) if (!exampleFilePatterns.isEmpty()) exampleNameFilter = exampleFilePatterns.join(" "); else - exampleNameFilter = "*.cpp *.h *.js *.xq *.svg *.xml *.ui"; + exampleNameFilter = "*.cpp *.h *.js *.xq *.svg *.xml *.dita *.ui"; QStringList exampleImagePatterns = config.getStringList( CONFIG_EXAMPLES + Config::dot + CONFIG_IMAGEEXTENSIONS); @@ -797,8 +797,9 @@ Node* CppCodeParser::processTopicCommand(const Doc& doc, return makeFunctionNode(doc,arg,qmlClass,Node::QmlSignal,false,COMMAND_QMLSIGNAL); else if (command == COMMAND_QMLATTACHEDSIGNAL) return makeFunctionNode(doc,arg,qmlClass,Node::QmlSignal,true,COMMAND_QMLATTACHEDSIGNAL); - else if (command == COMMAND_QMLMETHOD) + else if (command == COMMAND_QMLMETHOD) { return makeFunctionNode(doc,arg,qmlClass,Node::QmlMethod,false,COMMAND_QMLMETHOD); + } else if (command == COMMAND_QMLATTACHEDMETHOD) return makeFunctionNode(doc,arg,qmlClass,Node::QmlMethod,true,COMMAND_QMLATTACHEDMETHOD); else diff --git a/src/tools/qdoc/ditaxmlgenerator.cpp b/src/tools/qdoc/ditaxmlgenerator.cpp index a4c5cbeea0..6b0c2dce88 100644 --- a/src/tools/qdoc/ditaxmlgenerator.cpp +++ b/src/tools/qdoc/ditaxmlgenerator.cpp @@ -297,14 +297,23 @@ void DitaXmlGenerator::writeStartTag(DitaTag t) /*! Pop the current DITA tag off the stack, and write the - appropriate end tag to the DITA XML file. + appropriate end tag to the DITA XML file. If \a t is + not \e DT_NONE (default), then \a t contains the enum + value of the tag that should be on top of the stack. + + If the stack is empty, no end tag is written and false + is returned. Otherwise, an end tag is written and true + is returned. */ -void DitaXmlGenerator::writeEndTag(DitaTag t) +bool DitaXmlGenerator::writeEndTag(DitaTag t) { + if (tagStack.isEmpty()) + return false; DitaTag top = tagStack.pop(); if (t > DT_NONE && top != t) qDebug() << "Expected:" << t << "ACTUAL:" << top; xmlWriter().writeEndElement(); + return true; } /*! @@ -2316,7 +2325,10 @@ void DitaXmlGenerator::generateFakeNode(const FakeNode* fake, CodeMarker* marker } } leaveSection(); // - writeEndTag(); // + if (!writeEndTag()) { // + fake->doc().location().warning(tr("Pop of empty XML tag stack; generating DITA for '%1'").arg(fake->name())); + return; + } writeRelatedLinks(fake, marker); writeEndTag(); // } @@ -2378,11 +2390,11 @@ void DitaXmlGenerator::writeRelatedLinks(const FakeNode* node, CodeMarker* marke } /*! - Returns "xml" for this subclass of class Generator. + Returns "dita" for this subclass of class Generator. */ QString DitaXmlGenerator::fileExtension(const Node * /* node */) const { - return "xml"; + return "dita"; } /*! @@ -3215,12 +3227,13 @@ void DitaXmlGenerator::generateQmlItem(const Node* node, } marked.replace(QRegExp("<@param>([a-z]+)_([1-9n])"), "\\1\\2"); +#if 0 marked.replace("<@param>", ""); marked.replace("", ""); marked.replace("<@extra>", ""); marked.replace("", ""); - +#endif if (summary) { marked.remove("<@type>"); marked.remove(""); @@ -3572,7 +3585,8 @@ void DitaXmlGenerator::writeText(const QString& markedCode, html.clear(); } writeStartTag(DT_i); - writeCharacters(" " + arg.toString()); + //writeCharacters(" " + arg.toString()); + writeCharacters(arg.toString()); writeEndTag(); // } else if (k == 5) { // <@extra> @@ -4251,7 +4265,8 @@ QString DitaXmlGenerator::getLink(const Atom* atom, QString guid = lookupGuid(link,refForAtom(targetAtom,*node)); link += QLatin1Char('#') + guid; } - else if (!link.isEmpty() && *node && link.endsWith(".xml")) { + else if (!link.isEmpty() && *node && + (link.endsWith(".xml") || link.endsWith(".dita"))) { link += QLatin1Char('#') + (*node)->guid(); } } @@ -5653,7 +5668,8 @@ DitaXmlGenerator::generateInnerNode(const InnerNode* node) CodeMarker *marker = CodeMarker::markerForFileName(node->location().filePath()); if (node->parent() != 0) { - beginSubPage(node, fileName(node)); + if (!node->name().endsWith(".ditamap")) + beginSubPage(node, fileName(node)); if (node->type() == Node::Namespace || node->type() == Node::Class) { generateClassLikeNode(node, marker); } @@ -5665,7 +5681,8 @@ DitaXmlGenerator::generateInnerNode(const InnerNode* node) else generateFakeNode(static_cast(node), marker); } - endSubPage(); + if (!node->name().endsWith(".ditamap")) + endSubPage(); } NodeList::ConstIterator c = node->childNodes().begin(); @@ -5705,6 +5722,9 @@ bool DitaXmlGenerator::isDuplicate(NodeMultiMap* nmm, const QString& key, Node* /*! Collect all the nodes in the tree according to their type or subtype. + If a node is found that is named index.html, return that node as the + root page node. + type: Class type: Namespace @@ -5718,159 +5738,117 @@ bool DitaXmlGenerator::isDuplicate(NodeMultiMap* nmm, const QString& key, Node* subtype: QML class subtype: QML module */ -void DitaXmlGenerator::collectNodesByTypeAndSubtype(const InnerNode* parent) +Node* DitaXmlGenerator::collectNodesByTypeAndSubtype(const InnerNode* parent) { - //qDebug() << "START"; + Node* rootPageNode = 0; const NodeList& children = parent->childNodes(); if (children.size() == 0) - return; + return rootPageNode; - bool related; QString message; for (int i=0; itype() == Node::Fake) && (child->subType() == Node::Collision)) { + const FakeNode* fake = static_cast(child); + Node* n = collectNodesByTypeAndSubtype(fake); + if (n) + rootPageNode = n; + continue; + } if (!child || child->isInternal() || child->doc().isEmpty()) continue; - if (child->relates()) { - related = true; - message = child->relates()->name(); - } - else { - related = false; - message = "has documentation but no \\relates command"; + + if (child->name() == "index.html") { + rootPageNode = child; } + switch (child->type()) { case Node::Namespace: - //qDebug() << "NODE: Namespace" << "TITLE:" << child->name() - // << "FILE:" << fileName(child); if (!isDuplicate(nodeTypeMaps[Node::Namespace],child->name(),child)) nodeTypeMaps[Node::Namespace]->insert(child->name(),child); break; case Node::Class: - //qDebug() << "NODE: Class" << "TITLE:" << child->name() - // << "FILE:" << fileName(child); if (!isDuplicate(nodeTypeMaps[Node::Class],child->name(),child)) nodeTypeMaps[Node::Class]->insert(child->name(),child); break; case Node::Fake: - //qDebug() << "NODE: Fake"; switch (child->subType()) { case Node::Example: - //qDebug() << "FAKE NODE: Example" << "TITLE:" << child->title() - // << "FILE:" << fileName(child); if (!isDuplicate(nodeSubtypeMaps[Node::Example],child->title(),child)) nodeSubtypeMaps[Node::Example]->insert(child->title(),child); break; case Node::HeaderFile: - //qDebug() << "FAKE NODE: Header file" << "TITLE:" << child->title() - // << "FILE:" << fileName(child); if (!isDuplicate(nodeSubtypeMaps[Node::HeaderFile],child->title(),child)) nodeSubtypeMaps[Node::HeaderFile]->insert(child->title(),child); break; case Node::File: - //qDebug() << "FAKE NODE: File"; break; case Node::Image: - //qDebug() << "FAKE NODE: Image"; break; case Node::Group: - //qDebug() << "FAKE NODE: Group" << "TITLE:" << child->title() - // << "FILE:" << fileName(child); if (!isDuplicate(nodeSubtypeMaps[Node::Group],child->title(),child)) nodeSubtypeMaps[Node::Group]->insert(child->title(),child); break; case Node::Module: - //qDebug() << "FAKE NODE: Module" << "TITLE:" << child->title() - // << "FILE:" << fileName(child); if (!isDuplicate(nodeSubtypeMaps[Node::Module],child->title(),child)) nodeSubtypeMaps[Node::Module]->insert(child->title(),child); break; case Node::Page: - //qDebug() << "FAKE NODE: Page" << "PAGE TYPE:" << child->pageTypeString() - // << "TITLE:" << child->title() - // << "FILE:" << fileName(child); if (!isDuplicate(pageTypeMaps[child->pageType()],child->title(),child)) pageTypeMaps[child->pageType()]->insert(child->title(),child); break; case Node::ExternalPage: - //qDebug() << "FAKE NODE: External page" << "TITLE:" << child->title() - // << "FILE:" << fileName(child); if (!isDuplicate(nodeSubtypeMaps[Node::ExternalPage],child->title(),child)) nodeSubtypeMaps[Node::ExternalPage]->insert(child->title(),child); break; case Node::QmlClass: - //qDebug() << "FAKE NODE: QML class" << "TITLE:" << child->title() << "FILE:" - // << fileName(child); if (!isDuplicate(nodeSubtypeMaps[Node::QmlClass],child->title(),child)) nodeSubtypeMaps[Node::QmlClass]->insert(child->title(),child); break; case Node::QmlPropertyGroup: - //qDebug() << "FAKE NODE: QML property group"; break; case Node::QmlBasicType: - //qDebug() << "FAKE NODE: QML basic type" << "TITLE:" << child->title() - // << "FILE:" << fileName(child); if (!isDuplicate(nodeSubtypeMaps[Node::QmlBasicType],child->title(),child)) nodeSubtypeMaps[Node::QmlBasicType]->insert(child->title(),child); break; case Node::QmlModule: - //qDebug() << "FAKE NODE: QML module" << "TITLE:" << child->title() - // << "FILE:" << fileName(child); if (!isDuplicate(nodeSubtypeMaps[Node::QmlModule],child->title(),child)) nodeSubtypeMaps[Node::QmlModule]->insert(child->title(),child); break; case Node::Collision: - //qDebug() << "FAKE NODE: Collision"; + qDebug() << "FAKE NODE: Collision"; + if (!isDuplicate(nodeSubtypeMaps[Node::Collision],child->title(),child)) + nodeSubtypeMaps[Node::Collision]->insert(child->title(),child); break; default: break; } break; case Node::Enum: - if (!related) - child->location().warning(tr("Global enum, %1, %2").arg(child->name()).arg(message)); break; case Node::Typedef: - if (!related) - child->location().warning(tr("Global typedef, %1, %2").arg(child->name()).arg(message)); break; case Node::Function: - if (!related) { - const FunctionNode* fn = static_cast(child); - if (fn->isMacro()) - child->location().warning(tr("Global macro, %1, %2").arg(child->name()).arg(message)); - else - child->location().warning(tr("Global function, %1(), %2").arg(child->name()).arg(message)); - } break; case Node::Property: break; case Node::Variable: - if (!related) - child->location().warning(tr("Global variable, %1, %2").arg(child->name()).arg(message)); break; case Node::Target: break; case Node::QmlProperty: - if (!related) - child->location().warning(tr("Global QML property, %1, %2").arg(child->name()).arg(message)); break; case Node::QmlSignal: - if (!related) - child->location().warning(tr("Global QML, signal, %1 %2").arg(child->name()).arg(message)); break; case Node::QmlSignalHandler: - if (!related) - child->location().warning(tr("Global QML signal handler, %1, %2").arg(child->name()).arg(message)); break; case Node::QmlMethod: - if (!related) - child->location().warning(tr("Global QML method, %1, %2").arg(child->name()).arg(message)); break; default: break; } } + return rootPageNode; } /*! @@ -5879,16 +5857,13 @@ void DitaXmlGenerator::collectNodesByTypeAndSubtype(const InnerNode* parent) */ void DitaXmlGenerator::writeDitaMap(const Tree *tree) { - beginSubPage(tree->root(),"qt.ditamap"); - QString doctype; - doctype = ""; - // doctype = ""; +#if 0 + beginSubPage(tree->root(),"qt.ditamap"); + doctype = ""; xmlWriter().writeDTD(doctype); writeStartTag(DT_map); - //xmlWriter().writeAttribute("id","Qt-DITA-Map"); - //xmlWriter().writeAttribute("title","Qt DITA Map"); writeStartTag(DT_topicmeta); writeStartTag(DT_shortdesc); xmlWriter().writeCharacters("The top level map for the Qt documentation"); @@ -5903,6 +5878,7 @@ void DitaXmlGenerator::writeDitaMap(const Tree *tree) ++i; } endSubPage(); +#endif for (unsigned i=0; iroot()); -#if 0 - for (unsigned i=0; isize() > 0) - qDebug() << "NODE TYPE:" << Node::nodeTypeString(i) << nodeTypeMaps[i]->size(); - } - for (unsigned i=1; isize() > 0) - qDebug() << "NODE SUBTYPE:" << Node::nodeSubtypeString(i) << nodeSubtypeMaps[i]->size(); - } - for (unsigned i=1; isize() > 0) - qDebug() << "PAGE TYPE:" << Node::pageTypeString(i) << pageTypeMaps[i]->size(); - } -#endif - beginSubPage(tree->root(),"test.ditamap"); + Node* rootPageNode = collectNodesByTypeAndSubtype(tree->root()); + + beginSubPage(tree->root(),"qt.ditamap"); doctype = ""; xmlWriter().writeDTD(doctype); @@ -5936,6 +5899,11 @@ void DitaXmlGenerator::writeDitaMap(const Tree *tree) writeEndTag(); // writeEndTag(); // + writeStartTag(DT_topicref); + xmlWriter().writeAttribute("navtitle",project); + if (rootPageNode) + xmlWriter().writeAttribute("href",fileName(rootPageNode)); + writeTopicrefs(pageTypeMaps[Node::OverviewPage], "overviews"); writeTopicrefs(pageTypeMaps[Node::HowToPage], "howtos"); writeTopicrefs(pageTypeMaps[Node::TutorialPage], "tutorials"); @@ -5951,6 +5919,7 @@ void DitaXmlGenerator::writeDitaMap(const Tree *tree) writeTopicrefs(nodeSubtypeMaps[Node::QmlModule], "QML modules"); writeTopicrefs(nodeSubtypeMaps[Node::QmlBasicType], "QML basic types"); + writeEndTag(); // endSubPage(); for (unsigned i=0; i"; - // doctype = ""; - xmlWriter().writeDTD(doctype); writeStartTag(DT_map); writeStartTag(DT_topicmeta); diff --git a/src/tools/qdoc/ditaxmlgenerator.h b/src/tools/qdoc/ditaxmlgenerator.h index ba96265b48..b3da02bce1 100644 --- a/src/tools/qdoc/ditaxmlgenerator.h +++ b/src/tools/qdoc/ditaxmlgenerator.h @@ -445,7 +445,7 @@ private: void writeDitaMap(const Tree* tree); void writeDitaMap(const DitaMapNode* node); void writeStartTag(DitaTag t); - void writeEndTag(DitaTag t=DT_NONE); + bool writeEndTag(DitaTag t=DT_NONE); DitaTag currentTag(); void clearSectionNesting() { sectionNestingLevel = 0; } int enterApiDesc(const QString& outputclass, const QString& title); @@ -455,7 +455,7 @@ private: int currentSectionNestingLevel() const { return sectionNestingLevel; } QString metadataDefault(DitaTag t) const; QString stripMarkup(const QString& src) const; - void collectNodesByTypeAndSubtype(const InnerNode* parent); + Node* collectNodesByTypeAndSubtype(const InnerNode* parent); void writeDitaRefs(const DitaRefList& ditarefs); void writeTopicrefs(NodeMultiMap* nmm, const QString& navtitle); bool isDuplicate(NodeMultiMap* nmm, const QString& key, Node* node); diff --git a/src/tools/qdoc/doc/config/qdoc-project.qdocconf b/src/tools/qdoc/doc/config/qdoc-project.qdocconf index d85058cd6a..2ac9107f38 100644 --- a/src/tools/qdoc/doc/config/qdoc-project.qdocconf +++ b/src/tools/qdoc/doc/config/qdoc-project.qdocconf @@ -28,8 +28,8 @@ exampledirs = .. \ imagedirs = ../../../doc/src/templates/images \ images -outputdir = $$MODULE_BUILD_TREE/tools/qdoc3/doc/html -tagfile = $$MODULE_BUILD_TREE/tools/qdoc3/doc/html/qdoc.tags +outputdir = $$MODULE_BUILD_TREE/tools/qdoc/doc/html +tagfile = $$MODULE_BUILD_TREE/tools/qdoc/doc/html/qdoc.tags qhp.projects = QDoc diff --git a/src/tools/qdoc/doc/config/qt-html-templates-online.qdocconf b/src/tools/qdoc/doc/config/qt-html-templates-online.qdocconf index af186f0568..f799fb3549 100644 --- a/src/tools/qdoc/doc/config/qt-html-templates-online.qdocconf +++ b/src/tools/qdoc/doc/config/qt-html-templates-online.qdocconf @@ -64,20 +64,22 @@ HTML.footer = \ "
\n" \ "

\n" \ " © 2012 Nokia Corporation and/or its\n" \ - " subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation \n" \ - " in Finland and/or other countries worldwide.

\n" \ - "

\n" \ - " All other trademarks are property of their respective owners. Privacy Policy

\n" \ + " subsidiaries. Documentation contributions included herein are the copyrights of\n" \ + " their respective owners.

\n" \ "
\n" \ "

\n" \ - " Licensees holding valid Qt Commercial licenses may use this document in accordance with the" \ - " Qt Commercial License Agreement provided with the Software or, alternatively, in accordance" \ - " with the terms contained in a written agreement between you and Nokia.

\n" \ + " The documentation provided herein is licensed under the terms of the\n" \ + " GNU Free Documentation\n" \ + " License version 1.3 as published by the Free Software Foundation.

\n" \ "

\n" \ - " Alternatively, this document may be used under the terms of the GNU\n" \ - " Free Documentation License version 1.3\n" \ - " as published by the Free Software Foundation.

\n" \ + " Documentation sources may be obtained from \n" \ + " www.qt-project.org.

\n" \ + "
\n" \ + "

\n" \ + " Nokia, Qt and their respective logos are trademarks of Nokia Corporation \n" \ + " in Finland and/or other countries worldwide. All other trademarks are property\n" \ + " of their respective owners. Privacy Policy

\n" \ "
\n" diff --git a/src/tools/qdoc/doc/config/qt-html-templates.qdocconf b/src/tools/qdoc/doc/config/qt-html-templates.qdocconf index 2e15140945..5172c2fd51 100644 --- a/src/tools/qdoc/doc/config/qt-html-templates.qdocconf +++ b/src/tools/qdoc/doc/config/qt-html-templates.qdocconf @@ -22,22 +22,24 @@ HTML.footer = \ " \n" \ " \n" \ "
\n" \ - "

\n" \ - " © 2012 Nokia Corporation and/or its\n" \ - " subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation \n" \ - " in Finland and/or other countries worldwide.

\n" \ - "

\n" \ - " All other trademarks are property of their respective owners. Privacy Policy

\n" \ - "
\n" \ - "

\n" \ - " Licensees holding valid Qt Commercial licenses may use this document in accordance with the" \ - " Qt Commercial License Agreement provided with the Software or, alternatively, in accordance" \ - " with the terms contained in a written agreement between you and Nokia.

\n" \ - "

\n" \ - " Alternatively, this document may be used under the terms of the GNU\n" \ - " Free Documentation License version 1.3\n" \ - " as published by the Free Software Foundation.

\n" \ + "

\n" \ + " © 2012 Nokia Corporation and/or its\n" \ + " subsidiaries. Documentation contributions included herein are the copyrights of\n" \ + " their respective owners.

\n" \ + "
\n" \ + "

\n" \ + " The documentation provided herein is licensed under the terms of the\n" \ + " GNU Free Documentation\n" \ + " License version 1.3 as published by the Free Software Foundation.

\n" \ + "

\n" \ + " Documentation sources may be obtained from \n" \ + " www.qt-project.org.

\n" \ + "
\n" \ + "

\n" \ + " Nokia, Qt and their respective logos are trademarks of Nokia Corporation \n" \ + " in Finland and/or other countries worldwide. All other trademarks are property\n" \ + " of their respective owners. Privacy Policy

\n" \ "
\n" \ # Files not referenced in any qdoc file. diff --git a/src/tools/qdoc/doc/qdoc-guide.qdoc b/src/tools/qdoc/doc/qdoc-guide.qdoc index c3b37822fb..33cc5c67fd 100644 --- a/src/tools/qdoc/doc/qdoc-guide.qdoc +++ b/src/tools/qdoc/doc/qdoc-guide.qdoc @@ -89,7 +89,7 @@ To run qdoc, the project configuration file is supplied as an argument. \code - qdoc3 project.qdocconf + qdoc project.qdocconf \endcode The project configuration contains information that qdoc uses to create the diff --git a/src/tools/qdoc/doc/qdoc-manual.qdoc b/src/tools/qdoc/doc/qdoc-manual.qdoc index 3e67579f2a..e6bdf5af27 100644 --- a/src/tools/qdoc/doc/qdoc-manual.qdoc +++ b/src/tools/qdoc/doc/qdoc-manual.qdoc @@ -26,7 +26,7 @@ ****************************************************************************/ /*! - \page index.html + \page qdoc-index.html \nextpage Introduction to QDoc \title Table of Contents @@ -138,11 +138,11 @@ \section1 Running QDoc - The current name of the QDoc program is \c {qdoc3}. To run qdoc3 + The current name of the QDoc program is \c {qdoc}. To run qdoc from the command line, give it the name of a configuration file: \quotation - \c {$ ../../bin/qdoc3 ./config.qdocconf} + \c {$ ../../bin/qdoc ./config.qdocconf} \endquotation QDoc recognizes the \c {.qdocconf} suffix as a \l{The QDoc @@ -2907,7 +2907,7 @@ \li Tutorial and Examples \endlist - \warning There appears to be a bug in qdoc3 here. If you include + \warning There appears to be a bug in qdoc here. If you include any of the argument types, you get a numeric list. We're looking into it. @@ -7062,7 +7062,7 @@ QDoc on the command line: \quotation - \c {/current/dir$ ../../bin/qdoc3 ./config.qdocconf} + \c {/current/dir$ ../../bin/qdoc ./config.qdocconf} \endquotation \section1 General Description @@ -7307,7 +7307,7 @@ looking for \e qt5. For example, this file would be: \code - ~/depot/qt5/qtdoc/tools/qdoc3/doc/qdoc-manual.qdoc + ~/depot/qt5/qtdoc/tools/qdoc/doc/qdoc-manual.qdoc \endcode QDoc scans the path for the basedir \e{qt5} and the next subdirectory @@ -7365,7 +7365,7 @@ line using the -D option. For example: \code - currentdirectory$ qdoc3 -Dconsoleedition qt.qdocconf + currentdirectory$ qdoc -Dconsoleedition qt.qdocconf \endcode In this case the -D option ensures that the \c consoleedition diff --git a/src/tools/qdoc/main.cpp b/src/tools/qdoc/main.cpp index 11a54b4d38..85e97cdec9 100644 --- a/src/tools/qdoc/main.cpp +++ b/src/tools/qdoc/main.cpp @@ -76,6 +76,7 @@ QT_BEGIN_NAMESPACE /* 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. @@ -87,6 +88,7 @@ static const struct { } defaults[] = { { CONFIG_CODEINDENT, "4" }, { CONFIG_FALSEHOODS, "0" }, + { CONFIG_FILEEXTENSIONS, "*.cpp *.h *.qdoc *.qml"}, { CONFIG_LANGUAGE, "Cpp" }, { CONFIG_OUTPUTFORMATS, "HTML" }, { CONFIG_TABSIZE, "8" }, @@ -173,27 +175,6 @@ static void processQdocconfFile(const QString &fileName) Location::initialize(config); config.load(fileName); - QStringList sourceModules; - sourceModules = config.getStringList(CONFIG_SOURCEMODULES); - Location sourceModulesLocation = config.lastLocation(); - - if (!sourceModules.isEmpty()) { - Location::information(tr("qdoc will generate documentation for the modules found in the sourcemodules variable.")); - foreach (const QString& sourceModule, sourceModules) { - QString qdocconf = sourceModule; - if (!qdocconf.endsWith(".qdocconf")) - qdocconf += "/doc/config/module.qdocconf"; - QFile f(qdocconf); - if (!f.exists()) { - sourceModulesLocation.warning(tr("Can't find module's qdoc config file '%1'").arg(qdocconf)); - } - else { - Location::information(tr(" Including: %1").arg(qdocconf)); - config.load(qdocconf); - } - } - } - /* Add the defines to the configuration variables. */ diff --git a/src/tools/qdoc/node.cpp b/src/tools/qdoc/node.cpp index 13c51c721d..e4350f1d9e 100644 --- a/src/tools/qdoc/node.cpp +++ b/src/tools/qdoc/node.cpp @@ -98,6 +98,7 @@ Node::Node(Type type, InnerNode *parent, const QString& name) safeness_(UnspecifiedSafeness), pageType_(NoPageType), status_(Commendable), + indexNodeFlag_(false), parent_(parent), relatesTo_(0), name_(name) @@ -513,8 +514,8 @@ QString Node::ditaXmlHref() else { href = fileBase(); } - if (!href.endsWith(".xml")) - href += ".xml"; + if (!href.endsWith(".xml") && !href.endsWith(".dita")) + href += ".dita"; return href + QLatin1Char('#') + guid(); } diff --git a/src/tools/qdoc/node.h b/src/tools/qdoc/node.h index 440b22dc04..8c6eb673cd 100644 --- a/src/tools/qdoc/node.h +++ b/src/tools/qdoc/node.h @@ -173,6 +173,8 @@ public: void setPageType(PageType t) { pageType_ = t; } void setPageType(const QString& t); void setParent(InnerNode* n) { parent_ = n; } + void setIndexNodeFlag() { indexNodeFlag_ = true; } + virtual void setOutputFileName(const QString& ) { } virtual bool isInnerNode() const = 0; virtual bool isReimp() const { return false; } @@ -183,6 +185,7 @@ public: virtual bool isAbstract() const { return false; } virtual void setAbstract(bool ) { } virtual QString title() const { return QString(); } + bool isIndexNode() const { return indexNodeFlag_; } Type type() const { return nodeType_; } virtual SubType subType() const { return NoSubType; } InnerNode* parent() const { return parent_; } @@ -192,6 +195,7 @@ public: QString moduleName() const; QString url() const; virtual QString nameForLists() const { return name_; } + virtual QString outputFileName() const { return QString(); } Access access() const { return access_; } QString accessString() const; @@ -240,13 +244,16 @@ protected: private: -#ifdef Q_WS_WIN Type nodeType_; Access access_; ThreadSafeness safeness_; PageType pageType_; Status status_; -#else + bool indexNodeFlag_; + +#if 0 + //ifdef Q_WS_WIN + //else Type nodeType_ : 4; Access access_ : 2; ThreadSafeness safeness_ : 2; @@ -319,6 +326,8 @@ public: virtual void addPageKeywords(const QString& t) { pageKeywds << t; } virtual void setCurrentChild() { } virtual void setCurrentChild(InnerNode* ) { } + virtual void setOutputFileName(const QString& f) { outputFileName_ = f; } + virtual QString outputFileName() const { return outputFileName_; } protected: InnerNode(Type type, InnerNode* parent, const QString& name); @@ -332,6 +341,7 @@ private: void removeRelated(Node* pseudoChild); void removeChild(Node* child); + QString outputFileName_; QStringList pageKeywds; QStringList inc; NodeList children; diff --git a/src/tools/qdoc/pagegenerator.cpp b/src/tools/qdoc/pagegenerator.cpp index d8c3babe2e..6a52b7755a 100644 --- a/src/tools/qdoc/pagegenerator.cpp +++ b/src/tools/qdoc/pagegenerator.cpp @@ -298,6 +298,7 @@ void PageGenerator::beginSubPage(const InnerNode* node, const QString& fileName) if (outputCodec) out->setCodec(outputCodec); outStreamStack.push(out); + const_cast(node)->setOutputFileName(fileName); } /*! diff --git a/src/tools/qdoc/qdoc.pro b/src/tools/qdoc/qdoc.pro index fca5a3daf4..03de9f91df 100644 --- a/src/tools/qdoc/qdoc.pro +++ b/src/tools/qdoc/qdoc.pro @@ -9,9 +9,14 @@ DEFINES -= QT_NO_CAST_FROM_ASCII DEFINES += QT_NO_TRANSLATION INCLUDEPATH += $$QT_SOURCE_TREE/src/tools/qdoc \ - $$QT_SOURCE_TREE/src/tools/qdoc/qmlparser + $$QT_SOURCE_TREE/src/tools/qdoc/qmlparser \ + $$QT_BUILD_TREE/include/QtXml \ + $$QT_BUILD_TREE/include/QtXml/$$QT.xml.VERSION \ + $$QT_BUILD_TREE/include/QtXml/$$QT.xml.VERSION/QtXml + DEPENDPATH += $$QT_SOURCE_TREE/src/tools/qdoc \ - $$QT_SOURCE_TREE/src/tools/qdoc/qmlparser + $$QT_SOURCE_TREE/src/tools/qdoc/qmlparser \ + $$QT_SOURCE_TREE/src/xml # Increase the stack size on MSVC to 4M to avoid a stack overflow win32-msvc*:{ @@ -68,7 +73,9 @@ SOURCES += atom.cpp \ text.cpp \ tokenizer.cpp \ tree.cpp \ - yyindent.cpp + yyindent.cpp \ + ../../xml/dom/qdom.cpp \ + ../../xml/sax/qxml.cpp ### QML/JS Parser ### diff --git a/src/tools/qdoc/quoter.cpp b/src/tools/qdoc/quoter.cpp index 0c16acbe73..9ae2a31236 100644 --- a/src/tools/qdoc/quoter.cpp +++ b/src/tools/qdoc/quoter.cpp @@ -125,7 +125,7 @@ Quoter::Quoter() //! [] * .pro, .py files: #! [] - * .html, .qrc, .ui, .xq, .xml files: + * .html, .qrc, .ui, .xq, .xml .dita files: */ commentHash["pro"] = "#!"; @@ -134,6 +134,7 @@ Quoter::Quoter() commentHash["qrc"] = "